Freigeben über


Übersicht über JScript-IntelliSense

IntelliSense für Microsoft JScript erleichtert den Zugriff auf Elemente für die Programmierung von Clientskripts im Code-Editor von Visual Studio oder Microsoft Visual Web Developer Express. IntelliSense bietet direkt während der Eingabe des Clientskriptcodes Auswahlmöglichkeiten, wie Eigenschaften, Funktionen und Objekte, die für den jeweiligen Codekontext geeignet sind. Sie müssen den Code-Editor nicht verlassen, um nach Syntax- oder Parameterdokumentationen zu suchen. Sie können stattdessen die benötigten Informationen suchen und Sprachelemente direkt in den Code einfügen, während Sie sich weiterhin im Code-Editor befinden. IntelliSense für JScript funktioniert auf ähnliche Weise wie IntelliSense für Sprachen mit verwaltetem Code.

Dieses Thema enthält folgende Abschnitte:

  • Hintergrund

  • JScript-IntelliSense-Features

  • Grundlagen zu JScript-IntelliSense-Fehlern

  • Zusätzliche Ressourcen

Weitere Informationen über die IntelliSense-Funktionalität von Visual Studio finden Sie unter Verwenden von IntelliSense.

Hintergrund

IntelliSense hilft Ihnen dabei, Code schneller und mit weniger Fehlern zu schreiben, indem Sie relevante Informationen direkt bei der Eingabe von Code zur Hand haben. Während Sie mit Clientskripts arbeiten, listet IntelliSense die Objekte, Funktionen, Eigenschaften und Parameter, die im aktuellen Kontext für Sie verfügbar sind, direkt auf. Sie können eine Codierungsoption aus der von IntelliSense bereitgestellten Popupliste auswählen, um den Code zu vervollständigen.

IntelliSense vereinfacht die Ausführung folgender Aufgaben:

  • Suchen nach Memberinformationen

  • Einfügen von Sprachelementen direkt in den Code

  • Beibehalten des Kontexts, ohne den Code-Editor verlassen zu müssen

  • Unterstützung benutzerdefinierter IntelliSense-Elemente mit XML-Codekommentaren

Funktionsweise von JScript-IntelliSense

JScript-IntelliSense bietet die Möglichkeit, Codeelemente auszuwählen, die für den gesamten Skriptcode in Ihrem aktuellen Programmierkontext geeignet sind. Dies beinhaltet nicht nur Skriptelemente in der aktuellen Datei, sondern auch den gesamten Code auf den direkt oder indirekt vom Skript verwiesen wird, also Verweise auf Skriptdateien, Assemblyskripts, Dienste sowie seitenbezogene Verweise.

Bestimmen des IntelliSense-Kontexts

Der aktuelle Programmierkontext wird auf Grundlage der folgenden Elemente erstellt:

  • Die Funktionen, die im aktuellen Skriptblock definiert sind. Inline-Skriptblöcke werden in Dateien mit folgenden Dateinamenerweiterungen unterstützt: .aspx., .ascx, .master, .html und .htm.

  • Jedes script-Element, das ein src-Attribut enthält, das auf eine Skriptdatei verweist. Die Zielskriptdatei muss über die Dateinamenerweiterung .js verfügen.

  • JScript-Dateien, die über die references-Direktive auf andere JScript-Dateien verweisen.

  • Verweise auf XML-Webdienste.

  • Das ScriptManager-Steuerelement und das ScriptManagerProxy-Steuerelement, wenn die Webanwendung eine ASP.NET-AJAX-Anwendung ist.

  • Microsoft Ajax Library, wenn Sie in einer AJAX-fähigen ASP.NET-Webanwendung arbeiten.

    Tipp

    Skripts in Ereignishandlerattributen für HTML-Elemente oder in href-Attributen definierte Skripts werden von IntelliSense nicht unterstützt.

Verarbeiten von IntelliSense-Informationen

