Freigeben über


Visual C++ IntelliSense-Funktionen

IntelliSense ist ein Name, der einer Reihe von Features gegeben wird, die das Codieren komfortabler machen. IntelliSense für C++ ist sowohl für eigenständige Dateien als auch für Dateien verfügbar, die Teil eines C++-Projekts sind. In plattformübergreifenden Projekten stehen einige IntelliSense-Features in .cpp - und C-Dateien im freigegebenen Codeprojekt zur Verfügung, auch wenn Sie sich in einem Android- oder iOS-Kontext befinden.

Dieser Artikel enthält eine Übersicht über die C++-IntelliSense-Features. Informationen zum Konfigurieren Ihres Projekts für IntelliSense und zur Problembehandlung finden Sie unter Konfigurieren eines C++-Projekts für IntelliSense.

IntelliSense-Features in C++

IntelliSense ist ein Name, der einer Reihe von Features gegeben wird, die das Codieren komfortabler machen. Da verschiedene Personen unterschiedliche Ideen darüber haben, was praktisch ist, können praktisch alle IntelliSense-Features im Dialogfeld "Optionen " unter "Text-Editor>C/C++>Erweitert" aktiviert oder deaktiviert werden. Das Dialogfeld "Optionen " steht im Menü " Extras " auf der Menüleiste zur Verfügung.

Dialogfeld 'Tooloptionen'

Sie können die in der folgenden Abbildung gezeigten Menüelemente und Tastenkombinationen verwenden, um auf IntelliSense zuzugreifen.

IntelliSense-Menü

Vervollständigung von Anweisungen und Mitgliederliste

Wenn Sie mit der Eingabe eines Schlüsselworts, typs, einer Funktion, eines Variablennamens oder eines anderen Programmelements beginnen, das der Compiler erkennt, bietet der Editor an, das Wort für Sie abzuschließen.

Visual C++ Vollständiges Word-Fenster

Wenn Sie die Mitgliederliste zum ersten Mal aufrufen, werden nur Mitglieder angezeigt, auf die für den aktuellen Kontext zugegriffen werden kann. Wenn Sie danach STRG+J drücken, werden alle Mitglieder unabhängig von der Barrierefreiheit angezeigt. Wenn Sie es ein drittes Mal aufrufen, wird eine noch breitere Liste der Programmelemente angezeigt. Sie können die Mitgliederliste im Dialogfeld "Optionen " unter " Text-Editor>C/C++>Allgemeine Automatische>Listenmitglieder" deaktivieren.

Visual C++-Memberliste

Parameterhilfe

Wenn Sie eine öffnende geschweifte Klammer eines Funktionsaufrufs oder eine eckige Klammer für eine Klassenvorlagenvariablendeklaration eingeben, zeigt der Editor ein kleines Fenster mit den Parametertypen für jede Überladung der Funktion oder des Konstruktors an. Der Parameter "current" (basierend auf der Cursorposition) ist fett formatiert. Sie können Parameterinformationen im Dialogfeld "Optionen" unter den Allgemeinen>Parameterinformationen des >>deaktivieren.

Visual C++-Parameterhilfe

Schnellinfos

Wenn Sie mit dem Mauszeiger auf eine Variable zeigen, wird ein kleines Fenster inline angezeigt, in dem die Typinformationen und die Kopfzeile angezeigt werden, in der der Typ definiert ist. Zeigen Sie auf einen Funktionsaufruf, um die Signatur der Funktion anzuzeigen. Sie können QuickInfo im Dialogfeld "Optionen " unter " Text-Editor>C/C++>Advanced>Auto Quick Info" deaktivieren.

Visual C++ QuickInfo

Fehler-Hinweisschlangenlinien

Unter einem Programmelement (Variable, Schlüsselwort, Klammer, Typname usw.) weisen Zickzacklinien auf einen Fehler oder potenziellen Fehler im Code hin. Beim Schreiben einer Vorwärtsdeklaration wird eine grüne Schlangenlinie angezeigt, um Sie daran zu erinnern, dass Sie die Implementierung noch schreiben müssen. Ein lila Wellenblatt wird in einem freigegebenen Projekt angezeigt, wenn ein Fehler im Code vorliegt, der derzeit nicht aktiv ist, z. B. wenn Sie im Windows-Kontext arbeiten, aber etwas eingeben, das in einem Android-Kontext ein Fehler wäre. Eine rote Wellenlinie zeigt einen Compilerfehler oder eine Warnung im aktiven Code an, mit dem Sie umgehen müssen.

Visual C++-Fehlerkennzeichnung

