GitHub: Der C++ Language Server in Copilot CLI richtet MSBuild-Projekte jetzt automatisch ein, doch die Repository-Anleitung, zuletzt am 21. Oktober geändert, nennt das weiter ein Windows-Experiment, standardmäßig aus, per Feature-Flag aktiviert und nur beim Start aktiv
Am 10. November 2026 hat GitHub mitgeteilt, dass der Microsoft C++ Language Server für Copilot CLI seinen MSBuild-Extraktor für Kompilierbefehle jetzt mitliefert und automatisch aufruft, wenn der Server beim Öffnen des Projekts startet; ein Agent muss also keine Einrichtungs-Skill mehr finden und ausführen. GitHub sagt, die Erzeugung sei deterministisch und senke den Token-Verbrauch bei der Einrichtung, nennt aber keine Zahlen. Die Anleitung im Repository, zuletzt am 21. Oktober geändert, sagt, die automatische MSBuild-Konfiguration sei standardmäßig deaktiviert, an Feature-Flags gebunden, für Windows beschrieben und laufe nur beim Start, und die README sagt MSBuild-Nutzern weiterhin, die Skill auszuführen. Welche Angabe aktuell ist, sagen die Quellen nicht. Benutzerbezogene state.json-Einstellungen können sie abschalten oder ein Zeitlimit setzen. CMake und andere Builds brauchen weiter eine eigene compile_commands.json oder eine Skill. Der Server ist in der Vorschau, braucht ein Copilot-Abonnement und unterstützt weder Umbenennen noch Formatierung noch Textdokument-Synchronisierung.
Am 10. November 2026 hat GitHub im Changelog mitgeteilt, dass der Microsoft C++ Language Server für GitHub Copilot CLI seinen MSBuild-Extraktor für Kompilierbefehle jetzt mitliefert und automatisch aufruft. Laut dem Beitrag muss ein Agent keine eigene Konfigurations-Skill mehr finden und ausführen, bevor er für ein MSBuild-basiertes C++-Projekt präzise Code-Intelligenz erhält. Dieser Bericht stützt sich auf diesen Changelog-Beitrag und auf drei Seiten im Repository microsoft/cpp-language-server: die README, die Anleitung zum Erzeugen von Kompilierbefehlen und die Tabelle der unterstützten LSP-Funktionen. Er hat das Plugin nicht installiert, kein Projekt geöffnet und den Extraktor nicht ausgeführt. Er hat auch das Bild im Beitrag, den früheren Changelog-Beitrag vom 2. Juli, auf den verlinkt wird, und die übrigen verlinkten Dokumentationsseiten nicht gelesen.
Der Beitrag beschreibt die bisherige Einrichtung und die Änderung. Bisher brauchten „Gehe zu Definition“, „Verweise suchen“ und andere Funktionen des Language Servers für ein MSBuild-basiertes C++-Projekt eines von zwei Dingen: eine eigene compile_commands.json-Datei oder eine Konfigurations-Skill, die Copilot finden und ausführen musste, um eine Kompilierdatenbank zu erzeugen. GitHub sagt, dieser zusätzliche Suchschritt habe die Einrichtung verlängert und Token verbraucht, bevor Copilot mit Ihrem Code arbeiten konnte. Der Beitrag nennt drei Änderungen. Der Extraktor für Kompilierbefehle ist direkt im Language Server enthalten und damit immer verfügbar. Copilot ruft den Extraktor auf, wenn es den Language Server beim Öffnen des Projekts startet, ohne manuelle Schritte und ohne vom Agenten ausgeführte Einrichtungs-Skill. Und die Erzeugung der Kompilierdatenbank für MSBuild-Projekte ist deterministisch, was laut GitHub den Token-Verbrauch bei der Einrichtung senkt. Der Beitrag nennt keine Zahlen zu eingesparter Zeit oder eingesparten Token; diese Vorteile sind GitHubs eigene Beschreibung, kein gemessenes Ergebnis.
Warum die Datei wichtig ist, erklärt die Anleitung im Repository. Der Language Server nutzt eine compile_commands.json-Datei, um zu verstehen, wie jede Übersetzungseinheit eines Projekts gebaut wird. Compileroptionen, Include-Pfade und Präprozessordefinitionen beeinflussen alle, wie der Server Quelldateien auslegt, und laut Anleitung liefert diese Kompilierdatenbank den Build-Kontext, den genaues „Gehe zu Definition“, „Verweise suchen“ und andere semantische Code-Intelligenz brauchen. Ihr Beispiel: Wenn Sie Copilot bitten, die Definition einer Funktion zu finden oder ihre Aufrufer zu ermitteln, nutzt der Language Server diesen Build-Kontext, um die Beziehungen zwischen Symbolen aufzulösen.
Die Anleitung beschreibt den automatischen Weg mit Bedingungen, die der Changelog-Beitrag nicht nennt. Im MSBuild-Abschnitt steht ein Hinweis, dass die automatische MSBuild-Konfiguration standardmäßig deaktiviert ist und nur verfügbar ist, wenn das Experiment über Feature-Flags für Sie aktiviert wurde. Derselbe Abschnitt beschreibt sie für Windows: Ist das Experiment aktiviert, führt der Language Server beim Start seinen mitgelieferten Extraktor aus, wenn compile_commands.json erzeugt werden muss. Auch der Schnellstart in der README sagt Nutzern von CMake- oder MSBuild-Projekten (vcxproj) weiterhin, die Skill generate-compile-commands auszuführen. Die Repository-Seite zeigt den letzten Commit der Anleitung am 21. Oktober 2026 und den der README am 3. November 2026, beide vor dem Beitrag vom 10. November. Die Quellen sagen nicht, ob der Beitrag bedeutet, dass das Experiment jetzt für alle aktiv ist, oder ob die Anleitung veraltet ist, und dieser Bericht entscheidet das nicht. Sie sagen auch nicht, wie ein Nutzer prüfen kann, ob das Experiment für ihn aktiviert ist.
Die Anleitung legt auch fest, was der automatische Weg nicht tut. Er läuft beim Start und reagiert nicht auf Projektänderungen während einer CLI-Sitzung. Ändert sich das Projekt während einer Sitzung, soll man laut Anleitung die Copilot-CLI-Skill nutzen, um compile_commands.json neu zu erzeugen. Eine Dateisystemüberwachung, die solche Änderungen erkennt, sei für ein künftiges Update geplant; ein Datum nennt die Anleitung nicht.
Zwei Einstellungen steuern laut Anleitung die automatische Extraktion. Sie stehen in einer benutzerbezogenen state.json-Datei unter Windows, unter %LOCALAPPDATA%\mscppls\state.json. Sie gelten für alle Repositorys dieses Nutzers und gehören weder in die cpp-lsp.json eines Projekts noch in die lsp.json von Copilot CLI. Die Schritte: laufende Copilot-CLI-Sitzungen schließen, die den C++ Language Server nutzen, die Eigenschaften in der Datei hinzufügen oder ändern und dabei alle anderen Eigenschaften behalten, dann Copilot CLI neu starten. Wird auto_generate_compile_commands_for_msbuild auf false gesetzt, ist die automatische Extraktion deaktiviert. Der Wert true aktiviert sie wieder, umgeht aber nicht die Feature-Flags: Das Experiment muss ebenfalls aktiviert sein. msbuild_extractor_timeout_seconds legt ein Zeitlimit in Sekunden fest und gilt nur, wenn die automatische Extraktion aktiv ist; das Beispiel der Anleitung nutzt 120. Änderungen wirken beim nächsten Start des Language Servers. Die Anleitung warnt, dass die Zustandsdatei auch Authentifizierungsdaten und andere Nutzereinstellungen enthalten kann; man soll eine vorhandene Datei daher nicht nur durch das Beispiel ersetzen, sie nicht in ein Repository committen und nicht an ein öffentliches Issue anhängen.
Andere Build-Systeme brauchen laut Beitrag weiterhin eine eigene compile_commands.json oder eine Skill, die sie erzeugt. Für CMake verweist der Beitrag auf die Skill zum Erzeugen von Kompilierbefehlen aus der früheren Version, die man aufruft, indem man Copilot CLI um „load project“ bittet. Die Anleitung ergänzt, dass CMake-Projekte mit den Generatoren Ninja oder Makefile die Datei erzeugen können, indem sie -DCMAKE_EXPORT_COMPILE_COMMANDS=ON zum Konfigurationsbefehl hinzufügen, und dass Projekte mit anderen Generatoren zuerst prüfen sollten, ob eine einmalige Konfiguration mit Ninja oder Makefile möglich ist. Für MSBuild-Nutzer ohne das Experiment oder mit abgeschalteter Extraktion verweist die Anleitung auf die Skill oder auf eine Beispielanwendung und sagt, dass das Beispiel bei komplexen Projekten Anpassungen brauchen kann. Für eigene Builds empfiehlt die Anleitung, die Schritte in einer projektspezifischen Skill zu speichern, damit der Ablauf wiederholbar ist, mit der Skill setup-cpp-language-server als Ausgangsvorlage.
Die README beschreibt den Einstieg. Sie sagt, der Language Server sei in der Vorschau und könne sich in künftigen Versionen ändern, und er bringe dieselbe C++-Code-Intelligenz wie in Visual Studio und VS Code zu GitHub Copilot CLI unter Windows, macOS und Linux. Voraussetzungen sind ein aktives GitHub-Copilot-Abonnement, GitHub Copilot CLI mit Unterstützung für Sitzungsverzeichnisse (getestet mit der Vorabversion 1.0.106-5) und npm. Der Schnellstart hat sechs Schritte: das Plugin in Copilot CLI mit /plugin install cpp-language-server@copilot-plugins installieren, das den Server mitbringt und automatisch aktualisiert; npx @microsoft/cpp-language-server --accept-eula --login ausführen, um die Lizenzbedingungen zu akzeptieren und sich bei GitHub anzumelden; die Datei compile_commands.json anlegen; Copilot CLI aus dem Projektverzeichnis starten; /lsp show ausführen, das einen „cpp“-Server anzeigen sollte; danach Copilot CLI wie gewohnt nutzen. Die README schlägt vor, Formulierungen wie „use LSP tools“ in einen Prompt aufzunehmen, damit der Agent die Werkzeuge nutzt.
Die Funktionstabelle im Repository zeigt, auf welche Anfragen der Server antwortet. Unterstützt werden Hover, Vervollständigung, Signaturhilfe, „Gehe zu Definition“, „Gehe zu Deklaration“, „Gehe zu Typdefinition“, „Verweise suchen“, Dokumentsymbole, Arbeitsbereichssymbole, Aufrufhierarchie, Faltbereiche, Pull-Diagnosen und Arbeitsbereichsordner. Nicht unterstützt werden Umbenennen, Code-Aktionen, Code Lens, Dokumenthervorhebung sowie Formatierung von Dokument, Bereich und bei der Eingabe. Auch die Synchronisierung von Textdokumenten wird nicht unterstützt. Laut Hinweis in der Tabelle soll der KI-Agent die Dateien auf der Festplatte aktualisieren, bevor er LSP-Operationen aufruft. Dieser Bericht liest die Tabelle so: Der Server benennt keine Symbole um und sieht keine Änderungen, die noch nicht auf der Festplatte stehen.
Zu Daten und Umfang sagt die README, die Software könne Informationen über Sie und Ihre Nutzung sammeln und an Microsoft senden, und die Telemetrie lasse sich wie im Repository beschrieben abschalten; sie verlinkt dazu eine Seite zu Befehlszeilenoptionen, die dieser Bericht nicht gelesen hat. Der Beitrag sagt, ein aktives GitHub-Copilot-Abonnement sei nötig. Die Quellen stützen eine enge Aussage. Am 10. November hat GitHub eine automatische MSBuild-Einrichtung für den C++ Language Server in Copilot CLI beschrieben. Die eigene Anleitung des Repositorys, zuletzt vor diesem Datum geändert, beschreibt dieselbe Funktion als Experiment unter Windows, das standardmäßig ausgeschaltet ist. Keine Quelle nennt Messwerte zu Einrichtungszeit oder Token-Verbrauch.
Sources
FAQ
Richtet der C++ Language Server MSBuild-Projekte jetzt automatisch ein?
GitHubs Beitrag vom 10. November sagt, der mitgelieferte Extraktor laufe beim Öffnen des Projekts automatisch. Die Repository-Anleitung, zuletzt am 21. Oktober geändert, beschreibt die automatische MSBuild-Konfiguration dagegen als Experiment unter Windows, standardmäßig aus und für Sie über Feature-Flags aktiviert. Welche Angabe gilt und wie man prüft, ob sie für einen aktiv ist, sagen die Quellen nicht.
Wie schalte ich die automatische MSBuild-Extraktion ab oder ändere ihr Zeitlimit?
Laut Repository-Anleitung bearbeitet man unter Windows die benutzerbezogene state.json und behält ihre übrigen Eigenschaften. auto_generate_compile_commands_for_msbuild auf false schaltet die Extraktion ab; msbuild_extractor_timeout_seconds setzt ein Zeitlimit, das nur bei aktiver Extraktion gilt. Danach Copilot CLI neu starten. Die Datei kann Authentifizierungsdaten enthalten, also nicht committen oder teilen.
Welche LSP-Funktionen unterstützt der Server nicht?
Die Funktionstabelle des Repositorys führt Umbenennen, Code-Aktionen, Code Lens, Dokumenthervorhebung sowie Formatierung von Dokument, Bereich und bei der Eingabe als nicht unterstützt. Auch die Textdokument-Synchronisierung fehlt: Laut Tabelle soll der Agent die Dateien auf der Festplatte aktualisieren, bevor er LSP-Operationen aufruft. Hover, Vervollständigung, „Gehe zu Definition“, „Verweise suchen“ und Aufrufhierarchie werden unterstützt.