September 2025 (Version 1.105)
Erscheinungsdatum: 9. Oktober 2025
Sicherheitsupdate: Die folgende Erweiterung hat Sicherheitsupdates erhalten: GitHub.copilot-chat.
Update 1.105.1: Das Update behebt diese Probleme im Kern und diese Probleme in der GitHub Copilot Chat Erweiterung.
Update: Schauen Sie sich die Ankündigungen von VS Code auf der GitHub Universe an.
Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Willkommen zur September 2025-Version von Visual Studio Code. Es gibt viele Updates in dieser Version, die Ihnen hoffentlich gefallen werden, einige der wichtigsten Highlights sind
-
Betriebssystemintegration
- Benachrichtigungen über Aufgabenabschluss und Chat-Antworten erhalten (Mehr anzeigen)
- Native Authentifizierungserfahrung unter macOS (Mehr anzeigen)
-
Entwicklerproduktivität
- Komplexe Coding-Aufgaben planen und übergeben (Mehr anzeigen)
- Zusammenführungskonflikte mit KI-Unterstützung lösen (Mehr anzeigen)
-
Agenten-Tools
- OpenAI Codex Integration (Mehr anzeigen)
- Unteragenten verwenden, um die Kontextverwaltung zu verbessern (Mehr anzeigen)
Wenn Sie diese Release Notes online lesen möchten, gehen Sie zu Updates auf code.visualstudio.com.
Insiders: Möchten Sie neue Funktionen so schnell wie möglich ausprobieren?
Sie können den nächtlichen Insiders-Build herunterladen und die neuesten Updates ausprobieren, sobald sie verfügbar sind.
Insiders herunterladen
VS Code auf der GitHub Universe

Auf der GitHub Universe haben wir mehrere Updates vorgestellt, die Ihnen helfen, mit KI-gestützter Entwicklung in VS Code produktiver zu sein. Sie können nun den integrierten Plan-Agenten verwenden, um komplexe Aufgaben zu recherchieren und zu planen, den Kontext mit Unteragenten besser zu verwalten und Hintergrundagenten wie OpenAI Codex und GitHub Copilot CLI zu verwalten.
Laden Sie VS Code Insiders herunter, um diese Funktionen noch heute auszuprobieren.
Agentenplaner
Hinweis: Diese Funktion ist derzeit nur in VS Code Insiders verfügbar.
Um Ihnen bei der besseren Vorbereitung auf komplexe Coding-Aufgaben zu helfen, enthält VS Code jetzt einen integrierten Plan-Agenten. Der Plan-Agent hilft Ihnen bei der Analyse von Aufgaben, der Zerlegung in Schritte und der Erstellung von Implementierungsplänen, bevor Sie mit der Entwicklung beginnen. Dieser Ansatz hilft, wichtige Anforderungen nicht zu übersehen.
Um den Plan-Agenten zu verwenden, öffnen Sie die Chat-Ansicht (⌃⌘I (Windows, Linux Ctrl+Alt+I)), wählen Sie Plan aus dem Agenten-Dropdown und beschreiben Sie Ihre Aufgabe.

Nachdem der Plan fertiggestellt ist, können Sie mit der Implementierung sofort beginnen oder den Plan für die spätere Verwendung speichern. Der Plan-Agent nutzt die neue Handoff-Funktion für benutzerdefinierte Chat-Modi.
Erfahren Sie mehr darüber, wie Sie den integrierten Plan-Agenten in VS Code verwenden.
Handoffs
Hinweis: Diese Funktion ist derzeit nur in VS Code Insiders verfügbar.
Handoffs ermöglichen es Ihnen, geführte Arbeitsabläufe zu erstellen, die zwischen Chat-Modi mit vorgeschlagenen nächsten Schritten übergehen. Nachdem eine Chat-Antwort abgeschlossen ist, erscheinen Handoff-Schaltflächen, mit denen Benutzer mit relevantem Kontext und einer vorab ausgefüllten Aufforderung zum nächsten Modus wechseln können.
Handoffs sind nützlich für die Orchestrierung von mehrstufigen Entwicklungsworkflows, zum Beispiel
Handoffs ermöglichen es Ihnen festzulegen, wie Sie von einem Chat-Modus zu einem anderen wechseln und benutzerdefinierte, strukturierte Arbeitsabläufe definieren. Beim Wechsel zu einem anderen Modus können Sie eine Aufforderung angeben, die verwendet werden soll.
Sie geben den Handoff im Frontmatter-Metadaten Ihrer benutzerdefinierten Chat-Modusdefinition an
---
description: Generate an implementation plan
tools: ['search', 'fetch']
handoffs:
- label: Start Implementation
agent: implementation
prompt: Now implement the plan outlined above.
send: true
---
Erfahren Sie mehr darüber, wie Sie Handoffs in benutzerdefinierten Chat-Modi verwenden.
Isolierte Unteragenten
Hinweis: Diese Funktion ist derzeit nur in VS Code Insiders verfügbar.
Unteragenten ermöglichen es Ihnen, Aufgaben an autonome Agenten innerhalb Ihrer Chatsitzungen zu delegieren. Unteragenten haben ihr eigenes Kontextfenster und arbeiten ohne Benutzerinteraktion, was sie ideal für Aufgaben wie Recherche, Analyse und Kontextbeschaffung macht.
Nachdem der Unteragent seine Aufgabe abgeschlossen hat, gibt er die Ergebnisse an die Hauptchatsitzung zurück. Unteragenten haben ihr eigenes Kontextfenster, was hilft, die Kontextverwaltung in Ihrer Hauptchatsitzung zu optimieren.
Um Unteragenten in Ihren Chat-Aufforderungen oder benutzerdefinierten Chat-Modi zu verwenden, verweisen Sie auf das Werkzeug #runSubagent, damit der Hauptagent einen Unteragenten aufruft. Zum Beispiel
"Führen Sie das Werkzeug #runSubagent für die Kontextbeschaffung und Recherche zu Authentifizierungsmechanismen für diese App aus."
Erfahren Sie mehr über die Verwendung von Unteragenten in VS Code.
Integration mit OpenAI Codex
Hinweis: Diese Funktion ist derzeit nur in VS Code Insiders verfügbar.
Die neue Ansicht Agent Sessions in VS Code Insiders integriert sich nun auch mit OpenAI Codex. Verwalten Sie lokale und cloudbasierte Agentensitzungen über eine einheitliche Schnittstelle, was es einfacher macht, den Fortschritt zu verfolgen und Aufgaben über mehrere KI-Coding-Assistenten hinweg zu delegieren.

