Visual Studio 2022 17.14 beschleunigt den C++-Compiler und bringt MCP

Das Release 17.14 von Visual Studio 2022 bringt zahlreiche Neuerungen, insbesondere für C++-Entwicklerinnen und -Entwickler.

vorlesen Druckansicht 11 Kommentare lesen
C++ Code

(Bild: mki / heise online)

Lesezeit: 3 Min.
Von
  • Manuel Masiero
close notice

This article is also available in English. It was translated with technical assistance and editorially reviewed before publication.

In Version 17.14 von Visual Studio 2022 generiert der MSVC-Compiler laut Microsoft zwanzig Prozent schnelleren Code als noch in Version 17. Des Weiteren vereinfacht der Compiler den Datenfluss, sodass sich die Kompilierzeit eines Unreal Engine-/LTCG-Link-Repros um dreizehn Prozent reduzieren soll. Außerdem hat Microsoft Teile der Standardbibliothek gehärtet, um undefiniertes Verhalten zur Laufzeit besser zu erkennen.

Version 17.14 bietet auch neue C++23-Funktionen, die sich mit den Flags /std:c++latest oder /std:c++23preview zur Kommandozeile hinzufügen lassen. Die Funktion if consteval unterscheidet beispielsweise zwischen Kompilierungs- und Laufzeitausführung, um einen optimierten Codepfad zu wählen. Ein Beispiel aus dem Developer-Blog von Microsoft:

constexpr size_t strlen(char const* s) {
    if consteval {
        // if executed at compile time, use a constexpr-friendly algorithm
        for (const char *p = s; ; ++p) {
            if (*p == '\0') {
                return static_cast<std::size_t>(p - s);
            }
        }
    } else {
        // if executed at run time, use inline assembly
        __asm__("SSE 4.2 magic");
    }
}

Ebenfalls neu sind die Funktionen static operator() und static operator[], die effizientere und besser strukturierte Funktionsobjekte ermöglichen. In bestimmten Lambda-Ausdrücken gibt es die Möglichkeit, () wegzulassen. Eine vollständige Liste der C++-Sprachupdates für den MSVC-Compiler stellt Microsoft im Blog bereit. Der Changelog führt alle Updates für die Standardbibliothek auf.

Videos by heise

Die neue Compiler- und IDE-Funktion C++ Dynamic Debugging hilft Entwicklerinnen und Entwicklern dabei, optimierte Builds zu debuggen, ohne die Performancevorteile der Optimierung zu verlieren. Dazu lassen sich bestimmte Funktionen vorübergehend ausschalten, um wegoptimierte Werte anzuzeigen. C++ Dynamic Debugging hat derzeit noch Preview-Status und ist im MSVC-Toolset verfügbar.

Bei optimierten Builds sind manche Variablen nicht sichtbar.

(Bild: Microsoft)

Beim dynamischen Debugging zeigt der Debugger die Variablen dennoch an.

(Bild: Microsoft)

Mit dem schon Anfang dieses Jahres vorgestellten Agentenmodus (Agent Mode) von GitHub Copilot lassen sich mit natürlicher Sprache mehrstufige und komplexe Programmieraufgaben erledigen. Der Agentenmodus hat weiterhin Preview-Status und kann Code überprüfen, Fehler erkennen und beheben, Terminal-Befehle vorschlagen und ausführen sowie Laufzeitfehler analysieren.

Weitere auf Copilot gemünzte Neuerungen in Version 17.14 sind die Unterstützung für das Model Context Protocol (MCP), KI-gestützte Kommentare und die Next Edit Suggestion (NES). MCP ermöglicht Copilot einen strukturierten Zugriff auf externe KI-Werkzeuge, -Daten sowie -Ressourcen und fungiert als universelle Schnittstelle. Die KI-gestützte Kommentarfunktion ergänzt nach Eingabe eines Ausdrucks zur Dokumentation (wie ///) die Beschreibung eines Code-Abschnitts automatisch basierend auf dessen Inhalt.

Next Edit Suggestion machen Änderungsvorschläge aufgrund vorheriger Bearbeitungen der Entwickler. Im Gegensatz zur Codevervollständigung schlagen NES Änderungen überall in der Datei vor, wo Entwickler sie am wahrscheinlichsten benötigen.

Die Release Notes zu Visual Studio 2022 Version 17.14 informieren über sämtliche Neuerungen. Visual Studio 17.14 steht hier zum Dowload bereit.

Siehe auch:

(who)