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

Juli 2025 (Version 1.103)

Veröffentlichungsdatum: 7. August 2025

Update 1.103.1: Das Update fügt GPT-5 Prompt-Verbesserungen, Unterstützung für GPT-5 Mini hinzu und behebt diese Issues.

Update 1.103.2: Das Update behebt diese Issues.

Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap


Willkommen zur Juli 2025-Version von Visual Studio Code. Es gibt viele Updates in dieser Version, die uns hoffen, dass Sie sie mögen werden. Einige der wichtigsten Highlights sind:


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

Chat

GPT-5-Verfügbarkeit

Ab heute wird GPT-5 für alle kostenpflichtigen GitHub Copilot-Pläne ausgerollt. GPT-5 ist das bisher leistungsfähigste Modell von OpenAI und bringt neue Fortschritte in den Bereichen Reasoning, Coding und Chat. Erfahren Sie mehr über die Verfügbarkeit des GPT-5-Modells im GitHub Changelog.

Öffnen Sie die Chat-Ansicht und wählen Sie GPT-5 aus dem Modell-Picker, um es für Ihre Chat-Konversationen in VS Code zu verwenden. Erfahren Sie mehr über die Verwendung von Sprachmodellen in VS Code.

Update 1.103.1: Dieses Update fügt signifikante Prompt-Verbesserungen hinzu, um die Qualität und Leistung des Modells weiter zu steigern.

GPT-5 Mini-Verfügbarkeit

Update 1.103.1

Ab dieser Version wird GPT-5 Mini für alle GitHub Copilot-Pläne ausgerollt. GPT-5 Mini ist die schnellere, kostengünstigere Variante von GPT-5 von OpenAI. Erfahren Sie mehr über die Verfügbarkeit des GPT-5 Mini-Modells im GitHub Changelog.

Chat-Checkpoints

Einstellung: chat.checkpoints.enabled

Wir haben Checkpoints eingeführt, mit denen Sie verschiedene Zustände Ihrer Chat-Konversationen wiederherstellen können. Sie können Änderungen leicht rückgängig machen und zu bestimmten Punkten in Ihrer Chat-Konversation zurückkehren. Dies kann besonders nützlich sein, wenn mehrere Dateien in einer Chat-Sitzung geändert wurden.

Wenn Sie einen Checkpoint auswählen, stellt VS Code Änderungen am Arbeitsbereich und den Chatverlauf bis zu diesem Punkt wieder her. Nach der Wiederherstellung eines Checkpoints können Sie diese Aktion auch rückgängig machen!

Checkpoints sind standardmäßig aktiviert und können über chat.checkpoints.enabled gesteuert werden.

Tool-Picker-Verbesserungen

Wir haben den Tool-Picker in dieser Iteration komplett überarbeitet und eine neue Komponente namens Quick Tree übernommen, um alle Tools anzuzeigen.

Screenshot showing the new tool picker using a quick tree, enabling collapsing and expanding nodes.

Bemerkenswerte Funktionen

  • Erweitern oder reduzieren
  • Konfigurationsoptionen in die Titelleiste verschoben
  • Sticky Scrolling
  • Icon-Rendering

Lassen Sie uns wissen, was Sie denken!

Tool-Gruppierung (experimentell)

Einstellung: github.copilot.chat.virtualTools.threshold

Die maximale Anzahl von Tools, die Sie für eine einzelne Chat-Anfrage verwenden können, beträgt derzeit 128. Zuvor konnten Sie dieses Limit schnell erreichen, indem Sie MCP-Server mit vielen Tools installierten, was Sie zwang, einige Tools zu deselektieren, um fortzufahren.

In dieser Version von VS Code haben wir einen experimentellen Tool-Aufrufmodus aktiviert, wenn die Anzahl der Tools das maximale Limit überschreitet. Tools werden automatisch gruppiert und das Modell erhält die Fähigkeit, Gruppen von Tools zu aktivieren und aufzurufen.

Dieses Verhalten, einschließlich des Schwellenwerts, ist über die Einstellung github.copilot.chat.virtualTools.threshold konfigurierbar.

Verbesserungen bei der automatischen Genehmigung des Terminals

Einstellung: chat.tools.terminal.autoApprove

Frühe Einstellungen zur automatischen Genehmigung von Terminals wurden im letzten Monat eingeführt. In dieser Version wurden viele Verbesserungen vorgenommen. Erfahren Sie mehr über die automatische Genehmigung von Terminals in unserer Dokumentation.

  • Wir haben die Einstellungen allowList und denyList in die Einstellung chat.tools.terminal.autoApprove zusammengeführt. Wenn Sie die alten Einstellungen verwendet haben, sollten Sie eine Warnung sehen, die Sie auffordert, zur neuen Einstellung zu migrieren.

  • Reguläre Ausdrucksabgleiche unterstützen jetzt Flags. Dies ermöglicht die Unempfindlichkeit gegenüber Groß- und Kleinschreibung, z. B. in PowerShell, wo die Groß- und Kleinschreibung oft keine Rolle spielt

    "chat.tools.terminal.autoApprove": {
      // Deny any `Remove-Item` command, regardless of case
      "/^Remove-Item\\b/i": false
    }
    
  • Es gab einige Verwirrung darüber, wie der Abgleich von Unterbefehlen funktioniert. Dies wird nun detailliert in der Beschreibung der Einstellung erklärt, aber wir unterstützen auch den Abgleich mit der vollständigen Befehlszeile.

    "chat.tools.terminal.autoApprove": {
      // Deny any _command line_ containing a reference to what is likely a PowerShell script
      "/\\.ps1\\b/i": { "approve": false, "matchCommandLine": true }
    }
    
  • Die Begründung für die automatische Genehmigung wird jetzt in den Terminal-Ausgabekanal protokolliert. Wir planen, dies bald in der Benutzeroberfläche anzuzeigen.