OpenAI Codex kann nun durch Ihr Copilot-Abonnement betrieben werden. Sobald die Codex-Erweiterung installiert und konfiguriert ist, wird Codex automatisch in der Ansicht "Agent Sessions" angezeigt. Nutzen Sie Ihr Copilot Pro+-Abonnement zur Authentifizierung und zum Zugriff auf Codex ohne zusätzliche Einrichtung.
Erhalten Sie weitere Informationen zur GitHub Copilot-Abrechnung und Premium-Anfragen in der GitHub-Dokumentation.
Integration mit Copilot CLI
Die neue Ansicht Agent Sessions in VS Code Insiders unterstützt nun die GitHub Copilot CLI. Sie können lokale und cloudbasierte Agentensitzungen über eine einheitliche Schnittstelle verwalten, was es einfacher macht, den Fortschritt zu verfolgen und Aufgaben zwischen der Copilot CLI und dem Copilot Coding-Agenten zu delegieren.

- Starten und Fortsetzen von CLI-Sitzungen in einem Chat-Editor oder einem integrierten Terminal.
- Verwenden Sie
/delegatein einem CLI-Chat-Editor, um Ihre Arbeit an den Coding-Agenten in der Cloud zu delegieren. - Verbessern Sie die CLI-Erfahrung in VS Code, z. B. durch Anhängen von Kontext aus Ihrem Editor, wie Sie es heute im Ask- oder Agentenmodus tun würden.
Chat
Vollqualifizierte Tool-Namen
Prompt-Dateien und benutzerdefinierte Chat-Modi ermöglichen es Ihnen, anzugeben, welche Tools verwendet werden können. Um Namenskonflikte zwischen integrierten Tools und Tools, die von MCP-Servern oder Erweiterungen bereitgestellt werden, zu vermeiden, unterstützen wir nun vollständig qualifizierte Tool-Namen für Prompt-Dateien und Chat-Modi. Dies hilft auch bei der Erkennung fehlender Erweiterungen oder MCP-Server.
Tool-Namen werden nun durch den MCP-Server, die Erweiterung oder die Tool-Sammlung, zu der sie gehören, qualifiziert. Anstelle von codebase würden Sie beispielsweise search/codebase verwenden oder list_issues wäre github/github-mcp-server/list_issues.
Sie können weiterhin die vorherige Notation verwenden, aber eine Code-Aktion hilft Ihnen bei der Migration zu den neuen Namen.

Verbesserte Bearbeitungswerkzeuge für benutzerdefinierte Modelle
Einstellung: github.copilot.chat.customOAIModels
Wir haben die Bearbeitungswerkzeuge für benutzerdefinierte Modelle mit Bring Your Own Key (BYOK) verbessert, um eine bessere Integration mit den integrierten VS Code-Werkzeugen zu ermöglichen. Darüber hinaus haben wir unsere Standardwerkzeuge erweitert und einen "Lernmechanismus" hinzugefügt, um die optimalen Werkzeugsätze für benutzerdefinierte Modelle auszuwählen.
Wenn Sie OpenAI-kompatible Modelle verwenden, können Sie auch die Liste der Bearbeitungswerkzeuge explizit mit der Einstellung github.copilot.chat.customOAIModels konfigurieren.
Unterstützung für verschachtelte AGENTS.md-Dateien (Experimentell)
Einstellung: chat.useNestedAgentsMdFiles
Im letzten Meilenstein haben wir die Unterstützung für AGENTS.md am Stammverzeichnis Ihres Arbeitsbereichs eingeführt. Diese Funktionalität ist nun allgemein verfügbar und standardmäßig aktiviert.
Wir haben nun auch die Unterstützung für verschachtelte AGENTS.md-Dateien in Unterordnern Ihres Arbeitsbereichs hinzugefügt. Dies ermöglicht es Ihnen, spezifischere Kontexte und Anleitungen für verschiedene Teile Ihrer Codebasis bereitzustellen. Zum Beispiel könnten Sie unterschiedliche Anleitungen für Frontend- und Backend-Code haben. Diese Funktionalität ist derzeit experimentell und kann mit der Einstellung chat.useNestedAgentsMdFiles aktiviert werden.
Erfahren Sie mehr darüber, wie Sie Chat in VS Code an Ihre Praktiken und Team-Workflows anpassen.
Verbesserungen der Chat-Benutzeroberfläche
Betriebssystem-Benachrichtigungen für Chat-Antworten
Einstellung: chat.notifyWindowOnResponseReceived
In VS Code 1.103 haben wir OS-Benachrichtigungen für Chatsitzungen eingeführt, die eine Benutzerbestätigung erforderten, wenn das VS Code-Fenster nicht fokussiert war. In dieser Version erweitern wir diese Funktionalität um ein OS-Badge und eine Benachrichtigungs-Toast, wenn eine Chat-Antwort empfangen wird. Die Benachrichtigung enthält eine Vorschau der Antwort, und das Auswählen fokussiert die Chat-Eingabe.

