ist jetzt verfügbar! Lesen Sie über die neuen Funktionen und Fehlerbehebungen vom November.

Refactoring von C++-Code

Die C/C++-Erweiterung in Visual Studio Code bietet verschiedene Refactoring-Funktionen, die Ihnen helfen, die Struktur, Lesbarkeit und Wartbarkeit Ihres Codes zu verbessern, ohne dessen Laufzeitverhalten zu ändern. Dazu gehören Funktionen wie „Methode extrahieren“ und „Deklaration und Definition erstellen“.

Deklarationen oder Definitionen erstellen

Vereinfachen Sie den Prozess der Erstellung einer Funktionsdeklaration oder -definition, indem Sie die C/C++-Erweiterung diese Elemente für Sie generieren lassen. Diese Funktionalität gilt für Memberfunktionen, Namespaces als Klassen und Vorlagen.

Create a definition and a declaration across two files

Um eine Funktionsdeklaration oder -definition zu erstellen, können Sie entweder

  • Wählen Sie Ihre Klassenfunktionsdefinition aus, wählen Sie die Codeaktion (Glühbirnensymbol) und dann Deklaration erstellen. Um eine Definition zu erstellen, wählen Sie ähnlich die Funktionsdeklaration aus, wählen Sie die Codeaktion und dann Definition erstellen.
  • Klicken Sie mit der rechten Maustaste auf die Deklaration oder Definition einer Funktion und wählen Sie im Kontextmenü Definition/Deklaration erstellen. Basierend auf Ihrem Code wird eine Definition oder eine Deklaration erstellt.
  • Wählen Sie die Funktion aus, verwenden Sie dann die Befehlspalette (⇧⌘P (Windows, Linux Ctrl+Shift+P)) und geben Sie den Befehl Deklaration/Definition erstellen ein. Basierend auf Ihrem Code wird eine Definition oder eine Deklaration erstellt.

Der Ort, an dem Definitionen und Deklarationen erstellt werden, basiert auf den bisherigen Mustern, die Sie in Ihrem Code festgelegt haben. Wenn Sie beispielsweise zuvor Definitionen und Deklarationen in derselben Datei hinzugefügt haben, fügt die Erweiterung auch neue in diese Datei ein. Die Reihenfolge der Funktionen wird automatisch beibehalten.

Create a definition and a declaration in the same file

Wenn Sie Deklarationen oder Definitionen in einer anderen Datei als Ihrer Quelldatei definiert haben, folgt die Erweiterung Ihrer Konvention. Zum Beispiel werden für eine Header- und eine Quelldatei mit übereinstimmenden Namen beide identifiziert, auch wenn die Header-Datei nicht in der Quelldatei enthalten ist. In diesem Fall wird, sobald die Deklaration oder Definition hinzugefügt wurde, Ihre Header-Datei automatisch in Ihrer Quelldatei referenziert.

Andernfalls erstellt die Erweiterung eine neue Header- oder Quelldatei für Sie, die dem Namen Ihrer aktuellen Datei entspricht. Diese neue Datei enthält die neu generierte Deklaration oder Definition. Die neue Datei wird dann automatisch in Ihrer aktuellen Datei referenziert.

Bei Vorlagen gilt: Wenn eine Funktionsvorlage in einer Header-Datei deklariert wird, wird die Definition dieser Funktionsvorlage in derselben Header-Datei erstellt. Dies gilt auch für Nicht-Vorlagen-Memberfunktionen von Klassenvorlagen.

Deklarationen oder Definitionen kopieren

Wenn Sie den Ort auswählen möchten, an dem Ihre Deklaration oder Definition im Code hinzugefügt wird, können Sie die Codeaktion Deklaration/Definition kopieren verwenden. Diese fügt die Deklaration oder Definition in die Zwischenablage ein, anstatt sie direkt in Ihren Code einzufügen.

Um die Codeaktion aufzurufen, wählen Sie eine Funktion aus, für die eine Schnellkorrektur verfügbar ist, wählen Sie dann die Codeaktion (Glühbirne) und wählen Sie Definition von ‚IhrFunktionsName‘ kopieren oder Deklaration von ‚IhrFunktionsName‘ kopieren.

Copy a declaration or definition

In Methode extrahieren

Die Refactoring-Funktion „Methode extrahieren“ ermöglicht es Ihnen, einen Codeblock in eine separate Methode zu extrahieren, um die Lesbarkeit des Codes zu verbessern, Duplikate zu reduzieren und den Code modularer zu gestalten.

Um eine Methode zu extrahieren, wählen Sie den C++-Code aus, den Sie extrahieren möchten, wählen Sie die Codeaktion (Glühbirne) und dann In Funktion extrahieren. Alternativ können Sie mit der rechten Maustaste auf den Code klicken und Refactor > Extrahieren auswählen oder den Tastaturbefehl (Strg + Umschalt + R, Strg + E unter Windows) verwenden, um weitere Informationen zu erhalten.

Sie können dann die neu erstellte Funktion benennen. Die neue Funktion, die Ihren ausgewählten Code enthält, wird über der aktuellen Funktion platziert.

Extract Method and create declaration

Schnellkorrekturen/Codeaktionen

Die C/C++-Erweiterung bietet C/C++-spezifische Vorschläge zur Behebung und Verbesserung Ihres C++-Codes basierend auf Ihrem Codekontext. Sehen Sie sich diese Vorschläge an, indem Sie entweder mit der Maus über ein Symbol fahren und auf den Link Schnellkorrektur klicken oder indem Sie eine Codeaktion (Glühbirne) auswählen, sobald sie neben Ihrem Code erscheint. Wenn beispielsweise ein Codeabschnitt in eine Methode extrahiert werden kann, zeigt die Auswahl des Glühbirnensymbols „In Methode extrahieren“ an. Abgesehen von den oben genannten Funktionen bietet die C/C++-Erweiterung Schnellkorrekturen/Codeaktionen in den folgenden Situationen an

Fehlende Header-Dateien hinzufügen

Wenn in Ihrem C++-Code ein unbekanntes Symbol vorhanden ist und die C/C++-Erweiterung die richtige Header-Datei in Ihrem Arbeitsbereich identifiziert, steht nun eine Schnellkorrektur zur Verfügung. Wählen Sie die Schnellkorrektur aus und die erforderliche Header-Datei-Einbindung wird am Anfang Ihrer aktuellen C++-Datei hinzugefügt.

Add Missing Include in code using a code action

Nächste Schritte

Lesen Sie weiter, um mehr über Folgendes zu erfahren:

Wenn Sie weitere Fragen haben oder auf Probleme stoßen, reichen Sie bitte ein Problem auf GitHub ein. Möglicherweise werden Sie aufgefordert, Protokollierungsinformationen von der Erweiterung bereitzustellen, um das Problem zu diagnostizieren. Weitere Hilfe zur Bereitstellung von Erweiterungsprotokollen finden Sie unter C/C++-Erweiterungsprotokollierung.

© . This site is unofficial and not affiliated with Microsoft.