Erkennung von Eingabeanfragen für Terminals und Tasks

Wenn Sie einen Task oder einen Terminalbefehl im Agentenmodus ausführen, erkennt der Agent nun, wenn der Prozess Benutzereingaben anfordert. Sie werden aufgefordert, in der Chat-Funktion zu antworten, wobei die Standard- oder erste Option als primäre Aktion angezeigt wird und andere Optionen in einem Dropdown-Menü verfügbar sind. Dies funktioniert für Skripte und Befehle, die mehrere Bestätigungen erfordern, über alle unterstützten Shells und sowohl für Vordergrund- als auch für Hintergrundterminals. Wenn Sie in das Terminal tippen, während eine Eingabeaufforderung vorhanden ist, wird die Eingabeaufforderung automatisch ausgeblendet. Wenn Optionen und Beschreibungen vorhanden sind (z. B. [J] Ja [N] Nein), werden diese in der Bestätigungsaufforderung angezeigt.

Im folgenden Beispiel wird ein Skript mit mehreren Eingabeaufforderungen zur Benutzereingabe über den Agenten ausgeführt. Bestätigungsaufforderungen werden angezeigt und ich akzeptiere die Aktionen, wodurch das Terminalskript ausgeführt werden kann und der Agent eine Zusammenfassung dessen liefert, was geschehen ist.

Example of input being detected and responded to

Verbesserte Fehlererkennung für Tasks mit Problem-Matchern

Für Tasks, die Problem-Matcher verwenden, sammelt der Agent nun Fehler basierend auf den Ergebnissen des Problem-Matchers und zeigt diese an, anstatt sich auf das Sprachmodell zu verlassen, um die Ausgabe zu bewerten. Probleme werden in einem Dropdown-Menü innerhalb der Chat-Fortschrittsnachricht angezeigt, sodass Sie direkt zum Problemort navigieren können. Dies stellt sicher, dass Fehler nur gemeldet werden, wenn sie für die aktuelle Task-Ausführung relevant sind.

Unterstützung für zusammengesetzte Tasks im Agentenmodus

Der Agentenmodus unterstützt nun die Ausführung von zusammengesetzten Tasks. Wenn Sie eine zusammengesetzte Task ausführen, zeigt der Agent den Fortschritt und die Ausgabe für jede abhängige Task an, einschließlich aller Aufforderungen zur Benutzereingabe. Dies ermöglicht komplexere Workflows und eine bessere Transparenz bei der Ausführung von Mehrtages-Tasks.

Im folgenden Beispiel wird die VS Code - Build Task ausgeführt. Die Ausgabe wird für jede abhängige Task bewertet und ein Problem wird dem Benutzer in der Antwort und im Dropdown-Menü der Fortschrittsnachricht angezeigt.

Example of agent running the VS Code - Build task

Barrierefreiheit: Fokus auf Chat-Bestätigungsaktion

Wir haben einen Befehl hinzugefügt, Fokus auf Chat-Bestätigung (kb(workbench.action.chat.focusConfirmation)), der den Bestätigungsdialog fokussiert, falls vorhanden, oder screenreader-Benutzern mitteilt, dass keine Bestätigung erforderlich ist.

Fortschritt mit To-Do-Listen verfolgen (experimentell)

Einstellung: chat.todoListTool.enabled

Das Tolle am Agentenmodus ist, dass Sie ihm eine Aufgabe auf hoher Ebene geben und ihn diese implementieren lassen können. Während er die Arbeit plant und in kleinere Aufgaben zerlegt, kann es überwältigend sein, den Fortschritt all dieser einzelnen Aufgaben zu verfolgen.

In diesem Meilenstein führen wir die Task-/To-Do-Listenfunktion im Chat ein, um Ihnen besser zu helfen, zu sehen, welche Aufgaben abgeschlossen sind und welche noch ausstehen. Sie können die Aufgabenliste oben in der Chat-Ansicht einsehen, sodass Sie immer den Überblick über den erzielten Fortschritt haben. Während der Agent seine Arbeit vorantreibt, aktualisiert er die Aufgabenliste.

Beginnen Sie damit, dem Agenten eine Aufgabe auf hoher Ebene zu geben und ihn zu bitten, seine Arbeit in einer To-Do-Liste zu verfolgen!

Diese Funktion ist noch experimentell und kann mit der Einstellung chat.todoListTool.enabled aktiviert werden.

Verbesserte Verwaltung von Modellen

In dieser Iteration haben wir die Chat-Provider-API, die für den Zugriff auf Sprachmodelle zuständig ist, überarbeitet. Benutzer können jetzt auswählen, welche Modelle in ihrem Modell-Picker angezeigt werden, was zu einer personalisierteren und fokussierteren Erfahrung führt.

Screenshot of the model picker showing various models from providers such as Copilot and OpenRouter

Wir planen, diese neue API in den kommenden Monaten zu finalisieren und würden uns über jedes Feedback freuen. Die Finalisierung dieser API wird das Extension-Ökosystem öffnen, um eigene Modell-Provider zu implementieren und das Bring-Your-Own-Key-Angebot weiter auszubauen.

Unterstützung für Remote-Indizes von Azure DevOps-Repos

Das Werkzeug #codebase unterstützt jetzt Remote-Indizes für Arbeitsbereiche, die mit Azure DevOps-Repos verknüpft sind. Dies ermöglicht #codebase, relevante Snippets fast sofort zu durchsuchen, ohne Initialisierung. Dies funktioniert sogar für größere Repos mit Zehntausenden von indexierbaren Dateien. Zuvor funktionierte diese Funktion nur mit GitHub-verknüpften Repos.