Sie können das Benachrichtigungsverhalten mit der Einstellung chat.notifyWindowOnResponseReceived steuern.
Chain of Thought (Experimentell)
Einstellung: chat.agent.thinkingStyle
Chain of Thought zeigt die Überlegungen des Modells während der Antwort an, was für die Fehlersuche oder das Verständnis von Vorschlägen des Modells großartig sein kann. Mit der Einführung von GPT-5-Codex werden Denk-Tokens nun im Chat als erweiterbare Abschnitte in der Antwort angezeigt.

Sie können konfigurieren, wie Chain of Thought angezeigt oder ausgeblendet wird, mit der Einstellung chat.agent.thinkingStyle. Denk-Tokens werden bald auch für weitere Modelle verfügbar sein!
Zuletzt besuchte Chat-Sitzungen anzeigen (Experimentell)
Einstellung: chat.emptyState.history.enabled
Im letzten Meilenstein haben wir Prompt-Datei-Vorschläge eingeführt, die Ihnen beim Erstellen einer neuen Chatsitzung helfen (⌘N (Windows, Linux Ctrl+N)). In dieser Version bauen wir darauf auf, indem wir Ihre zuletzt besuchten lokalen Chat-Konversationen anzeigen. Dies hilft Ihnen, schnell dort weiterzumachen, wo Sie aufgehört haben, oder frühere Konversationen erneut zu besuchen.

Standardmäßig ist diese Funktionalität deaktiviert, aber Sie können sie mit der Einstellung chat.emptyState.history.enabled aktivieren.
Änderungen während einer Agentenschleife beibehalten oder rückgängig machen
Zuvor konnten Sie, während ein Agent Ihre Chat-Anfrage noch verarbeitete, keine Dateiänderungen beibehalten oder rückgängig machen, bis der Agent fertig war. Jetzt können Sie Änderungen an Dateien beibehalten oder rückgängig machen, während eine Bearbeitungsschleife stattfindet. Dies gibt Ihnen mehr Kontrolle, insbesondere bei langwierigen Aufgaben.
Tastenkombinationen für die Navigation durch Benutzerchat-Nachrichten
Um schnell durch Ihre vorherigen Chat-Aufforderungen in der Chatsitzung zu navigieren, haben wir Tastenkombinationen zum Auf- und Abwärtsnavigieren durch Ihre Chat-Nachrichten hinzugefügt.
- Vorherige Navigation: ⌥⌘↑ (Windows, Linux Ctrl+Alt+Up)
- Nächste Navigation: ⌥⌘↓ (Windows, Linux Ctrl+Alt+Down)
Agentensitzungen
In diesem Meilenstein haben wir mehrere Verbesserungen an der Chat-Sitzungsansicht und der Erfahrung bei der Delegation von Aufgaben an Remote-Coding-Agenten vorgenommen.
Verbesserungen der Chat-Sitzungsansicht
Einstellung: chat.agentSessionsViewLocation
Die Ansicht Chat Sessions bietet einen zentralen Ort für die Verwaltung von lokalen Chat-Konversationen und Remote-Coding-Agentensitzungen. Diese Ansicht ermöglicht es Ihnen, mehrere KI-Sitzungen gleichzeitig zu nutzen, deren Fortschritt zu verfolgen und langwierige Aufgaben effizient zu verwalten.
In dieser Version haben wir mehrere UI-Verfeinerungen und Leistungsverbesserungen vorgenommen, um die Chat-Sitzungserfahrung zu verbessern.
-
Die Ansicht "Chat Sessions" unterstützt weiterhin Funktionen wie die Statusleistenverfolgung zur Überwachung mehrerer Coding-Agenten, Kontextmenüs zur Sitzungsverwaltung und detaillierte Beschreibungen, um detaillierte Kontexte für jede Sitzung bereitzustellen.
-
Initiieren Sie schnell eine neue Sitzung, indem Sie die Schaltfläche "+" im Ansichtsheader verwenden.

Delegation an Remote-Coding-Agenten
Ein typisches Szenario für die Arbeit mit Remote-Coding-Agenten ist, zunächst eine Aufgabe in einer lokalen Chatsitzung zu besprechen und zu planen, bei der Sie Zugriff auf den vollständigen Kontext Ihrer Codebasis haben, und dann die Implementierungsarbeit an einen Remote-Coding-Agenten zu delegieren. Der Remote-Agent kann dann im Hintergrund an der Aufgabe arbeiten und einen Pull-Request mit der Lösung erstellen.
Wenn Sie in einem Repository arbeiten, für das der Copilot Coding Agent aktiviert ist, wird die Schaltfläche An Coding Agent delegieren in der Chat-Ansicht standardmäßig angezeigt.