Code-Farbgebung und Schriftarten

Die Standardfarben und Schriftarten können im Dialogfeld Optionen, unter Umgebung>Schriftarten und Farben geändert werden. Sie können die Schriftarten für viele UI-Fenster hier ändern, nicht nur den Editor. Die für C++ spezifischen Einstellungen beginnen mit "C++"; die anderen Einstellungen gelten für alle Sprachen.

Plattformübergreifende IntelliSense

In einem freigegebenen Codeprojekt stehen einige IntelliSense-Features wie Wellenlinien auch dann zur Verfügung, wenn Sie in einem Android-Kontext arbeiten. Wenn Sie Code schreiben, der zu einem Fehler in einem inaktiven Projekt führen würde, zeigt IntelliSense weiterhin Zickzacklinien an, jedoch in einer anderen Farbe als Zickzacklinien für Fehler im aktuellen Kontext.

Erwägen Sie eine OpenGLES-Anwendung, die für die Erstellung für Android und iOS konfiguriert ist. Die Abbildung zeigt den freigegebenen Code, der bearbeitet wird. In dieser Abbildung ist das aktive Projekt iOS.StaticLibrary:

iOS wird als aktives Projekt ausgewählt.

Beachten Sie Folgendes:

  • Die #ifdef Verzweigung in Zeile 6 ist abgeblennt, um einen inaktiven Bereich anzugeben, da __ANDROID__ für das iOS-Projekt nicht definiert ist.

  • Die Grußvariable in Zeile 11 wird mit dem Bezeichner HELLOinitialisiert, der jetzt einen roten Wellenstrich aufweist. Dies liegt daran, dass im derzeit aktiven iOS-Projekt kein Bezeichner HELLO definiert ist.

  • Zeile 12 weist einen violetten Wellenstrich auf dem Bezeichner BYE auf, da dieser Bezeichner nicht im (derzeit) inaktiven Android.NativeActivity-Projekt definiert ist. Obwohl diese Zeile kompiliert wird, wenn iOS das aktive Projekt ist, wird sie nicht kompiliert, wenn Android das aktive Projekt ist. Da dieser freigegebene Code verwendet wird, sollten Sie den Code korrigieren, obwohl er in der derzeit aktiven Konfiguration kompiliert wird.

Wenn Sie das aktive Projekt in Android ändern, ändern sich die Wellenlinien:

  • Die #else Verzweigung in Zeile 8 ist ausgegraut, um einen inaktiven Bereich zu kennzeichnen, da __ANDROID__ für das Android-Projekt definiert ist.

  • Die Grußvariable in Zeile 11 wird mit dem Bezeichner HELLO initialisiert, der mit einem violetten Wellenstrich markiert ist. Dies liegt daran, dass im derzeit inaktiven iOS-Projekt kein Bezeichner HELLO definiert ist.

  • Zeile 12 weist einen roten Wellenstrich auf dem Bezeichner BYE auf, da dieser Bezeichner nicht im aktiven Projekt definiert ist.

IntelliSense für eigenständige Dateien

Wenn Sie eine einzelne Datei außerhalb eines Projekts öffnen, erhalten Sie weiterhin IntelliSense. Sie können bestimmte IntelliSense-Features im Dialogfeld "Optionen " unter "Text-Editor>C/C++>Erweitert" aktivieren oder deaktivieren. Wenn Sie IntelliSense für einzelne Dateien konfigurieren möchten, die nicht Teil eines Projekts sind, suchen Sie nach IntelliSense, und suchen Sie nach dem Abschnitt "Nicht-Projektdateien ".

IntelliSense für einzelne Dateien in Visual C++

Standardmäßig verwendet IntelliSense nur Standardverzeichnisse, um Kopfzeilendateien zu finden. Um zusätzliche Verzeichnisse hinzuzufügen, öffnen Sie das Kontextmenü im Lösungs-Knoten und fügen Sie Ihr Verzeichnis der Debug-Quellcode-Liste hinzu, wie die folgende Abbildung zeigt.

Hinzufügen eines Pfads zu einer Headerdatei.

Aktivieren oder Deaktivieren von Features

Da verschiedene Personen unterschiedliche Ideen darüber haben, was praktisch ist, können praktisch alle IntelliSense-Features im Dialogfeld "Optionen " unter "Text-Editor>C/C++>Erweitert" aktiviert oder deaktiviert werden. Das Dialogfeld "Optionen " steht im Menü " Extras " auf der Menüleiste zur Verfügung.

Dialogfeld 'Tooloptionen'