Remote-Indizes werden automatisch verwendet, wenn Sie in einem Arbeitsbereich arbeiten, der über Git mit Azure DevOps verknüpft ist. Stellen Sie sicher, dass Sie auch mit dem Microsoft-Konto bei VS Code angemeldet sind, das Sie für den Zugriff auf die Azure DevOps-Repos verwenden.

Wir rollen die Unterstützung für diese Funktion schrittweise auf der Serverseite aus, sodass nicht jede Organisation sie anfangs nutzen kann. Basierend auf dem Erfolg des Rollouts hoffen wir, die Remote-Indizierung für Azure DevOps für so viele Organisationen wie möglich zu aktivieren.

Verbesserte Zuverlässigkeit und Leistung der Tools "In Terminal ausführen" und "Task"

Wir haben die Tools zum Ausführen von Tasks und Befehlen im Terminal von der Copilot-Extension in das Kernrepository microsoft/vscode migriert. Dies gibt den Tools Zugriff auf niedrigere und reichhaltigere APIs, was uns ermöglicht, viele der Probleme mit hängenden Terminals zu beheben. Dieses Update bietet auch den Vorteil, zukünftige Funktionen einfacher zu implementieren, da wir nicht mehr auf die Fähigkeiten der Extension-API beschränkt sind, insbesondere nicht auf Änderungen, die eine benutzerdefinierte Benutzeroberfläche in der Chat-Ansicht erfordern.

Ausgabeabfrage für Tasks und Terminals

Der Agent wartet nun, bis Tasks und Hintergrundterminals abgeschlossen sind, bevor er fortfährt, indem er die Ausgabe abfragt. Wenn ein Prozess länger als 20 Sekunden dauert, werden Sie aufgefordert, weiter zu warten oder fortzufahren. Der Agent überwacht den Prozess bis zu zwei Minuten lang, fasst den aktuellen Zustand zusammen oder meldet, wenn der Prozess noch läuft. Dies verbessert die Zuverlässigkeit beim Ausführen langer oder fehleranfälliger Befehle im Chat.

Verbesserte Task-Erkennung

Zuvor konnte der Agent nur aktive Tasks überwachen. Jetzt kann er die Ausgabe von aktiven und abgeschlossenen Tasks verfolgen und analysieren, einschließlich derjenigen, die fehlgeschlagen sind oder ihre Ausführung beendet haben. Diese Verbesserung ermöglicht eine bessere Fehlerbehebung und umfassendere Einblicke in den Ausführungsverlauf von Tasks.

Agenten-Erkennung von benutzerdefinierten Terminals

Der Agent erkennt jetzt alle von Benutzern erstellten Terminals im Arbeitsbereich. Dies ermöglicht ihm, aktuelle Befehle zu verfolgen und auf Terminal-Ausgaben zuzugreifen, was eine bessere Kontextualisierung für die Unterstützung von Terminals und die Fehlerbehebung bietet.

Verbesserungen am Terminal Inline-Chat

Der Terminal Inline-Chat erkennt Ihre aktive Shell besser, auch wenn Sie sich in Sub-Shells befinden (z. B. Python oder Node aus PowerShell oder zsh starten). Diese dynamische Shell-Erkennung verbessert die Genauigkeit der Inline-Chat-Antworten, indem sie relevantere Befehlsvorschläge für Ihren aktuellen Shell-Typ liefert.

Screenshot of terminal inline chat showing node specific suggestions.

Verbesserter Test-Runner-Tool

Das Test-Runner-Tool wurde überarbeitet. Es zeigt nun den Fortschritt inline im Chat an und zahlreiche Fehler im Tool wurden behoben.

Vorherige Anfragen bearbeiten

Einstellung: chat.editRequests

Letzte Iteration haben wir Benutzern die Bearbeitung früherer Anfragen ermöglicht und verschiedene Zugriffspunkte bereitgestellt. In dieser Iteration haben wir Inline-Bearbeitungen zur Standardfunktion gemacht. Klicken Sie auf die Anfrageblase, um mit der Bearbeitung dieser Anfrage zu beginnen. Sie können Anhänge ändern, den Modus und das Modell ändern und Ihre Anfrage mit geändertem Text erneut senden.

Sie können das Chat-Bearbeitungsverhalten mit der Einstellung chat.editRequests steuern, wenn Sie es bevorzugen, über die Toolbar-Hovers über jeder Anfrage zu bearbeiten.

Chat im maximierten Modus öffnen

Einstellung: workbench.secondarySideBar.defaultVisibility

Wir haben zwei zusätzliche Optionen für die Konfiguration der Standard-Sichtbarkeit der sekundären Seitenleiste hinzugefügt, um sie als maximiert zu öffnen.

  • maximizedInWorkspace: Öffnet die Chat-Ansicht als maximiert beim Öffnen eines neuen Arbeitsbereichs
  • maximized: Öffnet die Chat-Ansicht immer als maximiert, auch in leeren Fenstern

Screenshot that shows the Chat view maximized.

Ausstehende Chat-Bestätigung

Um versehentliches Schließen eines Arbeitsbereichs zu verhindern, in dem eine Agentensitzung aktiv Dateien ändert oder auf Ihre Anfrage antwortet, zeigen wir nun einen Dialog an, wenn Sie versuchen, VS Code zu beenden oder sein Fenster zu schließen, während eine Chat-Antwort ausgeführt wird.

Screenshot of confirmation to exit with running chat.

