Visual Studio Code C/C++ Extension: Automatische Definitionen und Deklarationen

Das Januar-Update der C/C++-Extension für VS Code stellt nun die automatische Erstellung von Definitionen oder Deklarationen für Funktionen bereit.

In Pocket speichern vorlesen Druckansicht 19 Kommentare lesen
C++ Code

(Bild: mki / heise online)

Lesezeit: 2 Min.
Von
  • Frank-Michael Schlede

Die C/C++-Extension für Visual Studio Code bietet Entwicklerinnen und Entwicklern ein neues Feature, das laut Microsoft von vielen schon häufiger gefordert wurde. Durch das automatische Erstellen von Definitionen oder Deklarationen in Funktionen, sollen sie nun beispielsweise sehr schnell eine Deklaration in einer Header-Datei für eine Funktion anlegen können, für die dem Entwickler nur eine Definition zur Verfügung steht.

Natürlich funktioniert das auch umgekehrt: Entwicklerinnen können so also auch automatisch eine Definition erstellen lassen, wenn sie eine Deklaration haben. Das Entwicklerteam bei Microsoft betont in einem Blog-Artikel, dass diese generierten Definitionen und Deklarationen dann bereits alle Funktionsargumente enthalten, so dass kein ständiges Kopieren, Einfügen und Überprüfen mehr nötig ist.

Programmierer und Programmiererinnen sollen nun ganz einfach eine solche Definition anlegen können: dazu genügt ein Klick auf ihre Klassenfunktionsdefinition und dann auf die Codeaktion (Glühbirnensymbol).

Nach Auswahl von Codeaktion (Glühbirnensymbol) öffnet sich ein Dropdown-Menü, in dem Entwicklerinnen dann "Create a Declaration" auswählen können.

(Bild: Microsoft)

Danach ist lediglich noch die Funktionsdeklaration und dann die Code-Aktion "Definition erstellen" für die Funktion auszuwählen. Definitionen und Deklarationen werden dabei auf Grundlage der Muster erstellt, die Entwickler bereits in Ihrem Code festgelegt haben. Liegt die Definition zum Beispiel zwischen den Funktionen Addition() und Subtraktion() in Math.cpp und wird nach einer Deklaration gefragt, wird diese zwischen den Deklarationen von Addition() und Subtraktion() neu erstellt.

Wurden Deklarationen oder Definitionen in einer anderen Datei als der Quelldatei definiert, so folgt das Programm der allgemeinen Konvention: Hat der Entwickler oder die Entwicklerin den Fall gewählt, bei dem die Namen der Header- und der Quelldatei übereinstimmen, so findet das Programm diese Datei auch dann, wenn die Header-Datei nicht in die Quelldatei aufgenommen wurde. Die Header-Datei wird in diesen Fällen automatisch in die Quelldatei eingefügt, sobald die Deklaration oder Definition hinzugefügt wurde.

Diese Funktionalität gilt nicht nur für Klassen, sondern auch für Namensräume. Wird eine Funktionsvorlage in einer Header-Datei deklariert, so wird dann auch die Definition dieser Funktionsvorlage in derselben Header-Datei erstellt. Das gilt auch für Nicht-Template-Memberfunktionen von Klassen-Templates.

Weitere Infos und Beispiele zu dieser Neuerungen in der C/C++ Extension für Visual Studio Code bietet der Blogeintrag.

(fms)