Wenn Sie die Delegierungsaktion verwenden, werden alle Kontexte Ihrer Chat-Konversation, einschließlich Dateireferenzen, an den Coding-Agenten weitergeleitet. Wenn Ihre Konversation das Kontextfenster des Coding-Agenten überschreitet, fasst VS Code die Informationen automatisch zusammen und komprimiert sie, um sie an das Fenster anzupassen.
Chat-Terminalprofile
Wir haben plattformspezifische Einstellungen hinzugefügt: chat.tools.terminal.terminalProfile.windows, chat.tools.terminal.terminalProfile.osx und chat.tools.terminal.terminalProfile.linux, um die Shell zu konfigurieren, die vom Run-in-Terminal-Tool gestartet wird.
Eine Chat-spezifische Shell ist nützlich, um interaktive Elemente aus Ihrer regulären Shell-Einrichtung zu vereinfachen oder zu entfernen und dem Agenten die Nutzung zu erleichtern. Gleichzeitig bleiben Ihre reguläre Umgebung und Ihre Shell-Startskripte unverändert.
"chat.tools.terminal.terminalProfile.osx": {
"path": "bash", // bash instead of zsh
"args": [], // non-login instead of login on macOS
"env": {
"COPILOT": "1" // environment variable that can be used in init scripts
}
}
Terminalbefehle
Automatische Antwort auf Terminal-Eingabeaufforderungen (Experimentell)
Einstellung: chat.tools.terminal.autoReplyToPrompts
Wir haben eine Opt-in-Einstellung eingeführt, chat.tools.terminal.autoReplyToPrompts, die es dem Agenten ermöglicht, automatisch auf Eingabeaufforderungen im Terminal zu antworten, wie z. B. Bestätigen? j/n.
Erkennung von freiem Text im Terminal
Wenn das Terminal eine freie Eingabe erfordert, zeigen wir jetzt eine Bestätigungsaufforderung an. Dies ermöglicht es Ihnen, sich auf Ihre aktuelle Arbeit zu konzentrieren und die Aufmerksamkeit nur dann zu verlagern, wenn eine Eingabe erforderlich ist.
Anmeldung mit Apple-Konten
Zusätzlich zur Anmeldung mit einem GitHub- oder Google-Konto können Sie sich jetzt auch mit einem Apple-Konto anmelden oder ein GitHub Copilot-Konto einrichten. Diese Funktionalität wird schrittweise für VS Code-Benutzer ausgerollt.

Weitere Informationen hierzu finden Sie in der Ankündigung GitHub Blog-Beitrag.
Modellverfügbarkeit
In diesem Meilenstein haben wir die Unterstützung für die folgenden Modelle im Chat hinzugefügt. Die verfügbaren Modelle hängen von Ihrem Copilot-Plan und Ihrer Konfiguration ab.
-
GPT-5-Codex, das GPT-5-Modell von OpenAI, optimiert für agentenbasiertes Coding.
-
Claude Sonnet 4.5, Anthropic's fortschrittlichstes Modell für Coding und Real-World-Agenten.
Sie können mit dem Modellauswahlfeld im Chat zwischen verschiedenen Modellen wählen. Erfahren Sie mehr über Sprachmodelle in VS Code.
MCP
MCP Marketplace (Vorschau)
Einstellung: chat.mcp.gallery.enabled
VS Code enthält nun einen integrierten MCP-Marktplatz, der es Benutzern ermöglicht, MCP-Server direkt aus der Erweiterungsansicht zu durchsuchen und zu installieren. Dies wird durch die GitHub MCP-Registry unterstützt und bietet eine nahtlose Erfahrung für die Entdeckung und Verwaltung von MCP-Servern direkt im Editor.
Hinweis: Diese Funktion befindet sich derzeit in der Vorschau. Nicht alle Funktionen sind bereits verfügbar und die Erfahrung kann noch einige Ecken und Kanten haben.
Der MCP-Marktplatz ist standardmäßig deaktiviert. Wenn keine MCP-Server installiert sind, sehen Sie in der Erweiterungsansicht eine Willkommensansicht, die einfachen Zugriff auf die Aktivierung des Marktplatzes bietet. Sie können den MCP-Marktplatz auch manuell aktivieren, indem Sie die Einstellung chat.mcp.gallery.enabled verwenden.

Um die MCP-Server aus der Erweiterungsansicht zu durchsuchen
- Verwenden Sie den Filter
@mcpim Suchfeld der Erweiterungsansicht - Wählen Sie MCP Servers aus dem Filter-Dropdown in der Erweiterungsansicht
- Suchen Sie nach spezifischen MCP-Servern anhand des Namens

MCP-Server automatisch starten
Einstellung: chat.mcp.autostart
In dieser Version werden neue oder veraltete MCP-Server nun automatisch gestartet, wenn Sie eine Chat-Nachricht senden. VS Code vermeidet auch, Interaktionen wie Dialoge beim automatischen Starten eines Servers auszulösen, und fügt stattdessen eine Anzeige im Chat hinzu, um Sie darüber zu informieren, dass ein Server Aufmerksamkeit benötigt.