OS-Benachrichtigung bei Benutzeraktion

Einstellung: chat.notifyWindowOnConfirmation

Wir nutzen jetzt das native Benachrichtigungssystem des Betriebssystems, um einen Toast anzuzeigen, wenn eine Benutzerbestätigung innerhalb einer Chatsitzung erforderlich ist. Aktivieren Sie dieses Verhalten mit chat.notifyWindowOnConfirmation.

Screenshot of toast for confirmation of a chat agent.

Wir planen, diese Erfahrung in Zukunft zu verbessern, um die Anzeige weiterer Informationen zu ermöglichen und Ihnen die Genehmigung direkt aus dem Toast zu ermöglichen. Vorerst fokussiert die Auswahl des Toasts das Fenster, aus dem die Bestätigung stammt.

Mathematik-Unterstützung im Chat (Vorschau)

Einstellung: chat.math.enabled

Chats haben nun eine anfängliche Unterstützung für die Darstellung mathematischer Gleichungen in Antworten.

Screenshot of the Chat view, showing inline and block equations in a chat response.

Diese Funktion wird von KaTeX angetrieben und unterstützt sowohl Inline- als auch Block-Mathematikgleichungen. Inline-Mathematikgleichungen können geschrieben werden, indem die Markierung in einfache Dollarzeichen ($...$) eingeschlossen wird, während Block-Mathematikgleichungen zwei Dollarzeichen ($$...$$) verwenden.

Die Mathematikdarstellung kann mit chat.math.enabled aktiviert werden. Derzeit ist sie standardmäßig deaktiviert, aber wir planen, sie in einer zukünftigen Version zu aktivieren, nachdem weitere Tests durchgeführt wurden.

Context7-Integration für Projektgerüste (Experimentell)

Einstellung: github.copilot.chat.newWorkspace.useContext7

Wenn Sie ein neues Projekt mit #new im Chat gerüsten, können Sie nun sicherstellen, dass es die neuesten Dokumentationen und APIs von Context7 verwendet, wenn Sie bereits den Context7 MCP-Server installiert haben.

MCP

Server Autostart und Vertrauen

Einstellung: chat.mcp.autostart

Zuvor, wenn Sie eine MCP-Server-Konfiguration hinzugefügt oder aktualisiert haben, zeigte VS Code ein blaues "Aktualisieren"-Icon in der Chat-Ansicht an, mit dem Sie die Liste der Tools manuell aktualisieren konnten. In diesem Meilenstein können Sie nun das Autostart-Verhalten für MCP-Server konfigurieren, sodass Sie den MCP-Server nicht mehr manuell neu starten müssen.

Verwenden Sie die Einstellung chat.mcp.autostart, um dieses Verhalten zu steuern. Sie können diese Einstellung auch im Tooltip des Icons ändern und sehen, welche Server gestartet werden.

Screenshot showing the hover of the refresh MCP server icon, enabling you to configure the auto-start behavior.

Beim ersten Start eines MCP-Servers nach der Aktualisierung oder Änderung zeigen wir nun einen Dialog an, in dem Sie aufgefordert werden, den Server zu vertrauen. Das Vertrauen in diese Server ist besonders wichtig, wenn Autostart aktiviert ist, um die unwillkürliche Ausführung unerwünschter Befehle zu verhindern.

Erfahren Sie mehr über die Verwendung von MCP-Servern in VS Code in unserer Dokumentation.

Client-Credentials-Flow für Remote-MCP-Server

Der ideale Flow für einen Remote-MCP-Server, der Authentifizierung unterstützen möchte, ist die Verwendung eines Authentifizierungsanbieters, der Dynamic Client Registration (DCR) unterstützt. Dies ermöglicht es dem Client (VS Code), sich bei diesem Authentifizierungsanbieter zu registrieren, sodass der Authentifizierungsflow nahtlos ist.

Nicht jeder Authentifizierungsanbieter unterstützt DCR, daher haben wir einen Client-Credentials-Flow eingeführt, der es Ihnen ermöglicht, Ihre eigene Client-ID und (optional) ein Client-Secret anzugeben, die beim Durchlaufen des Authentifizierungsflows des Authentifizierungsanbieters verwendet werden. So sieht das aus:

  • Schritt 1: VS Code erkennt, dass DCR nicht verwendet werden kann, und fragt, ob Sie den Client-Credentials-Flow durchführen möchten.

    Screenshot of a modal dialog saying that DCR is not supported but you can provide client credentials manually.

    WICHTIG: An diesem Punkt würden Sie zur Website des Authentifizierungsanbieters gehen und manuell eine Anwendungsregistrierung erstellen. Dort geben Sie die im Dialogfeld genannten Redirect-URIs ein.

  • Schritt 2: Über das Portal des Authentifizierungsanbieters erhalten Sie eine Client-ID und vielleicht ein Client-Secret. Sie geben die Client-ID in das erscheinende Eingabefeld ein und drücken Sie Enter.

    Screenshot of an input box to provide the client ID for the MCP server.

  • Schritt 3: Dann geben Sie das Client-Secret ein, falls Sie eines haben, und drücken Sie Enter (lassen Sie es leer, wenn Sie keines haben).

    Screenshot of an input box to provide the optional client secret for the MCP server.

    An diesem Punkt werden Sie durch den typischen Authentifizierungsflow geführt, um den MCP-Server zu authentifizieren, mit dem Sie arbeiten.

Entfernen des dynamischen Authentifizierungsanbieters aus dem Konto-Menü