Visual Studio führt zur Bereitstellung von JScript-IntelliSense folgende Vorgänge aus:

  • Erstellen einer Liste abhängiger JScript-Dateien, die auf Verweisen im aktiven Dokument basieren, sowie auf rekursiven Überprüfungen der Skriptverweise in den Dateien, auf die verwiesen wird.

  • Durchlaufen der Liste und Erfassen von Typinformationen sowie anderer relevanter Daten aus den einzelnen Dateien.

  • Aggregieren und Übergeben der Daten an das JScript-Modul, über das die Typinformationen und Daten für IntelliSense bereitgestellt werden.

  • Überwachen der Dateien auf Änderungen, die sich auf die IntelliSense-Liste auswirken könnten, und Aktualisieren der Liste nach Bedarf.

Zurück nach oben

JScript-IntelliSense-Features

JScript-IntelliSense unterstützt die folgenden Objekte:

  • Elemente des Dokumentobjektmodells (DOM)

  • Systeminterne Objekte

  • Benutzerdefinierte Variablen, Funktionen und Objekte

  • Externe Dateiverweise

  • XML-Codekommentare

  • ASP.NET-AJAX-Objekte

HTML-DOM-Elemente

JScript-IntelliSense umfasst Programmierreferenzen für Dynamic HTML (DHTML)-DOM-Elemente, z. B. body, form und div. Nur die Elemente, die im aktuellen Dokument enthalten sind, und die Masterseite werden von IntelliSense angezeigt. JScript-IntelliSense unterstützt außerdem das window-Objekt und das document-Objekt sowie zugehörige Member.

Systeminterne Objekte

JScript-IntelliSense umfasst Programmierreferenzen für die systemeigenen und -internen Objekte Array, String, Math, Date und Number. Weitere Informationen zu systeminternen Objekten finden Sie unter Systeminterne Objekte.

Benutzerdefinierte Variablen, Funktionen und Objekte

Wenn Sie eine JScript-Datei ändern, werden Dokumente, die geöffnet sind und auf die verwiesen wird, von Visual Studio überprüft, um alle verfügbaren Coderessourcen zu ermitteln. Dies schließt auch die von Ihnen erstellten Variablen, Funktionen und Objekte ein. Diese Ressourcen stehen dann für JScript-IntelliSense zur Verfügung.

Weitere Informationen zu benutzerdefinierten Variablen, Funktionen und Objekten finden Sie unter Creating Your Own Objects auf der MSDN-Website.

Externe Dateiverweise

Anstatt das gesamte Clientskript auf einer Seite zu schreiben, können Sie auf externe Dateien verweisen, die Skriptcode enthalten. Auf diese Weise können Sie Code einfach seitenübergreifend wiederverwenden, und das Clientskript kann vom Browser zwischengespeichert werden.

Bei Verwendung einer ASP.NET-AJAX-fähigen Webseite können Sie mithilfe des ScriptReference-Objekts des ScriptManager-Steuerelements auf Skriptdateien verweisen.

Das folgende Beispiel enthält Markup, das ein ScriptReference-Objekt in einem ScriptManager-Steuerelement zum Verweisen auf eine Skriptdatei verwendet.

<asp:ScriptManager ID="ScriptManager1" runat="server">
  <Scripts>
    <asp:ScriptReference Path="~/Scripts/JScript.js" />
  </Scripts>
</asp:ScriptManager>

Wenn Sie keine ASP.NET-AJAX-fähige Webseite verwenden, können Sie mit dem src-Attribut im Starttag eines script-Elements auf externe Skriptdateien verweisen. Das src-Attribut gibt die URL zu einer externen Datei an, die den Quellcode oder die Daten enthält.

Das folgende Beispiel enthält Markup, das das src-Attribut in einem <script>-Tag zum Verweisen auf eine Skriptdatei verwendet.

<script type="text/javascript" src="~/Scripts/JScript.js">
  
</script>

IntelliSense bietet zusätzlich Unterstützung für Skriptdateien, die als Ressourcen in einer Assembly in ASP.NET-AJAX-Webanwendungen eingebettet sind. Weitere Informationen zu eingebetteten Skriptressourcen finden Sie unter Exemplarische Vorgehensweise: Einbetten einer JavaScript-Datei als Ressource in eine Assembly.

References-Direktiven

Mithilfe einer references-Direktive kann Visual Studio eine Beziehung zwischen dem gerade von Ihnen bearbeiteten und anderen Skripts herstellen. Die references-Direktive bietet Ihnen die Möglichkeit, eine Skriptdatei in den Skriptkontext der aktuellen Skriptdatei einzubeziehen. Dadurch kann IntelliSense auf extern definierte Funktionen, Typen und Felder verweisen, während Sie den Code erstellen.

