IntelliSense in Visual StudioIntelliSense in Visual Studio

IntelliSense hilft bei der Codevervollständigung und enthält eine Reihe von Features: Member auflisten, Parameterinfo, QuickInfo und Wort vervollständigen.IntelliSense is a code-completion aid that includes a number of features: List Members, Parameter Info, Quick Info, and Complete Word. Mithilfe dieser Features erfahren Sie mehr über den verwendeten Code. Sie können die eingegebenen Parameter verfolgen und mit wenigen Tastaturanschlägen Eigenschaften und Methoden zu Aufrufen hinzufügen.These features help you to learn more about the code you're using, keep track of the parameters you're typing, and add calls to properties and methods with only a few keystrokes.

Viele Aspekte von IntelliSense sind sprachspezifisch.Many aspects of IntelliSense are language-specific. Weitere Informationen zu IntelliSense für verschiedene Sprachen finden Sie in den Artikeln, die im Abschnitt Siehe auch aufgeführt sind.For more information about IntelliSense for different languages, see the topics listed in the See also section.

Member auflistenList Members

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++.A list of valid members from a type (or namespace) appears after you type a trigger character (for example, a period (.) in managed code or :: 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.If you continue typing characters, the list is filtered to include only the members that begin with those characters or where the beginning of any word within the name starts with those characters. 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.IntelliSense also performs "camel case" matching, so you can just type the first letter of each camel-cased word in the member name to see the matches.

Sobald Sie ein Element ausgewählt haben, können Sie es in den Code einfügen, indem Sie die TAB-TASTE drücken oder einen Leerraum eingeben.After selecting an item, you can insert it into your code by pressing Tab or by typing a space. Wenn Sie ein Element auswählen und einen Punkt eingeben, wird das Element gefolgt von dem Punkt angezeigt. Dadurch wird eine andere Memberliste aufgerufen.If you select an item and type a period, the item appears followed by the period, which brings up another member list. Wenn Sie ein Element auswählen, bevor Sie es einfügen, erhalten Sie QuickInfos über das Element.When you select an item but before you insert it, you get Quick Info for the item.

In der Memberliste stellt das Symbol auf der linken Seite den Membertyp dar, z. B. Namespace, Klasse, Funktion oder Variable.In the member list, the icon to the left represents the type of the member, such as namespace, class, function, or variable. Eine Liste der Symbole finden Sie unter Symbole in der Klassenansicht und im Objektkatalog.For a list of icons, see Class View and Object Browser icons. Die Liste kann ziemlich lang sein, aber Sie können BILD-AUF und BILD-AB drücken, um nach oben oder unten zu navigieren.The list may be quite long, so you can press PgUp and PgDn to move up or down in the list.

Visual Studio, Member-Liste

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.You can invoke the List Members feature manually by typing Ctrl+J, choosing Edit > IntelliSense > List Members, or by choosing the List Members button on the editor toolbar. Wenn die Memberliste in einer Leerzeile oder außerhalb eines erkennbaren Gültigkeitsbereichs aktiviert wird, werden Symbole im globalen Namespace angezeigt.When it is invoked on a blank line or outside a recognizable scope, the list displays symbols in the global namespace.

Rufen Sie Extras > Optionen > Alle Sprachen auf, und deaktivieren Sie Members automatisch auflisten, um die Auflistung der Members standardmäßig zu deaktivieren (sodass sie nur noch nach einem speziellem Aufruf angezeigt wird).To turn List Members off by default (so that it does not appear unless specifically invoked), go to Tools > Options > All Languages and deselect Auto list members. 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.If you want to turn off List Members only for a specific language, go to the General settings for that language.

Sie können auch in den Vorschlagsmodus wechseln, in dem nur der von Ihnen eingegebene Text in den Code eingefügt wird.You can also change to suggestion mode, in which only the text you type is inserted into the code. Wenn Sie beispielsweise einen Bezeichner eingeben, der sich nicht in der Liste befindet, und dann die TAB-TASTE drücken, ersetzt der Eintrag im Beendigungsmodus den typisierten Bezeichner.For example, if you enter an identifier that is not in the list and press Tab, in completion mode the entry would replace the typed identifier. 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.To toggle between completion mode and suggestion mode, press Ctrl+Alt+Space, or choose Edit > IntelliSense > Toggle Completion Mode.

ParameterinfoParameter Info

Die Parameterinfo liefert Informationen über die Anzahl, Namen und Typen der Parameter, die von einer Methode, einem attributgenerischen Typparameter (in C#) oder einer Vorlage (in C++) benötigt werden.Parameter Info gives you information about the number, names, and types of parameters required by a method, attribute generic type parameter (in C#), or template (in C++).

Der Parameter, den Sie beim Eingeben der Funktion als Nächstes angeben müssen, ist fett dargestellt.The parameter in bold indicates the next parameter that is required as you type the function. Bei überladenen Funktionen können Sie die NACH-OBEN-TASTE und NACH-UNTEN-TASTE verwenden, um alternative Parameterinformationen für die Funktionsüberladungen anzuzeigen.For overloaded functions, you can use the Up and Down arrow keys to view alternative parameter information for the function overloads.

Parameterinfo

Wenn Sie Funktionen und Parameter mit XML-Dokumentationskommentaren versehen, werden die Kommentare als Parameterinfo angezeigt.When you annotate functions and parameters with XML Documentation comments, the comments will display as Parameter Info. Weitere Informationen finden Sie unter Anzeigen von XML-Codekommentaren.For more information, see Supply XML code comments.

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.You can manually invoke Parameter Info by choosing Edit > IntelliSense > Parameter Info, by pressing Ctrl+Shift+Space, or by choosing the Parameter Info button on the editor toolbar.

QuickInfoQuick Info

QuickInfo zeigt die vollständige Deklaration eines beliebigen Bezeichners im Code an.Quick Info displays the complete declaration for any identifier in your code.

Visual Studio-QuickInfo

Wenn Sie einen Member im Feld Member auflisten auswählen, wird ebenfalls eine QuickInfo angezeigt.When you select a member from the List Members box, Quick Info also appears.

Parameterinfo in einer C#-Codedatei

Sie können die QuickInfo manuell aufrufen, indem Sie auf Bearbeiten > IntelliSense > QuickInfo klicken, indem Sie STRG+I drücken, oder indem Sie auf die Schaltfläche QuickInfo auf der Symbolleiste des Editors klicken.You can manually invoke Quick Info by choosing Edit > IntelliSense > Quick Info, by pressing Ctrl+I, or by choosing the Quick Info button on the editor toolbar.

Wenn eine Funktion überladen ist, zeigt IntelliSense u. U. nicht für alle Formulare der überladenen Funktion Informationen an.If a function is overloaded, IntelliSense may not display information for all forms of the overload.

Sie können „QuickInfo“ für C++-Code deaktivieren, indem Sie zu Extras > Optionen > Text-Editor > C/C++ > Erweitert navigieren und Auto QuickInfo auf false festlegen.You can turn Quick Info off for C++ code by navigating to Tools > Options > Text Editor > C/C++ > Advanced, and setting Auto Quick Info to false.

Wort vervollständigenComplete Word

Die Option „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.Complete Word completes the rest of a variable, command, or function name after you have entered enough characters to disambiguate the term. 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.You can invoke Complete Word by choosing Edit > IntelliSense > Complete Word, by pressing Ctrl+Space, or by choosing the Complete Word button on the editor toolbar.

IntelliSense-OptionenIntelliSense options

IntelliSense-Optionen sind standardmäßig aktiviert.IntelliSense options are on by default. Um sie zu deaktivieren, klicken Sie auf Extras > Optionen > Text-Editor, und deaktivieren Sie Parameterinformationen oder Members automatisch auflisten, wenn Sie die Funktion „Members auflisten“ nicht verwenden möchten.To turn them off, choose Tools > Options > Text Editor and deselect Parameter information or Auto list members if you do not want the List Members feature.

IntelliSense-SymboleIntelliSense icons

Die in IntelliSense vorhandenen Symbole können zusätzliche Bedeutung mit Symbolmodifizierer vermitteln.The icons in IntelliSense can convey additional meaning with icon modifiers. Dabei handelt es sich um Sterne, Herzen und Schlösser, die über dem Objektsymbol liegen und jeweils „gesperrt“, „intern“ oder „privat“ bedeuten.These are stars, hearts, and locks layered on top of the object's icon that convey protected, internal, or private, respectively.

SymbolIcon ZugriffAccessibility BeschreibungDescription
Symbolmodifizierer „Öffentlich“ Öffentliche KlassePublic class Der Zugriff ist nicht beschränkt.Access is not restricted.
Symbolmodifizierer „Geschützt“ Geschützte KlasseProtected class Der Zugriff ist auf die enthaltende Klasse oder auf Typen beschränkt, die von der enthaltenden Klasse abgeleitet sind.Access is limited to the containing class or types derived from the containing class.
Symbolmodifizierer „Intern geschützt“ Intern geschützte KlasseProtected internal class Der Zugriff ist auf die aktuelle Assembly oder auf Typen beschränkt, die von der enthaltenden Klasse abgeleitet sind.Access is limited to the current assembly or types derived from the containing class.
Symbolmodifizierer „Intern“ Interne KlasseInternal class Der Zugriff ist auf die aktuelle Assembly beschränkt.Access is limited to the current assembly.
Symbolmodifizierer „Privat“ Private KlassePrivate class Der Zugriff ist auf die enthaltende Klasse oder auf Typen beschränkt, die von der enthaltenden Klasse innerhalb der aktuellen Assembly abgeleitet sind.Access is limited to the containing class or types derived from the containing class within the current assembly. (Verfügbar seit C# 7.2.)(Available since C# 7.2.)

Problembehandlung für IntelliSenseTroubleshoot IntelliSense

In bestimmten Fällen kann es vorkommen, dass IntelliSense-Optionen nicht wie erwartet funktionieren.The IntelliSense options may not work as you expect in certain cases.

Der Cursor befindet sich unter einem Codefehler.The cursor is below a code error. Sie können IntelliSense möglicherweise nicht verwenden, wenn eine unvollständige Funktion oder ein anderer Fehler im Code über dem Cursor vorhanden ist, weil IntelliSense die Codeelemente eventuell nicht analysieren kann.You might not be able to use IntelliSense if an incomplete function or other error exists in the code above the cursor because IntelliSense might not be able to parse the code elements. Sie können dieses Problem beheben, indem Sie den betreffenden Code auskommentieren.You can resolve this problem by commenting out the applicable code.

Der Cursor befindet sich in einem Codekommentar.The cursor is in a code comment. Sie können IntelliSense nicht verwenden, wenn sich der Cursor in einem Kommentar in Ihrer Quelldatei befindet.You can't use IntelliSense if the cursor is in a comment in your source file.

Der Cursor befindet sich in einem Zeichenfolgenliteral.The cursor is in a string literal. Sie können IntelliSense nicht verwenden, wenn sich der Cursor innerhalb der Anführungszeichen um ein Zeichenfolgenliteral befindet, wie im folgenden Beispiel dargestellt:You can't use IntelliSense if the cursor is in the quotation marks around a string literal, as in the following example:

MessageBox( hWnd, "String literal|")

Die automatischen Optionen sind deaktiviert.The automatic options are turned off. Standardmäßig funktioniert IntelliSense automatisch, Sie können es jedoch deaktivieren.By default, IntelliSense works automatically, but you can disable it. Auch wenn die automatische Anweisungsvervollständigung deaktiviert ist, können Sie eine IntelliSense-Funktion aufrufen.Even if automatic statement completion is disabled, you can invoke an IntelliSense feature.

Weitere InformationenSee also