Da MCP Autostart standardmäßig aktiviert ist, aktivieren wir Erweiterungen nicht mehr eilig, sondern nur noch MCP-bereitstellende Erweiterungen, wenn die erste Chat-Nachricht gesendet wird.
Für Erweiterungsentwickler haben wir auch die Unterstützung für die when-Klausel für den mcpServerDefinitionProviders-Beitragspunkt hinzugefügt, damit Sie die Aktivierung vermeiden können, wenn sie nicht relevant ist.
Verbesserte Darstellung von MCP-Ressourcen, die von Tools zurückgegeben werden
Zuvor überließ es unsere Implementierung von Werkzeugergebnissen, die Ressourcen enthielten, dem Modell, diese Ressourcen abzurufen, ohne klare Anweisungen, wie dies zu tun sei. In dieser Version von VS Code fügen wir standardmäßig eine Vorschau des Ressourceninhalts ein und fügen Anweisungen zum Abrufen der vollständigen Inhalte hinzu. Dies sollte zu einer besseren Modellleistung führen, wenn solche Werkzeuge verwendet werden.
MCP-Spezifikationsupdates
In diesem Meilenstein haben wir die folgenden Updates an der MCP-Spezifikation übernommen:
-
SEP-973, das es MCP-Servern ermöglicht,
iconsanzugeben, die ihren Daten zugeordnet sind. Dies kann verwendet werden, um Servern, Ressourcen und Tools ein benutzerdefiniertes Symbol zu geben.
HTTP-MCP-Server müssen Icons von derselben Behörde bereitstellen, auf der der MCP-Server selbst lauscht, während stdio-Server URIs
file:///auf der Festplatte referenzieren dürfen. -
SEP-1034, das es MCP-Servern ermöglicht,
default-Werte bei der Verwendung von Elicitation bereitzustellen.
Barrierefreiheit
Shell-Integration für pwsh unter Windows-Unterstützung für Screenreader
PSReadLine wurde historisch deaktiviert, wenn ein Screenreader erkannt wurde, um Benutzer mit übermäßigem akustischem Feedback zu vermeiden. Da unsere Terminal-Shell-Integration auf PSReadLine-Unterstützung angewiesen ist, aktivieren wir nun eine gestraffte Version von PSReadLine im Screenreader-Modus. Dies gewährleistet, dass die Shell-Integration und ihre Funktionen für Screenreader-Benutzer funktionieren.
Chat-Verbesserungen
Einstellung: accessibility.verboseChatProgressUpdates
Eine neue Einstellung, accessibility.verboseChatProgressUpdates, ermöglicht detailliertere Ankündigungen für Screenreader-Benutzer über Chat-Aktivitäten.
Von der Chat-Eingabe aus können Benutzer zum zuletzt fokussierten Chat-Antwort-Element wechseln ⇧⌘↓ (Windows, Linux Ctrl+Shift+Down).
Persistenz der zugänglichen Ansicht
Beim Wechseln zwischen VS Code und anderen Fenstern behalten wir nun die Position des Benutzers in der zugänglichen Ansicht für einen nahtlosen Workflow bei.
Editor-Erlebnis
Standard-Tastenkombinationen für Quick Input überschreiben
Die Quick Input-Steuerelemente, wie die in der Befehlspalette verwendeten (Quick Pick, Eingabefeld), hatten früher fest codierte Tastenkombinationen für die Navigation, wie z. B. das Auf- oder Abwärtsbewegen in der Liste, Akzeptieren (Enter) und einige andere Interaktionen.
Diese Aktionen sind nun in Befehle ausgelagert, was es Ihnen ermöglicht, ihre Tastenkombinationen zu überschreiben. Wenn Sie beispielsweise möchten, dass Tab zum Akzeptieren von etwas in Quick Pick verwendet wird, ist dies nun möglich. Um alle Tastenkombinationen zu sehen, die Sie überschreiben können, öffnen Sie den Editor für Tastenkombinationen (kb(workbench.action.openGlobalKeybindings)) und suchen Sie nach quickInput.
Nur Leerzeichen enthaltende Vorschläge für die nächste Bearbeitung nicht zulassen
Einstellung: github.copilot.nextEditSuggestions.allowWhitespaceOnlyChanges
Es ist nun möglich, Vorschläge für die nächste Bearbeitung (NES) zu verbieten, die nur Leerzeichen enthaltende Änderungen vorschlagen, wie z. B. Codeformatierung.
Quellcodeverwaltung
Zusammenführungskonflikte mit KI lösen
Beim Öffnen einer Datei mit Git-Zusammenführungskonfliktmarkierungen können Sie Zusammenführungskonflikte nun mit KI lösen. Wir haben eine neue Aktion in der unteren rechten Ecke des Editors hinzugefügt. Das Auswählen dieser neuen Aktion öffnet die Chat-Ansicht und startet einen agentenbasierten Ablauf mit der Zusammenführungsbasis und den Änderungen aus jedem Branch als Kontext.

Sie können die vorgeschlagene Lösung für den Zusammenführungskonflikt im Editor überprüfen und bei Bedarf weiteren Kontext hinzufügen. Sie können die Lösung von Zusammenführungskonflikten mit einer AGENTS.md-Datei anpassen.
Datei-Commit zum Chat-Kontext hinzufügen
Vor einigen Meilensteinen haben wir die Möglichkeit hinzugefügt, die Dateien in jedem Verlaufsartikel in der Source Control Graph-Ansicht anzuzeigen. Sie können nun eine Datei aus einem Verlaufsartikel als Kontext für eine Chat-Anfrage hinzufügen. Dies kann nützlich sein, wenn Sie den Inhalt einer bestimmten Version einer Datei als Kontext für Ihre Chat-Aufforderung bereitstellen möchten.
Um eine Datei aus einem früheren Commit zum Chat hinzuzufügen, wählen Sie einen Commit aus, um die Liste der Dateien anzuzeigen, klicken Sie mit der rechten Maustaste auf eine bestimmte Datei und wählen Sie dann Zum Chat hinzufügen aus dem Kontextmenü.

