Bearbeiten und Navigieren von C++-Code
Dieser Artikel bietet einen Überblick über die Funktionen zum Bearbeiten und Navigieren von Code, die spezifisch für die C/C++-Erweiterung sind. Weitere Informationen zum allgemeinen Bearbeiten und Navigieren in Visual Studio Code finden Sie unter Grundlegende Bearbeitung und Code-Navigation.
C++-Code bearbeiten
Die von der C/C++-Erweiterung bereitgestellten Quellcode-Bearbeitungsfunktionen sind leistungsstarke Werkzeuge zum Bearbeiten, Formatieren und Verstehen Ihrer Codebasis.
Header-Dateien identifizieren
Um die beste Bearbeitungserfahrung zu bieten, muss die C++-Erweiterung wissen, wo sie jede Header-Datei finden kann, auf die in Ihrem Code verwiesen wird. Standardmäßig durchsucht die Erweiterung das aktuelle Quellverzeichnis, seine Unterverzeichnisse und einige plattformspezifische Speicherorte. Wenn eine referenzierte Header-Datei nicht gefunden werden kann, wird unter der #include-Anweisung eine rote Wellenlinie angezeigt.
Um zusätzliche Include-Verzeichnisse anzugeben,
- Wählen Sie einen
#include-Pfad, der keine Referenz hat. - Wählen Sie die erscheinende Glühbirne aus und wählen Sie
"includePath"-Einstellung bearbeiten, womit der Einstellungseditor der C/C++-Erweiterung geöffnet wird. - Unter der Rubrik Include Path können Sie die Pfade für alle zusätzlichen Include-Verzeichnisse angeben.

Mitglieder auflisten
Wenn Sie ein Mitgliedszugriffssymbol (. oder ->) eingeben, zeigt der Editor eine Liste von Mitgliedern an. Während Sie weitere Buchstaben eingeben, wird die Liste in Echtzeit gefiltert.

Codeformatierung
Die C/C++-Erweiterung für Visual Studio Code unterstützt die Formatierung von Quellcode mit clang-format und vc_format. Beide Formatierungsoptionen sind in der Erweiterung enthalten, wobei clang-format die Standardeinstellung ist.
Sie können eine ganze Datei mit Dokument formatieren (⇧⌥F (Windows Shift+Alt+F, Linux Ctrl+Shift+I)) oder nur die aktuelle Auswahl mit Auswahl formatieren (⌘K ⌘F (Windows, Linux Ctrl+K Ctrl+F)) im Kontextmenü der rechten Maustaste formatieren. Sie können die Formatierung auch basierend auf Benutzergesten wie Eingabe, Speichern und Einfügen mit den folgenden Einstellungen auslösen.
editor.formatOnSave- zum Formatieren beim Speichern Ihrer Datei.editor.formatOnType- zum Formatieren während der Eingabe (ausgelöst durch das Zeichen ;).
Weitere Informationen zur Formatierung finden Sie unter Formatierung.
Clang-format
Standardmäßig ist der clang-format-Stil auf file eingestellt. Das bedeutet, dass, wenn eine .clang-format-Datei in Ihrem Arbeitsbereich gefunden wird, die in der Datei angegebenen Einstellungen als Formatierungsreferenz verwendet werden. Andernfalls basiert die Formatierung auf dem Standardstil, der in der C_Cpp.clang_format_fallbackStyle Einstellung angegeben ist.
Derzeit ist der Standardformatierungsstil Visual Studio, eine Annäherung an den Standard-Code-Formatter in Visual Studio. Er impliziert die folgenden Einstellungen
UseTab: (VS Code current setting)
IndentWidth: (VS Code current setting)
BreakBeforeBraces: Allman
AllowShortIfStatementsOnASingleLine: false
IndentCaseLabels: false
ColumnLimit: 0
Um eine andere Version von clang-format als die, die mit der Erweiterung geliefert wird, zu verwenden, ändern Sie die C_Cpp.clang_format_path Einstellung auf den Pfad, unter dem die clang-format-Binärdatei installiert ist.
Zum Beispiel, unter Windows:
"C_Cpp.clang_format_path": "C:\\Program Files (x86)\\LLVM\\bin\\clang-format.exe"
vc_format
Standardmäßig wird, wenn eine .editorconfig-Datei mit relevanten Einstellungen in der Nähe des zu formatierenden Codes gefunden wird, die Visual C++-Formatierungs-Engine anstelle von clang-format verwendet. Andernfalls navigieren Sie zur C_Cpp.formatting Einstellung und setzen Sie diese auf vc_format, um die Visual C++-Formatierungs-Engine zu verwenden.
Erweiterte semantische Hervorhebung
Wenn IntelliSense aktiviert ist, unterstützt die Visual Studio Code C/C++-Erweiterung die semantische Hervorhebung. Weitere Informationen zum Festlegen von Farben für Klassen, Funktionen, Variablen und mehr finden Sie unter Erweiterte Hervorhebung. Weitere Informationen zur Konfiguration von IntelliSense finden Sie unter IntelliSense-Konfiguration.
Schnelle Infos
Sie können mit der Maus über ein Symbol fahren, um eine Inline-Ansicht seiner Definition anzuzeigen.