Sie erstellen eine references-Direktive in Form eines XML-Kommentars. Die Direktive muss in der Datei vor allen möglichen Skripts deklariert werden. Eine reference-Direktive kann Skriptverweise enthalten, die auf Datenträgern, Assemblys, Diensten oder Seiten basieren.

Im Folgenden wird anhand verschiedener Beispiele die Verwendung datenträgerbasierter Reference-Direktiven veranschaulicht.

/// <reference path="ScriptFile1.js" />

/// <reference path="Scripts/ScriptFile2.js" />

/// <reference path="../ScriptFile3.js" />

/// <reference path="~/Scripts/ScriptFile4.js" />

Das folgende Beispiel zeigt, wie ein Verweis auf ein assemblybasiertes Skript erstellt wird.

/// <reference name "Ajax.js" assembly="System.Web.Extensions, ..." />

Das folgende Beispiel zeigt, wie auf ein dienstbasiertes Skript verwiesen wird:

/// <reference path="MyService.asmx" />

/// <reference path="Services/MyService.asmx" />

/// <reference path="../MyService.asmx" />

/// <reference path="~/Services/MyService.asmx" />

Tipp

Bei Skripts innerhalb von Webdienstdateien (.asmx) in Webanwendungsprojekten (WAP) wird JScript-IntelliSense nicht unterstützt.

Das folgende Beispiel zeigt, wie auf ein seitenbasiertes Skript verwiesen wird.

/// <reference path="Default.aspx" />

/// <reference path="Admin/Default.aspx" />

/// <reference path="../Default.aspx" />

/// <reference path="~/Admin/Default.aspx" />

Die folgenden Regeln beziehen sich auf eine reference-Direktive.

  • Der reference-XML-Kommentar muss vor allen möglichen Skripts deklariert werden.

  • Es muss XML-Kommentarsyntax mit drei Schrägstrichen verwendet werden. Verweise, die unter Verwendung der standardmäßigen Kommentarsyntax (zwei Schrägstriche) erstellt wurden, werden ignoriert.

  • Pro Direktive kann nur eine Datei oder Ressource angegeben werden.

  • Mehrere Verweise auf seitenbasierte Skripts sind nicht zulässig.

  • Wenn ein Seitenverweis angegeben wird, ist kein anderer Reference-Direktiventyp zulässig.

  • Dateinamen verwenden relative Pfade. Sie können den Tildeoperator (~) verwenden, um Pfade relativ zum Stammverzeichnis der Anwendung anzugeben.

  • Absolute Pfade werden ignoriert.

  • Verweise auf Dateien außerhalb des aktuellen Projekts werden ignoriert.

  • Reference-Direktiven in Seiten, auf die verwiesen wird, werden nicht verarbeitet. Dies bedeutet, dass Reference-Direktiven für Seiten nicht rekursiv aufgelöst werden. Es wird nur Skriptcode berücksichtigt, auf den direkt von der Seite verwiesen wird.

XML-Codekommentare

XML-Codekommentare sind Textbeschreibungen, die Sie Skripts hinzufügen. Diese Textbeschreibungen werden mit IntelliSense angezeigt, wenn Sie auf das kommentierte Skript verweisen. XML-Codekommentare sind nur in den Dateien, Assemblys und Diensten verfügbar, auf die verwiesen wurde.

Sie können XML-Codekommentare verwenden, um eine Zusammenfassung sowie Informationen zu Parametern und dem Rückgabewert einer Funktion bereitzustellen. Das folgende Beispiel enthält ein Skript, in dem XML-Codekommentare verwendet werden:

function areaFunction(radiusParam)
{
    /// <summary>Determines the area of a cicle based on a radius parameter.</summary>
    /// <param name="radius" type="Number">The radius of the circle.</param>
    /// <returns type="Number">Returns a number that represents the area.</returns>
    var areaVal;
    areaVal = Math.PI * radiusParam * radiusParam;
    return areaVal;
}

IntelliSense kann Codeverweise für XML-Kommentare in den folgenden Szenarien zu Dateiverweisen anzeigen:

  • ASPX-Datei, die auf eine JS-Datei verweist.

  • JS-Datei, die auf eine andere JS-Datei verweist.

  • JS-Datei, die auf eine ASPX-Datei verweist.