Testen
Tests mit Code Coverage ausführen
Wenn Sie eine Test-Erweiterung für Ihren Code installiert haben, ermöglicht das Tool runTests im Chat dem Agenten, Tests in Ihrer Codebasis auszuführen, indem es die VS Code Testing-Integration verwendet, anstatt sie von der Kommandozeile auszuführen.
In dieser Version meldet das Tool runTests dem Agenten nun auch die Test-Codeabdeckung. Dies ermöglicht es dem Agenten, Tests zu generieren und zu verifizieren, die den gesamten Code abdecken.
Testergebnisspalte tauschen
Sie können die Seite, auf der der Ergebnisbaum in der Ansicht "Testergebnisse" angezeigt wird, mit der neuen Swap-Schaltfläche ↔️ im Titermenü der Ansicht ändern.

Aufgaben
OS-Benachrichtigung für den Abschluss langwieriger Aufgaben
Einstellung: task.notifyWindowOnTaskCompletion
Wenn eine vom Benutzer initiierte, langwierige Aufgabe abgeschlossen wird, während das VS Code-Fenster nicht fokussiert ist, wird ein OS-Badge und eine Benachrichtigungs-Toast angezeigt. Das Auswählen der Benachrichtigung fokussiert das Fenster, in dem die Aufgabe abgeschlossen wurde. Sie können dieses Verhalten mit der Einstellung task.notifyWindowOnTaskCompletion konfigurieren.

Beibehaltung des Task-Terminaltitels
Einstellung: terminal.integrated.tabs.title
Sie können den Titel von Terminal-Tabs mit der Einstellung terminal.integrated.tabs.title konfigurieren. Standardmäßig ist der Wert ${process}, der den Namen des im Terminal laufenden Prozesses anzeigt.
Für Aufgaben bedeutet dies, dass sich der Terminaltitel ändern kann, wenn die Aufgabe einen anderen Prozess startet, was verwirrend sein kann. Um dies zu beheben, behalten wir nun den Namen der Aufgabe als Terminaltitel bei, wenn eine Aufgabe gestartet wird.
Terminal
Start-Diktierfunktion freigegeben
Wir haben die Aktion Start-Diktierfunktion zum Überlaufmenü des Terminals hinzugefügt. Diese Aktion ermöglicht es Ihnen, Spracheingaben zur Texteingabe im Terminal zu verwenden. Eine entsprechende Aktion Stopp-Diktierfunktion wird angezeigt, wenn sie relevant ist.

Authentifizierung
Native Broker-Unterstützung für Microsoft-Authentifizierung unter macOS
Einstellung: microsoft-authentication.implementation
In diesem Meilenstein haben wir die neuesten MSAL-Bibliotheken übernommen und damit können Sie sich nun über eine native Erfahrung unter macOS (zusätzlich zu Windows) anmelden.