Seit der Hinzufügung der Remote-MCP-Authentifizierung gibt es im Befehlsfenster den Befehl Authentifizierung: Dynamische Authentifizierungsanbieter entfernen, mit dem Sie Client-Credentials (Client-ID und, falls verfügbar, ein Client-Secret) und alle mit diesem Anbieter verbundenen Kontoinformationen entfernen können.

Wir haben diesen Befehl nun im Konto-Menü verfügbar gemacht. Sie finden ihn innerhalb eines MCP-Server-Kontos.

Screenshot of the Account menu showing the manage dynamic auth option in an account's submenu.

oder am Anfang des Menüs, wenn Sie noch keine MCP-Server-Konten haben.

Screenshot of the Account menu showing the manage dynamic auth option in the root of account menu.

VS Code unterstützt nun vollständig die neueste MCP-Spezifikation, Version 2025-06-18, mit Unterstützung für resource_links und strukturierte Ausgabe in Tool-Ergebnissen.

Barrierefreiheit

Zugängliche Chat-Elicitationen

Wenn der Agent nach Benutzereingaben fragt, z. B. ob er darauf warten soll, dass ein Prozess fortgesetzt wird, ist die Chat-Elicitation nun für Screenreader zugänglich. Sie werden benachrichtigt, wenn die Eingabeaufforderung erscheint, können mit der Tastatur dorthin navigieren und die Nachricht in der zugänglichen Ansicht überprüfen.

Steuerung des Öffnens von Dateien für Chat-Bearbeitungen

Eine neue Einstellung, accessibility.openChatEditedFiles, ermöglicht Ihnen die Wahl, ob Dateien automatisch geöffnet werden, wenn der Agent sie im Chat bearbeitet. Aktivieren Sie diese Einstellung für mehr Kontrolle darüber, welche Dateien in Ihrem Editor erscheinen.

Befehle "Alle bearbeiten anzeigen" und "Vorherige bearbeiten anzeigen"

Die Befehle Alle bearbeiten anzeigen und Vorherige bearbeiten anzeigen sind nun im gesamten Editor verfügbar und machen es einfach, vom Agenten vorgenommene Änderungen zu überprüfen. Diese Befehle sind besonders hilfreich, wenn accessibility.openChatEditedFiles deaktiviert ist, sodass Sie bearbeitete Dateien nachverfolgen können, ohne jede einzelne zu öffnen.

Seitenleisten-Sichtbarkeitsankündigungen

Wenn die primäre oder sekundäre Seitenleiste angezeigt oder ausgeblendet wird, benachrichtigt eine ARIA-Ankündigung Sie nun über diese Änderung. Dies verbessert die Barrierefreiheit, indem sichergestellt wird, dass Screenreader-Benutzer über Änderungen der Seitenleisten-Sichtbarkeit informiert sind.

Barrierefreiheitstests mit Playwright

Wir haben automatisierte Barrierefreiheitstests für den Editor mit Playwright hinzugefügt. Diese Tests helfen uns, kontinuierlich zu validieren, dass Visual Studio Code die Barrierefreiheitsstandards und Best Practices erfüllt und somit ein besseres Erlebnis für alle Benutzer gewährleistet.

Editor-Erlebnis

Einstellungen-Suchvorschläge

Der Umschalter für KI-Suchergebnisse im Suchfeld des Einstellungen-Editors, gekennzeichnet durch ein Glitzern, ist nun für alle Benutzer verfügbar. Der Umschalter wird aktiviert, wenn KI-Suchergebnisse geladen wurden und verfügbar sind. Das Umschalten des Schalters wechselt zwischen KI- und Nicht-KI-Suchergebnissen.

Die KI-Einstellungen-Suchergebnisse basieren auf semantischer Ähnlichkeit anstatt auf String-Matching. Zum Beispiel erscheint editor.fontSize als KI-Einstellungen-Suchergebnis, wenn Sie nach "Textgröße erhöhen" suchen.

Screenshot of AI results in the Settings editor for "increase text size" showing editor.fontSize setting.

Kontextmenü für Editor-Tabs

Wir haben das Kontextmenü für Editor-Tabs aufgeräumt, um zusammengehörige Optionen zum Teilen und Verschieben in ein Untermenü zu gruppieren.

Screenshot that shows the 'Split and Move' editor tab context menu.

KI-Statistiken (Vorschau)

Einstellung: editor.aiStats.enabled

Wir haben eine experimentelle Funktion zur Anzeige grundlegender KI-Statistiken hinzugefügt. Verwenden Sie editor.aiStats.enabled, um diese Funktion zu aktivieren, die standardmäßig deaktiviert ist.

Diese Funktion zeigt Ihnen pro Projekt den Prozentsatz der Zeichen an, der von KI eingefügt wurde im Vergleich zu dem, der durch Tippen eingefügt wurde. Sie erfasst auch, wie viele Inline- und nächste Bearbeitungsvorschläge Sie am aktuellen Tag akzeptiert haben.

Screenshot showing the AI statistic hover information in the Status Bar.

Notebooks

Notebook-Inline-Chat mit Agenten-Tools

Einstellung: inlineChat.notebookAgent

Die Notebook-Inline-Chat-Steuerung kann nun die gesamte Suite der Notebook-Agenten-Tools verwenden, um zusätzliche Funktionen wie das Ausführen von Zellen und die Installation von Paketen im Kernel zu ermöglichen.

Um Agenten-Tools in Notebooks zu aktivieren, aktivieren Sie die neue experimentelle Einstellung inlineChat.notebookAgent. Dies erfordert derzeit auch die Aktivierung der Einstellung für Inline-Chat v2 inlineChat.enableV2.

Abhängigkeiten in virtuellen Umgebungen mit uv installieren