IntelliSense ist nicht verfügbar, wenn eine ASPX-Datei auf eine andere ASPX-Datei verweist.

Weitere Informationen zum Hinzufügen von XML-Codekommentaren für JScript-IntelliSense finden Sie unter Exemplarische Vorgehensweise: JScript-IntelliSense.

ASP.NET-AJAX-Objekte

JScript-IntelliSense wird außerdem von ASP.NET-AJAX unterstützt. ASP.NET-AJAX umfasst ein Clientframework, durch das die in ECMAScript (JavaScript und JScript) verfügbaren Standardtypen erweitert werden. Damit JScript-IntelliSense Einzelheiten zu ASP.NET-AJAX-Objekten bereitstellen kann, müssen XML-Codekommentare über Microsoft Ajax Library hinzugefügt werden. Diese XML-Codekommentare werden angezeigt, wenn Sie Typen und Member aus der ASP.NET-AJAX-Bibliothek verwenden.

Tipp

Private Member werden nicht von JScript-IntelliSense angezeigt. Private Member werden in ASP.NET-AJAX als Member gekennzeichnet, die mit einem Unterstrich (_) beginnen.

Grundlagen zu JScript-IntelliSense-Fehlern

Das JScript-IntelliSense-Modul in Visual Studio stellt automatisch eine Validierung bereit, bei der Links zu Skriptverweisen und die Präprozessorausführung überprüft werden. Die Validierung von Links zu Skriptverweisen wird auf der Grundlage des aktuellen Programmierkontexts bestimmt. Wenn ein bestimmter Verweis nicht gefunden wird, gibt Visual Studio Fehlerinformationen über den Verweis aus. Präprozessorfehler werden ausgegeben, wenn die Ausführung abhängiger Dateien einen Fehler verursacht.

Weitere Informationen dazu, wie die Validierung von Links bestimmt wird, finden Sie unter Bestimmen des IntelliSense-Kontexts. Weitere Informationen dazu, wie Präprozessorfehler bestimmt werden, finden Sie unter Verarbeiten von IntelliSense-Informationen.

Aufrufen der JScript-Validierung

In Visual Studio wird die JScript-IntelliSense-Validierung auf zwei Weisen aufgerufen:

  • Im Leerlauf. Die Validierung wird in allen aktiven Dokumenten, die Skriptcode enthalten, im Leerlauf automatisch aufgerufen.

  • Manuell. Sie können die JScript-IntelliSense-Validierung auch manuell aufrufen. Klicken Sie dazu im Menü Bearbeiten auf Erweitert, und klicken Sie dann auf Gültigkeit des Dokuments überprüfen. Dieser Befehl gilt für alle geöffneten Dokumente.

Validierungsergebnisse

Wenn Skriptverweise von Visual Studio nicht aufgelöst werden können oder durch andere Skriptfehler verhindert wird, dass das IntelliSense-Modul vollständige Ergebnisse aus dem aktuellen Skriptkontext erfasst, stellt Visual Studio auf folgende Weisen Feedback bereit:

  • Unterstrichene Elemente im Editor. Wellenförmige rote Unterstreichungen weisen auf Fehler hin. Wenn Sie den Mauszeiger über den Fehler bewegen, wird die Fehlerbeschreibung in einer QuickInfo angezeigt.

  • Fenster Fehlerliste. Im Fenster Fehlerliste werden die Fehlerbeschreibung, die Datei, in der der Fehler aufgetreten ist, Zeilen- und Spaltennummer und das Projekt angezeigt. Klicken Sie im Menü Ansicht auf die Option Fehlerliste, um das Fenster Fehlerliste anzuzeigen.

Zurück nach oben

Zusätzliche Ressourcen

Exemplarische Vorgehensweise: JScript-IntelliSense

Gewusst wie: Erstellen von JScript-XML-Codekommentaren

Zurück nach oben

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: JScript-IntelliSense

Dynamisches Zuweisen von Skriptverweisen

Referenz

Member auflisten

Weitere Ressourcen

Verwenden von IntelliSense

Informationen zum DHTML-Objektmodell

JScript-Objekte

SRC-Attribut | src-Eigenschaft