IntelliSense in Visual Studio
IntelliSense ist eine Codevervollständigen-Hilfe, die Features enthält, die Ihnen helfen, mehr über den verwendeten Code zu erfahren, die eingegebenen Parameter nachzuverfolgen und Aufrufe von Eigenschaften und Methoden mit nur wenigen Tastenanschlägen hinzuzufügen.
Zu diesen Features gehören:
Viele Aspekte von IntelliSense sind sprachspezifisch. Weitere Informationen zu IntelliSense für verschiedene Sprachen finden Sie in den Artikeln, die im Abschnitt Verwandte Inhalte aufgeführt sind.
Member auflisten
Eine Liste gültiger Member von einem Typ (oder Namespace) wird angezeigt, nachdem Sie ein Triggerzeichen eingegeben haben, beispielsweise einen Punkt (.
) im verwalteten Code oder ::
in C++. Wenn Sie weitere Zeichen eingeben, wird die Liste nach Membern gefiltert, deren Namen mit den Zeichen beginnen oder die ein beliebiges Wort enthalten, das mit diesen Zeichen anfängt. IntelliSense führt außerdem einen Abgleich für Zeichenketten mit gemischter Groß- und Kleinschreibung durch, sodass Sie nur den ersten Buchstaben des klein oder groß geschriebenen Worts innerhalb der Zeichenkette eingeben müssen, damit Ihnen die Membernamen angezeigt werden.
Nachdem Sie ein Element ausgewählt haben, können Sie es in Ihren Code einfügen, indem Sie TAB- drücken oder ein Leerzeichen eingeben. Wenn Sie ein Element auswählen und einen Punkt eingeben, wird das Element gefolgt von dem Punkt angezeigt. Dadurch wird eine andere Memberliste aufgerufen. Wenn Sie ein Element auswählen, aber bevor Sie es einfügen, erhalten Sie QuickInfo- für das Element.
In der Memberliste stellt das Symbol links den Elementtyp dar, z. B. Namespace, Klasse, Funktion oder Variable. Die Liste kann lang sein, sodass Sie PgUp- und PgDn- drücken können, um in der Liste nach oben oder unten zu navigieren.
Sie können das Feature „Members auflisten“ manuell aufrufen, indem Sie STRG+J drücken, auf Bearbeiten>IntelliSense>Members auflisten klicken, oder indem Sie auf die Schaltfläche Members auflisten auf der Symbolleiste des Editors klicken. Wenn sie in einer leeren Zeile oder außerhalb eines erkennbaren Bereichs aufgerufen wird, werden in der Liste Symbole im globalen Namespace angezeigt.
Um Listenmitglieder standardmäßig zu deaktivieren, sodass sie nur angezeigt werden, wenn sie ausdrücklich aufgerufen werden, wechseln Sie zu Tools>Optionen>Text-Editor>Alle Sprachen und deaktivieren Sie Automatische Listenelemente. Wenn Sie die Auflistung der Member nur für eine bestimmte Sprache deaktivieren möchten, wechseln Sie zu den Einstellungen Allgemein für diese Sprache.
Sie können auch in den Vorschlagsmodus wechseln, in dem nur der eingegebene Text in den Code eingefügt wird. Wenn Sie beispielsweise einen Bezeichner eingeben, der nicht in der Liste enthalten ist, und drücken Sie TAB-, ersetzt der Eintrag den eingegebenen Bezeichner im Abschlussmodus. Um zwischen dem Vervollständigungsmodus und dem Vorschlagsmodus zu wechseln, drücken Sie STRG+ALT+LEERTASTE, oder klicken Sie auf Bearbeiten>IntelliSense>Vervollständigungsmodus umschalten.
Sie können auch in den Vorschlagsmodus wechseln, in dem nur der eingegebene Text in den Code eingefügt wird. Wenn Sie beispielsweise einen Bezeichner eingeben, der nicht in der Liste enthalten ist, und drücken Sie TAB-, würde der Eintrag im Abschlussmodus den eingegebenen Bezeichner ersetzen. Um zwischen Vervollständigungs- und Vorschlagsmodus zu wechseln, drücken Sie STRG+ALT+LEERTASTE, oder wählen Sie Bearbeiten>IntelliSense>Zwischen automatischer und tabstoppbasierter IntelliSense-Vervollständigung umschalten aus.
Parameterinformationen
Parameter Info liefert Informationen über die Anzahl, Namen und Typen von Parametern, die von einer Methode, einem Attribut-Generikaparameter (in C#) oder einer Vorlage (in C++) benötigt werden.
Der Parameter fett formatiert gibt den nächsten Parameter an, der beim Eingeben der Funktion erforderlich ist. Bei überladenen Funktionen können Sie die NACH-OBEN- und nach unten Pfeiltasten verwenden, um alternative Parameterinformationen für die Funktionsüberladungen anzuzeigen.
Wenn Sie Funktionen und Parameter mit XML-Dokumentationskommentaren kommentieren, werden die Kommentare als Parameterinformationen angezeigt. Weitere Informationen finden Sie unter Anzeigen von XML-Codekommentaren.
Sie können die Parameterinformation manuell aufrufen, indem Sie auf Bearbeiten>IntelliSense>Parameterinfo klicken, indem Sie STRG+UMSCHALT+LEERTASTE drücken, oder indem Sie auf die Schaltfläche Parameterinfo auf der Symbolleiste des Editors klicken.
Schnellinfos
QuickInfo zeigt die vollständige Deklaration für jeden Bezeichner in Ihrem Code an.
Wenn Sie ein Mitglied im Feld "Mitglieder auflisten" auswählen, wird auch QuickInfo angezeigt.
Sie können QuickInfo manuell aufrufen, indem Sie Bearbeiten>IntelliSense>QuickInfoauswählen, indem Sie STRG+Kdrücken, STRG+I, oder indem Sie die Schaltfläche QuickInfo auf der Editorsymbolleiste auswählen.
Wenn eine Funktion überladen ist, zeigt IntelliSense möglicherweise keine Informationen für alle Formen der Überladung an.
Sie können QuickInfo für C++-Code deaktivieren, indem Sie zu Tools>Optionen>Text-Editor>C/C++>Erweitertennavigieren und Auto QuickInfo- auf false
festlegen.
Word fertigstellen
Wort vervollständigen ergänzt den Rest eines Variablen-, Befehls- oder Funktionsnamens, sobald Sie so viele Zeichen eingegeben haben, dass der Name eindeutig erkannt werden kann. Sie können „Wort vervollständigen“ aufrufen, indem Sie auf Bearbeiten>IntelliSense>Wort vervollständigen klicken, STRG+LEERTASTE drücken oder auf die Schaltfläche Wort vervollständigen auf der Symbolleiste des Editors klicken.
IntelliSense-Optionen
IntelliSense-Optionen sind standardmäßig aktiviert. Um sie zu deaktivieren, wechseln Sie zu Extras>Optionen>Text-Editor>Alle Sprachen, und deaktivieren Sie Parameterinformationen oder Member automatisch auflisten, wenn Sie das Feature „Member auflisten“ nicht verwenden möchten.
Tipp
Wenn Sie die Darstellung von Benutzeroberflächenelementen in Visual Studio ändern möchten, wechseln Sie zu Tools>Optionen>Umgebung>Schriftarten und Farben. Weitere Informationen zu diesen Einstellungen und deren Interaktion finden Sie im Dialogfeld Schriftarten und Farben, Umgebung, Optionen.
IntelliSense-Symbole
Die Symbole in IntelliSense können mit Symbolmodifizierern zusätzliche Bedeutung vermitteln. Dabei handelt es sich um Sterne, Herzen und Schlösser, die über dem Objektsymbol liegen und jeweils „gesperrt“, „intern“ oder „privat“ bedeuten.
Ikone | Zugänglichkeit | Beschreibung |
---|---|---|
![]() |
Öffentliche Klasse | Der Zugriff ist nicht eingeschränkt. |
![]() |
Geschützte Klasse | Access ist auf die von der enthaltenden Klasse abgeleiteten Klassen oder Typen beschränkt. |
![]() |
Geschützte interne Klasse | Access ist auf die aktuelle Assembly oder Typen beschränkt, die von der enthaltenden Klasse abgeleitet sind. |
![]() |
Interne Klasse | Der Zugriff ist auf die aktuelle Assembly beschränkt. |
![]() |
Privater Kurs | Access ist auf die enthaltende Klasse oder Typen beschränkt, die von der enthaltenden Klasse innerhalb der aktuellen Assembly abgeleitet sind. (Verfügbar seit C# 7.2.) |
Fehlerbehebung bei IntelliSense
Die IntelliSense-Optionen funktionieren in bestimmten Fällen möglicherweise nicht wie erwartet.
Der Cursor befindet sich unter einem Codefehler: Möglicherweise können Sie IntelliSense nicht verwenden, wenn eine unvollständige Funktion oder ein anderer Fehler im Code oberhalb des Cursors vorhanden ist, da IntelliSense die Codeelemente möglicherweise nicht analysieren kann. Sie können dieses Problem beheben, indem Sie den entsprechenden Code kommentieren.
Der Cursor befindet sich in einem Codekommentar: Sie können IntelliSense nicht verwenden, wenn sich der Cursor in einem Kommentar in der Quelldatei befindet.
Der Cursor befindet sich in einem Zeichenfolgenliteral: Sie können IntelliSense nicht verwenden, wenn sich der Cursor innerhalb der Anführungszeichen um ein Zeichenfolgenliteral befindet, wie im folgenden Beispiel dargestellt:
MessageBox( hWnd, "String literal|")
Die automatischen Optionen sinddeaktiviert: Standardmäßig funktioniert IntelliSense automatisch, aber Sie können sie deaktivieren. Auch wenn die automatische Vervollständigung von Anweisungen deaktiviert ist, können Sie eine IntelliSense-Funktion aufrufen.