Wir unterstützen nun die Installation erforderlicher Abhängigkeiten, wenn Sie Jupyter Notebooks gegen eine virtuelle Umgebung ausführen, die mit uv erstellt wurde.

Quellcodeverwaltung

Git-Worktree-Unterstützung

Einstellung: git.detectWorktrees

Um eine langjährige Feature-Anfrage zu erfüllen, haben wir in diesem Meilenstein die Git-Worktree-Unterstützung hinzugefügt. Worktrees ermöglichen es Ihnen, mehrere Branches gleichzeitig auszuchecken, was das Testen von Änderungen oder die parallele Arbeit ohne Kontextwechsel erleichtert.

Beim Öffnen eines Ordners oder Arbeitsbereichs, der ein Git-Repository enthält, erkennen wir nun automatisch Worktrees und zeigen sie in der Ansicht "Source Control Repositories" an. Sie können nun Worktrees in einem neuen oder aktuellen Fenster anzeigen, erstellen, löschen und öffnen, indem Sie Befehle aus dem Befehlsfenster oder der Ansicht "Source Control Repositories" verwenden. Sie können diese Funktionalität deaktivieren, indem Sie die Einstellung git.detectWorktrees umschalten.

Screenshot of create worktree command in Source Control view.

Screenshot of open and delete worktree commands in the Source Control view.

Repositories-Ansicht

Die Ansicht "Source Control Repositories" zeigt alle Quellcodeverwaltungsanbieter an, die im aktuellen Ordner/Arbeitsbereich gefunden wurden. In diesem Meilenstein haben wir das Rendering der Ansicht aktualisiert, um Repositorys, Submodule und Worktrees visuell zu unterscheiden. Wir zeigen auch die Eltern-Kind-Beziehung zwischen Repositorys, Submodulen und Worktrees an.

Screenshot of the Source Control Repositories view showing two repositories and a worktree associated with one of the repos.

Terminal

Dokumentationsunterstützung in der Terminal-Vervollständigung

Terminal-Vorschläge, die von Sprachservern (LSP) angetrieben werden, enthalten nun Inline-Dokumentationen, ähnlich wie im Editor. Beginnend mit der Python REPL erhalten Sie hilfreiche Beschreibungen und Nutzungsinformationen für Befehle, während Sie tippen.

Sie benötigen derzeit diese Einstellungen, um LSP-Vorschläge im Terminal zu aktivieren:

Sprachdiktat

Da die natürliche Spracheingabe nun in Terminals unterstützt wird, einschließlich derjenigen, die von den Gemini- und Claude-Erweiterungen aktiviert werden, haben wir das Sprachdiktat im Terminal wieder eingeführt. Sie können das Diktat mit den Befehlen Terminal: Diktat im Terminal starten und Terminal: Diktat im Terminal beenden starten oder stoppen.

Verbesserte Shell-Integrationsdiagnostik

Shell-Integration ist die Grundlage, auf der viele Funktionen im integrierten Terminal aufbauen, wie z. B. Sticky Scroll, Quick Fixes und die Fähigkeit des Agentenmodus, zu verstehen, was im Terminal vor sich geht.

Diese Version bietet verbesserte Diagnosen, wenn Sie über das Terminal fahren und Details anzeigen auswählen. Sie sollten nun den erkannten Shell-Typ und das aktuelle Arbeitsverzeichnis sehen.

Screenshot of the detailed terminal tab hover showing the shell type like pwsh and the current working directory.

Dies ist einer der ersten Orte, an denen Sie nachsehen sollten, wenn eine dieser reichhaltigen Funktionen nicht wie erwartet funktioniert.

Sprachen

Python

Shell-Integrationsunterstützung für Python 3.13 und höher

Wir unterstützen nun die Shell-Integration für Python ab Version 3.13. Wenn aktiviert, wird PyREPL automatisch deaktiviert, um die Kompatibilität zu gewährleisten. Sie können die Shell-Integration deaktivieren, wenn Sie PyREPL weiterhin verwenden möchten.

Screenshot showing the Python shell integration setting in the Settings editor.

Verbesserungen der Python Environments-Erweiterung

Die Python Environments Extension hat im Rahmen des kontrollierten Rollouts für stabile Benutzer weiterhin Fehlerbehebungen und Verbesserungen erhalten. Um die Python Environments Extension während des Rollouts zu verwenden, stellen Sie sicher, dass die Extension installiert ist, und fügen Sie Folgendes zu Ihrer VS Code settings.json-Datei hinzu: "python.useEnvironmentsExtension": true.

TypeScript 5.9

VS Code enthält nun TypeScript 5.9.2. Dieses Hauptupdate bringt einige neue Sprachverbesserungen, einschließlich Unterstützung für Import-Deferral, sowie Tooling-Verbesserungen wie verbesserte Dokumentation für viele DOM-APIs.

Schauen Sie sich den TypeScript 5.9 Release Blog an, um mehr Details zu diesem Update zu erfahren.

Erweiterbare Hover-Infos für JavaScript und TypeScript

Wenn Sie mit der Maus über ein Symbol in JavaScript oder TypeScript fahren, versucht VS Code, die nützlichsten IntelliSense-Typinformationen über dieses Symbol anzuzeigen. Typen können sehr komplex sein, daher war es eine Herausforderung für uns, die richtige Balance zwischen der Anzeige genügend Details, um nützlich zu sein, und der Anzeige von zu vielen Informationen, die überwältigend werden könnten, zu finden. Es ist schwierig, einen guten Einheitsansatz zu finden, und auch der Detaillierungsgrad, den Sie sich wünschen, kann sich ändern, je nachdem, woran Sie gerade arbeiten.