Native Broker-Authentifizierung ist nur verfügbar für
- M-Serie (auch bekannt als ARM) macOS-Geräte
- macOS-Computer, die mit Intune registriert sind und die Richtlinie haben, über den Broker zu gehen
Dies ermöglicht schöne Single-Sign-On-Flows und ist der empfohlene Weg, um eine Microsoft-Authentifizierungssitzung zu erhalten. Das MSAL-Team wird dies im Laufe der Zeit für die verbleibenden Plattformen (Linux, Windows ARM, macOS Intel/x64) aktivieren, also bleiben Sie dran!
HINWEIS: Wenn Sie Probleme bei der Authentifizierung über den Broker haben, können Sie die Einstellung microsoft-authentication.implementation zu
msal-no-brokerändern. Dies verwendet dann Ihren Browser für die Authentifizierung.
PKCE-Unterstützung für GitHub-Authentifizierung
GitHub hat kürzlich PKCE (Proof Key for Code Exchange) in seinen Authentifizierungsflüssen aktiviert. Wir haben dies im Fluss übernommen, den VS Code für die Authentifizierung bei GitHub verwendet.
Sprachen
Python
Aktion "Test-ID kopieren"
Das Kontextmenü des Ausführungsgatters enthält jetzt den Befehl Test-ID kopieren, um die vollqualifizierte pytest- oder unittest-Testkennung zu kopieren.
Beiträge zu Erweiterungen
GitHub Pull Requests
Es gab weitere Fortschritte bei der GitHub Pull Requests-Erweiterung, die es Ihnen ermöglicht, Pull Requests und Issues zu bearbeiten, zu erstellen und zu verwalten. Neue Funktionen umfassen
- Das Werkzeug
#openPullRequesterkennt offene PR-Diffs und PR-Dateien als "offenen Pull Request". - Die Einstellung githubIssues.issueAvatarDisplay kann verwendet werden, um zu steuern, ob der Avatar des ersten zugewiesenen Benutzers oder der Avatar des Autors in der Ansicht "Issues" angezeigt wird.
- Anstatt die Pull-Request-Abfragen, die die Ansicht "Pull Requests" unterstützen, bei jeder Aktualisierung auszuführen, prüfen wir nun, ob es neue PRs im Repository gibt, bevor wir die Abfragen ausführen. Dies sollte die API-Nutzung reduzieren, wenn keine neuen PRs vorhanden sind.
Sehen Sie sich das Changelog für die Version 0.120.0 der Erweiterung an, um alles Wissenswerte über diese Version zu erfahren.
Erweiterungsentwicklung
Microsoft Authentication unterstützt jetzt WWW-Authenticate Claims Challenges
Azure erzwingt jetzt, dass alle Erstellungs-/Löschvorgänge für Azure-Ressourcen über authentifizierte Sitzungen erfolgen müssen, die MFA für die Anmeldung verwendet haben. Während einige Organisationen MFA aus beliebigen Authentifizierungsgründen verlangen, erzwingen einige Organisationen dies nicht, und diese sind von dieser MFA-Erzwingung betroffen.
Wenn Sie eine Erweiterung haben, die Microsoft Authentication verwendet und mit ARM kommuniziert, müssen Sie den Fall behandeln, wenn der ARM-API-Aufruf einen 401 Unauthorized mit einem WWW-Authenticate-Header wie folgt zurückgibt.
Bearer realm="", authorization_uri="https://login.microsoftonline.com/common/oauth2/authorize", error="insufficient_claims", claims="SOME VALUE HERE"
Die gute Nachricht ist, dass wir eine finalisierte API eingeführt haben, die Sie zur Behandlung dieses Statuscodes verwenden können.
const wwwAuthenticateFromRequest = headers['WWW-Authenticate']; // the string above
vscode.authentication.getSession(
'microsoft',
{
wwwAuthenticate: wwwAuthenticateFromRequest,
fallbackScopes: scopesFromOriginalRequest
},
{
createIfNone: true
}
);
Alles, was Sie tun müssen, ist, diesen WWW-Authenticate-Wert unverändert zusammen mit den ursprünglich angeforderten Bereichen (höchstwahrscheinlich der ARM-Bereich) zu übergeben, und der Microsoft Authentication Provider kümmert sich um den Rest und stellt sicher, dass der Benutzer durch die MFA geführt wird.
Wir haben mit dem Azure Tools-Team, dem die Azure Resources-Erweiterung gehört, zusammengearbeitet, um diese neue API zu übernehmen. Wenn Sie diese Erweiterung oder etwas verwenden, das diese Erweiterung verwendet, sollte diese Erzwingung behandelt werden. Wenn Probleme auftreten, öffnen Sie ein Issue auf der Azure Resources-Erweiterung.
HINWEIS: Sie möchten
WWW-Authenticate-Challenges in IhrerAuthenticationProviderunterstützen? Geben Sie Ihre Gedanken zur vorgeschlagenen API in Issue #267992 ab.
Beiträge zu Prompt- und Anweisungsdateien
Erweiterungen können jetzt Prompt- und Anweisungsdateien beisteuern.
"contributes": {
"chatPromptFiles": [
{
"name": "ReviewAndCreateIssue",
"description": "Review the selected code and create an issue",
"path": "./prompts/reviewAndCreateIssue.prompt.md"
}
],
"chatInstructions": [
{
"name": "TextMateGuidelines",
"description": "Use these instructions when creating or modifying TextMate grammars",
"path": "./prompts/textMateGuidelines.instructions.md"
}
]
}
Chat-Modus-Beiträge (chatModes) sind derzeit hinter einem vorgeschlagenen API-Flag.
Schlüssel in SecretStorage auflisten
In dieser Iteration haben wir die API zur Auflistung aller Schlüssel, die Ihre Erweiterung in Secret Storage gespeichert hat, finalisiert. Diese finden Sie im Objekt context.secrets.
export function activate(context: ExtensionContext) {
const keys: string[] = await context.secrets.keys();
const value = await context.secrets.get(keys[0]); // a value that exists
}
Ein Beispiel, wo dies verwendet werden kann, ist bei deactivate, wo Sie möglicherweise alle Secret Storage-Daten löschen möchten.
Technik
Playwright VS Code MCP-Server
Wir haben weiter die Verwendung eines MCP-Servers untersucht, der eine lokale Build von VS Code steuern kann, um im Entwicklungszyklus für VS Code zu helfen. Während wir gemischte Ergebnisse bei der Modellverständnis für das Parsen von Screenshots hatten, war die Orchestrierung für Subagenten mit dem Werkzeug #executePrompt (das mit github.copilot.chat.executePrompt.enabled aktiviert werden kann) effektiv, um den Kontext nicht zu verunreinigen.
Wir planen, dies in zukünftigen Versionen weiter zu untersuchen, also bleiben Sie dran!
Um diesen MCP-Server auszuprobieren, finden Sie ihn im Ordner test/mcp des vscode-Repositorys. Es ist sehr einfach zu starten.
- Folgen Sie den Beitragsrichtlinien, um eine lokale Version von Code OSS zum Laufen zu bringen.
- Verwenden Sie unsere triviale (vorerst) Prompt-Datei im Agentenmodus, um eine Frage zu stellen:
/playwright <Ihre Frage hier>.
Bemerkenswerte Fehlerbehebungen
- vscode#265842 - Chat: Korrektur eines Dateikorruptionsproblems, das Sonnet, Gemini und Grok-Modelle betrifft.
- vscode#221255 - Korrektur, um Terminal-Links zu öffnen, unabhängig von der Bestätigung der Warnung "URIs öffnen kann unsicher sein".
- vscode#229374 - Korrektur zum Öffnen von Terminal OSC 8 Hyperlinks zu einem Ordner im Explorer von VS Code anstelle des nativen Dateiexplorers.
- vscode#268443 - Einstellungen-Links in Release Notes tun nichts.
Vielen Dank
Fehlerverfolgung
Beiträge zu unserer Fehlerverfolgung
- @gjsjohnmurray (John Murray)
- @albertosantini (Alberto Santini)
- @RedCMD (RedCMD)
- @IllusionMH (Andrii Dieiev)
Pull Requests
Beiträge zu vscode
- @alpalla (Alessio Palladino): Beibehaltung von Zeilenumbrüchen in den Aktionen "Transform to Camel and Pascal case" PR #263781
- @andr8928: Suggest Widget: Bugfix - Wenn das Widget zu hoch ist, sicherstellen, dass der größere Teil des oberen und unteren Raums verwendet wird. PR #260583
- @avarayr (avarayr): Korrektur: Deaktivieren von Fensterschatten auf macOS Tahoe, um GPU-Leistungsprobleme zu vermeiden PR #267724
- @bwateratmsft (Brandon Waterloo [MSFT]): Korrektur des Typpin-Inkompatibilitätsproblems im MCP HTTP-Server-Handler PR #268548
- @CGNonofr (Loïc Mangeonjean)
- fix: race condition bei unterstützten Aufgabentypen PR #265847
- fix: korrektes Aktualisieren von geklonten Stylesheets bei Änderungen in Firefox PR #269126
- @dmiska25 (Dylan Miska): Referenz freigeben anstatt das Objekt selbst, um Null-Objekte zu vermeiden. PR #266299
- @DrSergei (Sergei Druzhkov): Verbesserung der canSetExpressionValue-Prüfung PR #268952
- @essjay05 (Joy Serquiña): fix: Hinzufügen einer aria-Beschreibung zur Bereitstellung von Screenreader-Kontext für Tooltips PR #267818
- @garciasdos (Diego García): Korrektur: Elicitation-E-Mail-Validator PR #265326
- @harbin1053020115 (ermin.zem): feat: Aufteilen der Richtung der Editorgruppe gemäß der Konfiguration workbench.editor.splitInGroupLayout beim Klicken auf die Walkthrough-Befehle ':toSide' PR #267557
- @hron (Aleksei Gusev): Erlauben,
diffEditor.revertan die Tastatur zu binden PR #225881 - @leonard520 (Xiaoyun Ding): Hinzufügen der Konversations-ID zu mcp-Metadaten PR #265303
- @lukocode: fix: Sicherstellen, dass SVG-Bilder vor dem Kopieren in die Zwischenablage geladen werden PR #263799
- @mawosoft (Matthias Wolf)
- Korrektur der PowerShell-Shell-Integration bei aktiviertem Strict-Modus. PR #266260
- Wiederherstellung der PSReadline-Tastenbelegung in der PowerShell-Shell-Integration PR #267311
- @narbit (Natalya Arbit): Lokale Host-Weiterleitung nicht erlauben, zugunsten einer Loopback-IP-Weiterleitung PR #267546
- @Peter-developer01 (Peter): Korrektur eines Tippfehlers in nls.localize(...) in localization.contribution.ts PR #263228
- @RedCMD (RedCMD): Korrektur der Race-Bedingung für RangeFormat im falschen Dokument PR #267628
- @SimonSiefke (Simon Siefke)
- fix: Speicherleck in ReplAccessibilityAnnouncer PR #264937
- fix: Speicherleck im Chat-Widget PR #265002
- Reduzierung des Speicherverbrauchs um ca. 1,2 MB PR #267785
- fix: Speicherleck beim Falten PR #269071
- @Skn0tt (Simon Knott): Ellipsenzeichen als Suchplatzhalter behandeln PR #262462
- @tmm1 (Aman Karmani): Korrektur von Disposable-Lecks in BrowserSocketFactory PR #263736
- @turansky (Victor Turansky): fix:
lm.registerLanguageModelChatProviderJSDoc-Formatierung PR #266485 - @witsaint (DQ): fix: Bestätigungsbutton-Stil PR #267438
- @yiliang114 (易良): Korrektur von #263546, für Untermenü von TreeView view/item/context z-index-Proble… PR #263555
Beiträge zu vscode-copilot-chat
- @24anisha: Hinzufügen von accept/reject und survival zu GH Telemetry PR #1059
- @DGideas (Wanlin Wang 王万霖): Verbesserung der Auflösung von benutzerdefinierten OpenAI-kompatiblen Modell-URLs PR #1074
- @johan-j (Johan Jansson): Gruppierung von BYOK-Benutzermodellen im Modellauswahl-Dialog PR #1111
- @shaunm-msft (Shaun Miller)
- @vritant24 (Vritant Bhardwaj): Werkzeuge basierend auf Einbettungsrankings aus der Gruppierung nehmen PR #678
- @yemohyleyemohyle
Beiträge zu vscode-eslint
- @frodi-karlsson (Fróði Karlsson)
- @fronterior (Low Front): Korrektur der workspaceFolder-Prüfung zur Verwendung von optionaler Verkettung PR #2075
Beiträge zu vscode-json-languageservice
- @danila-schelkov (Danila Schelkov): feat: Beispiel-Vervollständigung für propertyNames PR #286
Beiträge zu vscode-mypy
- @cnaples79 (Chase Naples): Korrektur: mypy-Diagnosen aus stderr im non_interactive-Modus parsen PR #375
Beiträge zu vscode-python-environments
- @almarouk (Abdelrahman AL MAROUK): Korrektur, dass das Aktualisieren der Conda-Umgebung nicht auf Promises wartet PR #751
- @renan-r-santos (Renan Santos): Schaltfläche "Aktivieren" anzeigen, wenn ein Terminal in das Editorfenster verschoben wird PR #764
Beiträge zu vscode-vsce
- @joyceerhl (Joyce Er): fix: Generieren des Language Model-Tags für
languageModelChatProvider-Beiträge PR #1199
Beiträge zu debug-adapter-protocol
- @dmjio (David M. Johnson): Aktualisieren der Liste der Debug-Adapter in adapters.md PR #562
Wir schätzen es sehr, wenn Leute unsere neuen Funktionen ausprobieren, sobald sie bereit sind. Schauen Sie also oft hier vorbei und erfahren Sie, was es Neues gibt.
Wenn Sie die Release Notes für frühere VS Code-Versionen lesen möchten, gehen Sie zu Updates auf code.visualstudio.com.