Doxygen-Kommentare
Doxygen ist ein Werkzeug, das Dokumentation aus Quellcode generiert. Wenn Sie Code mit Kommentaren annotieren, generiert Doxygen dann Dokumentation für diese Funktionen. Für Doxygen-Kommentare geben Sie /** ein und drücken Sie Enter, um einen Doxygen-Kommentarblock zu generieren. Unterstützte Doxygen-Tags sind: @brief,@tparam, @param, @return, @exception, @deprecated, @note, @attention und @pre.
Markdown-Kommentare
Standardmäßig unterstützt die C++-Erweiterung die Anzeige einer Teilmenge von Markdown in Ihrem Editor. Diese Teilmenge unterstützt alle Markdown-Kommentare außer den Symbolen _ und *. Schalten Sie die neue Einstellung Markdown in Kommentaren um, um entweder alles Markdown zu aktivieren, diese Teilmenge von Markdown beizubehalten oder die Markdown-Unterstützung zu deaktivieren.
Quellcode navigieren
Die Funktionen zur Quellcode-Navigation können Ihnen helfen, Ihren Code besser zu verstehen. Sie ermöglichen es Ihnen, schnell nach Symbolen in Ihrem Code zu suchen, zu deren Definitionen zu navigieren oder Referenzen darauf zu finden.
Die Navigation wird durch eine Reihe von Tags angetrieben, die in einer lokalen Datenbank mit Symbolinformationen gespeichert sind. Immer wenn ein Ordner, der C++-Quellcodedateien enthält, geöffnet wird, erstellt die C/C++-Erweiterung eine Datenbank der in diesen Dateien definierten Symbole. Diese Datenbank wird aktualisiert, wenn eine Datei geändert wird. Wenn ein Dokument ohne Speichern geschlossen wird, wird die Datenbank auf den letzten gespeicherten Zustand aktualisiert.
Symbole suchen
Sie können nach Symbolen in der aktuellen Datei oder im Arbeitsbereich suchen, um Ihren Code schneller zu navigieren.
Um ein Symbol in der aktuellen Datei zu suchen, drücken Sie ⇧⌘O (Windows, Linux Ctrl+Shift+O), und geben Sie dann den Namen des Symbols ein, nach dem Sie suchen. Eine Liste möglicher Treffer erscheint, die während der Eingabe gefiltert wird. Wählen Sie aus der Liste der Treffer aus, um zu diesem Symbol zu navigieren.

Um ein Symbol im aktuellen Arbeitsbereich zu suchen, drücken Sie ⌘T (Windows, Linux Ctrl+T), und geben Sie dann den Namen des Symbols ein. Eine Liste möglicher Treffer wird angezeigt. Wenn der ausgewählte Treffer sich in einer Datei befindet, die noch nicht geöffnet ist, wird die Datei geöffnet, bevor zu diesem Treffer navigiert wird.

Sie können Symbole auch durch Aufrufen dieser Befehle über die Befehlspalette(⇧⌘P (Windows, Linux Ctrl+Shift+P)) suchen. Verwenden Sie Schnell öffnen (⌘P (Windows, Linux Ctrl+P)), und geben Sie dann den Befehl @ ein, um die aktuelle Datei zu durchsuchen, oder den Befehl #, um den aktuellen Arbeitsbereich zu durchsuchen. ⇧⌘O (Windows, Linux Ctrl+Shift+O) und ⌘T (Windows, Linux Ctrl+T) sind Verknüpfungen für die Befehle @ und #.
Aufrufhierarchie
Die Aufrufhierarchieansicht zeigt alle Aufrufe an oder von einer Funktion. Sie ermöglicht es Ihnen, die komplexen Aufrufbeziehungen zwischen den Funktionen in Ihrem Quellcode zu verstehen.
Um die Aufrufhierarchie anzuzeigen, wählen Sie eine Funktion aus, klicken Sie mit der rechten Maustaste, um das Kontextmenü anzuzeigen, und wählen Sie Aufrufhierarchie anzeigen. Sie können auch die Tastenkombination verwenden (Shift+Alt+H unter Windows) oder die Befehlspalette (⇧⌘P (Windows, Linux Ctrl+Shift+P)) aufrufen und den Befehl Aufrufe: Aufrufhierarchie anzeigen ausführen. Dies füllt den Aufrufbaum in der Seitenleiste mit allen von Ihrer ausgewählten Funktion aufgerufenen Funktionen.

Schalten Sie das Telefonsymbol in der Menüleiste der Seitenleiste um, um zu eingehenden Aufrufen zu wechseln. Eingehende Aufrufe zeigen an, wann Ihre Funktion von einer anderen Funktion referenziert wird. Sie können auch verschachtelte Aufrufe untersuchen, indem Sie eine Funktion auswählen, die bereits im Aufrufbaum angezeigt wird, und mit der rechten Maustaste auf diese Funktion klicken, um die verfügbaren Befehle anzuzeigen.

Einblenden
Die Peek-Funktion zeigt einige Codezeilen in einem Peek-Fenster an, damit Sie Ihren aktuellen Speicherort nicht verlassen müssen. Sie ist nützlich, um den Kontext eines Symbols schnell zu verstehen, ohne Ihren aktuellen Code verlassen zu müssen.
Um ein Peek-Fenster zu öffnen, navigieren Sie zum Kontextmenü, indem Sie mit der rechten Maustaste klicken, und wählen Sie dann Peek aus. Dort können Sie wählen, ob Sie die Definition, Deklaration, Typdefinition oder Referenzen eines Symbols anzeigen möchten.

Mit dem geöffneten Peek-Fenster können Sie die Liste der angezeigten Ergebnisse durchsuchen, um dasjenige zu finden, an dem Sie interessiert sind. Wenn Sie zu dem Speicherort eines dieser Ergebnisse navigieren möchten, wählen Sie das Ergebnis aus oder doppelklicken Sie in den Quellcode, der auf der linken Seite des Peek-Fensters angezeigt wird.
Zu Definition wechseln
Verwenden Sie die Funktion Zu Definition wechseln, um schnell zu der Stelle in Ihrem Quellcode zu navigieren, an der ein Symbol definiert ist. Wählen Sie ein Symbol in Ihrem Quellcode aus und drücken Sie dann F12, oder klicken Sie mit der rechten Maustaste und wählen Sie Zu Definition wechseln aus dem Kontextmenü. Wenn es nur eine Definition des Symbols gibt, werden Sie direkt zu dessen Speicherort navigiert, andernfalls werden konkurrierende Definitionen in einem Peek-Fenster angezeigt, wie im vorherigen Abschnitt beschrieben.
Wenn für das ausgewählte Symbol keine Definitionen gefunden werden können, sucht die C/C++-Erweiterung automatisch nach einer Deklaration des Symbols.
Zu Deklaration wechseln
Verwenden Sie die Funktion Zu Deklaration wechseln, um zu der Stelle in Ihrem Quellcode zu navigieren, an der ein Symbol deklariert ist. Diese Funktion funktioniert genauso wie Zu Definition wechseln, aber für Deklarationen. Wählen Sie ein Symbol in Ihrem Quellcode aus, klicken Sie mit der rechten Maustaste und wählen Sie Zu Deklaration wechseln aus dem Kontextmenü. Dies navigiert Sie zum Speicherort der Deklaration des Symbols.
Zu Referenzen wechseln
Verwenden Sie die Funktion Zu Referenzen wechseln, um zu verstehen, wie oft und wo ein Symbol in Ihrem Quellcode referenziert wird. Wählen Sie ein Symbol in Ihrem Quellcode aus und drücken Sie ⇧F12 (Windows, Linux Shift+F12) oder klicken Sie mit der rechten Maustaste und wählen Sie Zu Referenzen wechseln aus dem Kontextmenü. Wenn Referenzen gefunden werden, werden sie in einem Peek-Fenster angezeigt.
Zu Typdefinition wechseln
Verwenden Sie die Funktion Zu Typdefinition wechseln, um zu der Stelle in Ihrem Quellcode zu springen, an der ein Typ definiert ist. Wählen Sie einen Typ in Ihrem Quellcode aus, klicken Sie mit der rechten Maustaste, um das Kontextmenü zu öffnen, und wählen Sie Zu Typdefinition wechseln.
Nächste Schritte
Lesen Sie weiter, um mehr über Folgendes zu erfahren:
- C++-Code debuggen
- IntelliSense konfigurieren
- VS Code für MSVC konfigurieren
- VS Code für Mingw-w64 und GCC konfigurieren
- VS Code für macOS konfigurieren
- Grundlegende Bearbeitung in VS Code
- Code-Navigation in VS Code
- Aufgaben in VS Code
Wenn Sie weitere Fragen haben oder auf Probleme stoßen, melden Sie bitte ein Issue auf GitHub. Möglicherweise werden Sie gebeten, Protokollinformationen von der Erweiterung bereitzustellen, um das Problem zu diagnostizieren. Anleitungen zur Bereitstellung von Erweiterungsprotokollen finden Sie unter Protokollierung der C/C++-Erweiterung.