Deshalb haben wir in dieser Iteration eine neue Benutzeroberfläche hinzugefügt, die Ihnen mehr Kontrolle darüber gibt, wie Typen in Hover-Infos angezeigt werden. Wenn Sie mit der Maus über ein Symbol fahren, können Sie nun auf das kleine +-Symbol auf der linken Seite des Hover-Steuerelements klicken, um Schnittstellen und komplexe Typen in der Hover-Info in ihre Komponenten zu erweitern. Sie können dies zum Beispiel verwenden, um die Eigenschaften einer Schnittstelle direkt in der Hover-Info anzuzeigen.

Hover-Infos können mehrmals erweitert werden, was Typen aus der vorherigen Erweiterung rekursiv erweitert. Wenn Sie jemals zu viel erweitern, wählen Sie einfach das --Symbol, um zum vorherigen Level zurückzukehren. Beachten Sie auch, dass nicht jeder Typ erweiterbar ist und dass wir immer noch einige Grenzen dafür haben, wie viel Erweiterung wir unterstützen können. Lassen Sie uns wissen, ob es Fälle gibt, in denen erweiterbare Hover-Infos nicht wie gewünscht funktionieren.

Beiträge zu Erweiterungen

GitHub Pull Requests

Es gab weitere Fortschritte bei der GitHub Pull Requests Extension, mit der Sie Pull Requests und Issues bearbeiten, erstellen und verwalten können.

Lesen Sie das Changelog für die Version 0.116.0 der Extension, um alles über diese Version zu erfahren.

Bereinigung des Pull Request-Headers

Wir haben die Schaltflächenleiste im Header der Pull Request-Beschreibung vereinfacht. Die Kopieraktionen befinden sich nun im Kontextmenü (Rechtsklick) des PR-Links.

Screenshot of the simplified PR header when opening the PR details.

Anzeige von Coding-Agenten-PRs im Chat

Einstellung: githubPullRequests.codingAgent.uiIntegration

Wenn Sie eine Coding-Agenten-Sitzung starten (über #copilotCodingAgent oder mit der Aktion An Coding-Agenten delegieren), wird der Pull Request als Karte in der Chat-Ansicht gerendert.

Screenshot of a coding agent PR card in the Chat view.

Aktivieren Sie die Einstellung githubPullRequests.codingAgent.uiIntegration, um die neue Schaltfläche An Coding-Agenten delegieren in der Chat-Ansicht für Repositorys zu aktivieren, bei denen der Agent aktiviert ist.

Chat-Sitzungen (experimentell)

Coding-Agenten-Chats

Aufbauend auf der Copilot-Coding-Agenten-Integration der letzten Iteration können Sie nun eine Coding-Agenten-Sitzung von einem dedizierten Chat-Editor aus verwalten. Dies ermöglicht es Ihnen, den Fortschritt des Coding-Agenten zu verfolgen, Folgeanweisungen zu geben und die Antworten des Agenten in einem dedizierten Chat-Editor anzuzeigen.

  • Starten Sie eine Coding-Agenten-Sitzung von VS Code mit dem Werkzeug #copilotCodingAgent oder über die UI-Steuerelemente.

  • Verfolgen Sie den Fortschritt des Coding-Agenten in einem angehängten Chat-Editor.

    Screenshot showing Coding Agent progress.

  • Geben Sie Folgeanweisungen direkt aus dem Chat.

    Screenshot showing providing a followup in chat to coding agent.

Chat-Sitzungen-Ansicht

Einstellung: chat.agentSessionsViewLocation

Aktivieren Sie die Einstellung chat.agentSessionsViewLocation, um diese experimentelle Funktion auszuprobieren.

  • Wenn auf view gesetzt, wird eine neue Ansicht namens Chat-Sitzungen in der Seitenleiste von VS Code angezeigt. Diese Ansicht ermöglicht es Ihnen, Ihre lokalen Chat-Sitzungen sowie Sitzungen von Coding Agents zu verwalten und mit ihnen zu interagieren.

    Screenshot showing the Coding Agent Sessions view.

  • Wenn auf showChatsMenu gesetzt, werden Coding-Agent-Chat-Sitzungen neben dem lokalen Chat-Verlauf angezeigt.

    Screenshot showing the Coding Agent Sessions Quick Pick.

Diese Integration erfordert die neueste GitHub Pull Request-Erweiterung und ein geöffnetes Repository, das einen Copilot-Coding-Agenten unterstützt. Weitere Informationen finden Sie in der neuen Dokumentation zur Verwendung des Coding Agents in VS Code.

Theme: Sharp Solarized (Vorschau auf vscode.dev)

Erweiterungsentwicklung

Terminal-Aktivierungsereignisse

Zwei neue Aktivierungsereignisse sind für Erweiterungen verfügbar

  • onTerminal: Wird ausgelöst, wenn ein beliebiges Terminal geöffnet wird.
  • onTerminalShellIntegration: Wird ausgelöst, wenn eine erweiterte Shell-Integration für ein Terminal aktiviert wird.

Sie können einen shellType angeben, um spezifische Shells anzusprechen. Zum Beispiel aktiviert onTerminalShellIntegration:bash, wenn die Shell-Integration für ein Bash-Terminal aktiviert ist.

Vorgeschlagene APIs

Benutzerdefinierte Webviews in Chat-Antworten rendern

Die Chat Output Renderer API ermöglicht es Erweiterungen, Chat-Antworten über Text und Bilder hinaus zu erweitern. Mit ihr kann Ihre Erweiterung ein Webview verwenden, um beliebige HTML-Inhalte in der Chat-Ausgabe zu rendern. Anwendungsbeispiele sind benutzerdefinierte Visualisierungen, Inline-Vorschauen und sogar interaktive Steuerelemente.

Das Beispiel für die Chat Output Renderer-Erweiterung zeigt, wie diese API zum Rendern von Mermaid-Diagrammen in Chat-Antworten verwendet werden kann. Hier ist ein Beispiel für dieses Erweiterungsbeispiel in Aktion

Screenshot showing a mermaid diagram in a chat response.

Das Geniale daran ist nicht, dass VS Code Mermaid-Diagramme rendern kann, sondern dass dieses Rendering vollständig von Erweiterungen beigesteuert werden kann. Damit können Sie benutzerdefinierte Ausgaben im Chat iterieren

Screenshot asking chat to generate a modified version of the first diagram.

Hier ist eine kurze Zusammenfassung, wie die API funktioniert

  1. Registrieren Sie ein Sprachmodell-Tool, das im Rahmen seiner Antwort benutzerdefinierte Daten zurückgeben kann. Wir verwenden einen MIME-Typ, um diese Daten zu identifizieren.
  2. Registrieren Sie einen Chat-Ausgabe-Renderer für diesen MIME-Typ.
  3. Wenn ein Sprachmodell das Tool aufruft, rufen Sie den Chat-Ausgabe-Renderer auf, um es in einem Webview in der Antwort zu rendern.

Sehen Sie sich das Erweiterungsbeispiel für ein vollständiges End-to-End-Beispiel dieser API in Aktion an.

Diese API hat das Potenzial, sehr leistungsfähig zu sein und einige erstaunliche neue Chat-Erlebnisse zu ermöglichen. Probieren Sie sie aus und lassen Sie uns wissen, was Sie davon halten!

Chat Session Provider API

Der neue Entwurf der Chat Session Provider API ermöglicht es Erweiterungen, ihr eigenes Chat-Backend in die native Chat-UI von VS Code zu integrieren. Damit kann Ihre Erweiterung eine neue Chat-Sitzung öffnen, den Verlauf dieser Sitzung füllen und auf neue Benutzeraufforderungen reagieren.

Diese API befindet sich noch in einem frühen Stadium und wird sich wahrscheinlich ändern. Wir nutzen sie jedoch bereits, um den neuen GitHub Coding Agent-Sitzungsfluss zu unterstützen, der Chats von GitHub lädt und es Ihnen ermöglicht, mit einem Agenten zu chatten, der vollständig von GitHub gesteuert wird.

Terminal für Aufgaben ausführen

Erweiterungsautoren können nun über die neue Eigenschaft taskExecution.terminal auf das Terminal zugreifen, das mit einer laufenden Aufgabe verbunden ist. Dies erleichtert die Identifizierung, welches Terminal mit einer bestimmten Aufgabe verknüpft ist, und die programmatische Interaktion damit.

SecretStorage keys() API

Wenn Sie jemals die Liste der Schlüssel abrufen wollten, die Ihre Erweiterung in SecretStorage gespeichert hat, können Sie dies jetzt mit der neuen vorgeschlagenen keys() API tun.

export async function activate(context: ExtensionContext) {
  await context.secrets.store('mySecret', 'superSecretValue');
  await context.secrets.store('mySecret2', 'superSecretValue2');
  const keys = await context.secrets.keys();
  console.log('All secret keys:', keys); // returns ['mySecret', 'mySecret2']
}

HINWEIS: Diese Änderung hängt von einer Änderung an allem ab, was eine alternative Implementierung eines Secret Storage bereitstellt, insbesondere von https://vscode.dev, das die neue API übernommen hat, und https://github.dev, das die neue API bald übernehmen wird. In einer Umgebung, in der sie nicht unterstützt wird, löst diese API eine Ausnahme aus.

Technik

Schlüsselaktualisierung für packages.microsoft.com

packages.microsoft.com hat seinen Signierschlüssel aktualisiert. Daher sollten Linux-Benutzer auf neueren Distributionen keine Warnungen oder Fehler mehr im Zusammenhang mit Schlüsseln beim Installieren von VS Code sehen. Debian-basierte Distributionen erhalten den neuen Schlüssel automatisch, während Benutzer auf anderen Distributionen den alten Schlüssel möglicherweise manuell entfernen müssen, bevor sie den neuen Schlüssel importieren.

Aktualisierung von Electron 37

In diesem Meilenstein stellen wir das Electron 37-Update für Benutzer unserer stabilen Version bereit. Dieses Update enthält Chromium 138.0.7204.100 und Node.js 22.17.0. Wir danken allen, die die Insider-Builds selbst getestet und frühes Feedback gegeben haben.

Bemerkenswerte Fehlerbehebungen

  • vscode#252384 - Agentenmodus pausiert, wenn VS Code den Fokus verliert

Vielen Dank

Last but not least, ein großes Danke an die Mitwirkenden von VS Code.

Fehlerverfolgung

Beiträge zu unserer Fehlerverfolgung

Pull Requests

Beiträge zu vscode

Beiträge zu vscode-codicons

Beiträge zu vscode-copilot-chat

Beiträge zu vscode-eslint

Beiträge zu vscode-js-debug

  • @pilaoda (pilaoda)
    • watch-Panel benutzerdefinierte String-Darstellung korrigieren. #2252 PR #2253
    • toString funktioniert im Panel "Lokale Variablen" nicht, bis alle Variablen im Geltungsbereich definiert sind #2254 PR #2255

Beiträge zu vscode-json-languageservice

Beiträge zu vscode-vsce

Beiträge zu debug-adapter-protocol

Beiträge zu language-server-protocol

Beiträge zu python-environment-tools

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