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

Juni 2025 (Version 1.102)

Erscheinungsdatum: 9. Juli 2025

Update 1.102.1: Das Update behebt diese Probleme.

Update 1.102.2: Das Update behebt diese Probleme.

Update 1.102.3: Das Update behebt diese Probleme.

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


Willkommen zur Juni 2025-Version von Visual Studio Code. Es gibt viele Updates in dieser Version, die Ihnen hoffentlich gefallen werden. Einige der wichtigsten Highlights sind

  • Chat

    • Erkunden und beitragen zur Open-Source-Erweiterung GitHub Copilot Chat (Lesen Sie unseren Blogbeitrag).
    • Generieren Sie benutzerdefinierte Anweisungen, die den Konventionen Ihres Projekts entsprechen (Mehr anzeigen).
    • Verwenden Sie benutzerdefinierte Modi, um den Chat für Aufgaben wie Planung oder Recherche anzupassen (Mehr anzeigen).
    • Genehmigen Sie ausgewählte Terminalbefehle automatisch (Mehr anzeigen).
    • Bearbeiten und erneutes Übermitteln früherer Chat-Anfragen (Mehr anzeigen).
  • MCP

    • MCP-Unterstützung ist jetzt allgemein in VS Code verfügbar (Mehr anzeigen).
    • Installieren und verwalten Sie MCP-Server einfach mit der MCP-Ansicht und Galerie (Mehr anzeigen).
    • MCP-Server als primäre Ressourcen in Profilen und Einstellungen-Synchronisierung (Mehr anzeigen).
  • Editor-Erfahrung

    • Delegieren Sie Aufgaben an den Copilot-Code-Agenten und lassen Sie ihn im Hintergrund erlednen (Mehr anzeigen).
    • Scrollen Sie den Editor mit mittlerem Mausklick (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.

Chat

Copilot Chat ist Open Source

Wir freuen uns, Ihnen mitteilen zu können, dass wir die GitHub Copilot Chat-Erweiterung Open Source gemacht haben! Der Quellcode ist jetzt unter der MIT-Lizenz unter microsoft/vscode-copilot-chat verfügbar.

Dies ist ein wichtiger Meilenstein in unserem Engagement für Transparenz und gemeinschaftliche Zusammenarbeit. Durch die Open-Source-Veröffentlichung der Erweiterung ermöglichen wir der Community,

  • direkt beitragen zur Entwicklung von KI-gestützten Chat-Erlebnissen in VS Code
  • die Implementierung verstehen von Chat-Modi, benutzerdefinierten Anweisungen und KI-Integrationen
  • auf unserer Arbeit aufbauen, um noch bessere KI-Entwicklertools zu schaffen
  • sich an der Gestaltung der Zukunft beteiligen von KI-gestütztem Coding

Sie können das Repository erkunden, um zu sehen, wie Features wie Agent-Modus, Inline-Chat und MCP-Integration implementiert sind. Wir freuen uns über Beiträge, Feedback und Zusammenarbeit aus der Community.

Um mehr über diesen Meilenstein und unsere umfassendere Vision für Open-Source-KI-Editor-Tools zu erfahren, lesen Sie unseren detaillierten Blogbeitrag: Open Source AI Editor - First Milestone.

Verbesserungen des Chat-Modus

Im letzten Meilenstein haben wir benutzerdefinierte Chat-Modi vorgestellt. Zusätzlich zu den integrierten Chat-Modi 'Ask', 'Edit' und 'Agent' können Sie Ihre eigenen Chat-Modi mit spezifischen Anweisungen und einer Reihe erlaubter Werkzeuge definieren, denen das LLM bei der Beantwortung einer Anfrage folgen soll.

In diesem Meilenstein haben wir in diesem Bereich mehrere Verbesserungen und Fehlerbehebungen vorgenommen.

Sprachmodell konfigurieren

Aufgrund häufiger Nachfragen können Sie jetzt auch festlegen, welches Sprachmodell für einen Chat-Modus verwendet werden soll. Fügen Sie die Metadaten-Eigenschaft model zu Ihrer chatmode.md-Datei hinzu und geben Sie die Modellkennung an (wir bieten IntelliSense für die Modellinformationen).

Screenshot that shows the IntelliSense for the model metadata property in chat mode file.

Verbesserte Bearbeitungsunterstützung

Der Editor für Chat-Modi, Prompts und Anweisungsdateien unterstützt jetzt Vervollständigungen, Validierungen und Hover-Informationen für alle unterstützten Metadaten-Eigenschaften.

Screenshot that shows the hover information for tools.

Screenshot that shows the model diagnostics when a model is not available for a specific chat mode.

Zahnradmenü in der Chat-Ansicht

Die Aktion Chat konfigurieren in der Werkzeugleiste der Chat-Ansicht ermöglicht Ihnen die Verwaltung benutzerdefinierter Modi sowie wiederverwendbarer Anweisungen, Prompts und Werkzeugsätze.

Screenshot that shows the Configure Chat menu in the Chat view.

Die Auswahl von Modi zeigt alle derzeit installierten benutzerdefinierten Modi an und ermöglicht Ihnen, Modi zu öffnen, neue zu erstellen oder zu löschen.

Sie können jetzt Chat-Modi, wiederverwendbare Prompt- und Anweisungsdateien von externen Links importieren, z. B. von einem Gist oder unserem Community-Repository awesome-copilot. Zum Beispiel importiert der folgende Link die Chat-Modus-Datei für Burkes GPT 4.1 Beast Mode:

Fügen Sie GPT 4.1 Beast Mode zu VS Code hinzu

Dies fordert Sie zur Angabe eines Ziels auf, entweder Ihren aktuellen Arbeitsbereich oder Ihre Benutzereinstellungen, und bestätigt den Namen, bevor die Modusdatei von der URL importiert wird.

Probieren Sie es mit den über 100 von der Community beigesteuerten Anweisungen, Prompts und Chat-Modi unter awesome-copilot aus.

Benutzerdefinierte Anweisungen generieren

Das Einrichten von benutzerdefinierten Anweisungen für Ihr Projekt kann KI-Vorschläge erheblich verbessern, indem es Kontext über Ihre Codierungsstandards und Projektkonventionen liefert. Das Erstellen effektiver Anweisungen von Grund auf kann jedoch eine Herausforderung darstellen.

In diesem Meilenstein führen wir den Befehl Chat: Anweisungen generieren ein, der Ihnen hilft, benutzerdefinierte Anweisungen für Ihren Arbeitsbereich zu erstellen. Führen Sie diesen Befehl über die Befehlspalette oder das Menü "Konfigurieren" in der Chat-Ansicht aus, und der Agentenmodus analysiert Ihren Code, um maßgeschneiderte Anweisungen zu generieren, die die Struktur, Technologien und Muster Ihres Projekts widerspiegeln.

Der Befehl erstellt eine Datei copilot-instructions.md in Ihrem .github-Ordner oder schlägt Verbesserungen an vorhandenen Anweisungsdateien vor. Sie können die generierten Anweisungen dann überprüfen und an die spezifischen Bedürfnisse Ihres Teams anpassen.

Erfahren Sie mehr über das Anpassen von KI-Antworten mit Anweisungen.

Laden von Anweisungsdateien bei Bedarf

Anweisungsdateien können verwendet werden, um Codierungspraktiken und Projektanforderungen zu beschreiben. Anweisungen können manuell oder automatisch als Kontext für Chat-Anfragen eingeschlossen werden.

Es werden verschiedene Mechanismen unterstützt. Siehe den Abschnitt Benutzerdefinierte Anweisungen in unserer Dokumentation.

Für größere Anweisungen, die Sie bedingt einschließen möchten, können Sie .instructions.md-Dateien in Kombination mit Glob-Mustern verwenden, die in der applyTo-Kopfzeile definiert sind. Die Datei wird automatisch hinzugefügt, wenn das Glob-Muster auf eine oder mehrere Dateien im Kontext des Chats zutrifft.

Neu in dieser Version: Das große Sprachmodell kann Anweisungen bei Bedarf laden. Jede Anfrage erhält eine Liste aller Anweisungsdateien zusammen mit dem Glob-Muster und der Beschreibung. In diesem Beispiel hat die LLM keine explizit im Kontext hinzugefügten Anweisungen für TypeScript-Dateien. Daher sucht sie nach Code-Stilregeln, bevor sie eine TypeScript-Datei erstellt.

Screenshot showing loading instruction files on demand.

Vorherige Anfragen bearbeiten (experimentell)

Sie können jetzt auf frühere Anfragen klicken, um den Textinhalt, den angehängten Kontext, den Modus und das Modell zu ändern. Nach dem Absenden dieser Änderung werden alle nachfolgenden Anfragen entfernt, alle vorgenommenen Bearbeitungen rückgängig gemacht und die neue Anfrage im Chat gesendet.

Es wird eine kontrollierte Einführung verschiedener Einstiegspunkte für die Bearbeitung von Anfragen geben, die uns helfen wird, Feedback zu bevorzugten Bearbeitungs- und Rückgängig-Flüssen zu sammeln. Benutzer können jedoch ihren bevorzugten Modus mit der experimentellen Einstellung chat.editRequests festlegen.

  • chat.editRequests.inline: Bewegen Sie den Mauszeiger über eine Anfrage und wählen Sie den Text aus, um eine Bearbeitung inline mit der Anfrage zu beginnen.
  • chat.editRequests.hover: Bewegen Sie den Mauszeiger über eine Anfrage, um eine Werkzeugleiste mit einer Schaltfläche zum Beginnen einer Bearbeitung inline mit der Anfrage anzuzeigen.
  • chat.editRequests.input: Bewegen Sie den Mauszeiger über eine Anfrage, um eine Werkzeugleiste anzuzeigen, die Bearbeitungen im Eingabefeld am unteren Rand des Chats startet.

Terminal-Auto-Genehmigung (experimentell)

Der Agentenmodus verfügt jetzt über einen Mechanismus zur automatischen Genehmigung von Befehlen im Terminal. Hier eine Demo mit den Standardeinstellungen.

Es gibt derzeit zwei Einstellungen: die Zulassungsliste und die Ablehnungsliste. Die Zulassungsliste ist eine Liste von Befehls*präfixen* oder regulären Ausdrücken, die beim Abgleich den Befehl ohne explizite Genehmigung ausführen lassen. Zum Beispiel lässt die folgende Zeile jeden Befehl, der mit npm run test beginnt, ausführen, ebenso wie exakt git status oder git log.

"github.copilot.chat.agent.terminal.allowList": {
  "npm run test": true,
  "/^git (status|log)$/": true
}

Diese Einstellungen werden über Einstellungsumfänge hinweg zusammengeführt, sodass Sie eine Reihe von benutzergenehmigten Befehlen sowie spezifisch für den Arbeitsbereich genehmigte Befehle haben können.

Bei verketteten Befehlen versuchen wir, diese Fälle basierend auf der Shell zu erkennen und verlangen, dass alle Unterbefehle genehmigt werden. Bei foo && bar prüfen wir also, ob sowohl foo als auch bar erlaubt sind, nur dann wird es ohne Genehmigung ausgeführt. Wir versuchen auch, Inline-Befehle wie echo $(pwd) zu erkennen, was sowohl echo $(pwd) als auch pwd prüfen würde.

Die Ablehnungsliste hat das gleiche Format wie die Zulassungsliste, überschreibt diese jedoch und erzwingt die Genehmigung. Vorerst ist dies hauptsächlich nützlich, wenn Sie einen breiten Eintrag in der Zulassungsliste haben und bestimmte Befehle blockieren möchten, die diese möglicherweise enthält. Zum Beispiel erlaubt die folgende Zeile alle Befehle, die mit npm run beginnen, außer wenn sie mit npm run danger beginnen.

"github.copilot.chat.agent.terminal.allowList": {
  "npm run": true
},
"github.copilot.chat.agent.terminal.denyList": {
  "npm run danger": true
}

Dank der Schutzmaßnahmen gegen Prompt-Injection durch Arbeitsbereichsvertrauen verfolgen wir bei der Implementierung dieser Funktion in Bezug auf die Sicherheit den Ansatz, eine kleine Auswahl unbedenklicher Befehle in die Zulassungsliste und eine Auswahl besonders gefährlicher Befehle in die Ablehnungsliste aufzunehmen, falls sie doch durchrutschen. Die Zulassungsliste ist standardmäßig leer, da wir noch überlegen, wie die Standardwerte aussehen sollen, aber hier ist, was wir uns vorstellen:

  • Zulassungsliste: echo, cd, ls, cat, pwd, Write-Host, Set-Location, Get-ChildItem, Get-Content, Get-Location
  • Ablehnungsliste: rm, rmdir, del, kill, curl, wget, eval, chmod, chown, Remove-Item

Die beiden Hauptteile, die wir dieser Funktion hinzufügen möchten, sind ein UI-Einstiegspunkt zum einfacheren Hinzufügen neuer Befehle zur Liste (#253268) und eine Opt-in-Option, mit der eine LLM die Sicherheit der Befehle bewerten kann (#253267). Wir planen außerdem, sowohl das Präfix github.copilot. dieser Einstellungen zu entfernen (#253314) als auch sie zusammenzuführen (#253472) in der nächsten Version, bevor sie zu einer Vorschlageinstellung wird.

Vereinfachung von Terminalbefehlen

Der Agentenmodus möchte manchmal Befehle mit einer cd-Anweisung ausführen, nur für den Fall. Wir erkennen diesen Fall jetzt, wenn er mit dem aktuellen Arbeitsverzeichnis übereinstimmt, und vereinfachen den ausgeführten Befehl.

Screenshot of the terminal, asking to run  only runs  when the current working directory already matches.

Agentenbewusstsein für Aufgaben und Terminals

Der Agentenmodus versteht jetzt, welche Hintergrundterminals er erstellt hat und welche Aufgaben aktiv ausgeführt werden. Der Agent kann die Task-Ausgabe mithilfe des neuen GetTaskOutput-Tools lesen, was die Ausführung doppelter Tasks verhindert und den Arbeitsbereichskontext verbessert.

Screenshot of VS Code window showing two build tasks running in the terminal panel. The left terminal displays several errors. The chat agent replies to describe status of my build tasks with a summary of each task's output.

Maximalisierte Chat-Ansicht

Sie können jetzt die sekundäre Seitenleiste maximieren, um den Editorbereich zu füllen und die primäre Seitenleiste und den Bedienfeldbereich auszublenden. VS Code speichert diesen Zustand zwischen Neustarts und stellt die Chat-Ansicht wieder her, wenn Sie einen Editor oder eine Ansicht öffnen.

Sie können den maximierten Zustand über das neue Symbol neben der Schließen-Schaltfläche umschalten oder den neuen Befehl workbench.action.toggleMaximizedAuxiliaryBar aus der Befehlspalette verwenden.

Agentenmodus-Badge-Indikator

Wir zeigen jetzt ein Badge über dem Anwendungssymbol im Dock an, wenn das Fenster nicht fokussiert ist und der Agent eine Benutzerbestätigung benötigt, um fortzufahren. Das Badge verschwindet, sobald das entsprechende Fenster, das es ausgelöst hat, den Fokus erhält.

Screenshot of the VS Code dock icon showing an agent confirmation as a badge.

Sie können dieses Badge über die Einstellung chat.notifyWindowOnConfirmation aktivieren oder deaktivieren.

Chat von der Kommandozeile starten

Ein neuer Unterbefehl chat wird der VS Code CLI hinzugefügt, der es Ihnen ermöglicht, eine Chat-Sitzung im aktuellen Arbeitsverzeichnis mit dem angegebenen Prompt zu starten.

Die grundlegende Syntax ist code chat [optionen] [prompt] und Optionen können sein:

  • -m --mode <modus>: Der zu verwendende Modus für die Chat-Sitzung. Verfügbare Optionen: 'ask', 'edit', 'agent' oder die Kennung eines benutzerdefinierten Modus. Standard ist 'agent'
  • -a --add-file <pfad>: Dateien als Kontext zur Chat-Sitzung hinzufügen
  • --maximize: Die Chat-Sitzungsansicht maximieren
  • -r --reuse-window: Das zuletzt aktive Fenster für die Chat-Sitzung erzwingen
  • -n --new-window: Ein leeres Fenster für die Chat-Sitzung erzwingen

Das Lesen von stdin wird unterstützt, vorausgesetzt, Sie übergeben - am Ende, z. B. ps aux | grep code | code chat <prompt> -.

Fetch-Tool unterstützt Nicht-HTTP-URLs

Wir haben festgestellt, dass Modelle gelegentlich das Fetch-Tool mit Nicht-HTTP-URLs aufrufen möchten, z. B. file://-URLs. Anstatt dies zu verbieten, unterstützt das Fetch-Tool jetzt diese URLs und gibt den Inhalt der Datei oder Ressource unter der URL zurück. Bilder werden ebenfalls unterstützt.

Klareres Management des Zugriffs auf Sprachmodelle

Wir haben die Benutzererfahrung rund um die Verwaltung des Erweiterungszugriffs auf von Erweiterungen bereitgestellte Sprachmodelle überarbeitet. Zuvor gab es im Menü "Konto" einen Eintrag mit dem Namen KontoName (GitHub Copilot Chat), der nichts mit dem von GitHub Copilot Chat verwendeten Konto zu tun hatte. Vielmehr konnten Sie verwalten, welche Erweiterungen Zugriff auf die von Copilot Chat bereitgestellten Sprachmodelle hatten.

Um dies klarer zu machen, haben wir den Eintrag KontoName (GitHub Copilot Chat) entfernt und durch einen neuen Eintrag namens Sprachmodellzugriff verwalten... ersetzt. Dieser Eintrag öffnet eine Schnellauswahl, mit der Sie verwalten können, welche Erweiterungen Zugriff auf die von GitHub Copilot Chat bereitgestellten Sprachmodelle haben.

Screenshot that shows the language model access Quick Pick.

Wir denken, das ist klarer... Nichtsdestotrotz werden wir in einer zukünftigen Version eine granularere Zugriffskontrolle für Sprachmodelle untersuchen (z. B. nur bestimmte Modelle zulassen und nicht *alle* von einer Erweiterung bereitgestellten Modelle). Bleiben Sie also gespannt.

Chat-Anfragen lesen

Da die Chat-Erweiterung selbst Open Source ist, erhalten Sie jetzt Zugriff auf eines der Debugging-Tools, das wir intern schon seit einiger Zeit verwenden. Um die Details aller von Copilot Chat gesendeten Anfragen einfach anzuzeigen, führen Sie den Befehl "Chat-Debug-Ansicht anzeigen" aus. Dies zeigt eine Baumansicht mit einem Eintrag für jede gesendete Anfrage an. Sie können den vollständigen Prompt, der an das Modell gesendet wurde, die aktivierten Werkzeuge, die Antwort und andere wichtige Details sehen. Sie können das Anfrageprotokoll mit Rechtsklick > "Exportieren als..." speichern.

Die Ansicht enthält auch Einträge für Werkzeugaufrufe allein und eine Prompt-tsx-Debug-Ansicht, die im einfachen Browser geöffnet wird.

🚨 Hinweis: Dieses Protokoll ist sehr hilfreich bei der Fehlerbehebung, und wir würden uns freuen, wenn Sie es beim Einreichen einer Anfrage bezüglich des Verhaltens des Agenten teilen. Dieses Protokoll kann jedoch persönliche Informationen wie den Inhalt Ihrer Dateien oder die Terminalausgabe enthalten. Bitte überprüfen Sie den Inhalt sorgfältig, bevor Sie ihn mit anderen teilen.

Verbesserungen des Bearbeitungstools

Diese Version enthält mehrere Änderungen an der Vorhersagbarkeit und Zuverlässigkeit der Bearbeitungswerkzeuge für GPT-4- und Sonnet-Modelle. Sie sollten in dieser Version ein zuverlässigeres Bearbeitungsverhalten feststellen, und wir werden diese Werkzeuge in zukünftigen Versionen weiter verbessern.

MCP

MCP-Unterstützung in VS Code ist allgemein verfügbar

Wir haben in den letzten Monaten daran gearbeitet, die MCP-Unterstützung in VS Code zu erweitern und den vollen Umfang der MCP-Funktionen in der Spezifikation zu unterstützen. Mit dieser Version ist die MCP-Unterstützung in VS Code nun allgemein verfügbar!

Darüber hinaus können Organisationen jetzt die Verfügbarkeit von MCP-Servern mit einer GitHub Copilot-Richtlinie steuern. Erfahren Sie mehr unter Verwalten von Richtlinien und Funktionen für Copilot in Ihrem Unternehmen in der GitHub Copilot-Dokumentation.

Sie können loslegen, indem Sie einige der beliebten MCP-Server aus unserer kuratierten Liste installieren. Erfahren Sie mehr über die Verwendung von MCP-Servern in VS Code und wie Sie diese zur Erweiterung des Agentenmodus nutzen können.

Screenshot that shows the MCP Servers page.

Wenn Sie Ihren eigenen MCP-Server erstellen möchten, lesen Sie unseren MCP-Entwicklerleitfaden für weitere Details, wie Sie die MCP-Funktionen in VS Code nutzen können.

Unterstützung für Elicitations

Die neueste MCP-Spezifikation hat die Unterstützung für Elicitations als Möglichkeit für MCP-Server hinzugefügt, Eingaben von MCP-Clients anzufordern. Die neueste Version von VS Code übernimmt diese Spezifikation und enthält Unterstützung für Elicitations.

MCP-Server-Erkennung und -Installation

Der neue Abschnitt MCP-Server in der Erweiterungsansicht enthält Willkommensinhalte, die direkt auf die beliebten MCP-Server aus unserer kuratierten Liste verweisen. Besuchen Sie die Website, um verfügbare MCP-Server zu erkunden und auf einem MCP-Server Installieren auszuwählen. Dies startet automatisch VS Code und öffnet den MCP-Server-Editor, der die Readme- und Manifestinformationen des Servers anzeigt. Sie können die Serverdetails überprüfen und Installieren auswählen, um den Server zu Ihrer VS Code-Instanz hinzuzufügen.

Nach der Installation erscheinen MCP-Server automatisch in Ihrer Erweiterungsansicht unter dem Abschnitt MCP-SERVER – INSTALLIERT, und ihre Tools werden in der Werkzeug-Schnellauswahl der Chat-Ansicht verfügbar. Dies erleichtert die Überprüfung, ob Ihr MCP-Server korrekt funktioniert, und den sofortigen Zugriff auf seine Funktionen.

MCP-Server-Verwaltungsansicht

Die neue Ansicht MCP-SERVER – INSTALLIERT in der Erweiterungsansicht erleichtert die Überwachung, Konfiguration und Steuerung Ihrer installierten MCP-Server.

Screenshot showing the MCP Servers management view with installed servers.

Die Ansicht listet die installierten MCP-Server auf und bietet über das Kontextmenü mehrere Verwaltungsaktionen an.

Screenshot showing the context menu actions for an MCP server.

  • Server starten / Server stoppen / Server neu starten: Steuern Sie den laufenden Zustand des Servers.
  • Konto trennen: Entfernen Sie den Kontozugriff vom Server.
  • Ausgabe anzeigen: Zeigen Sie die Server-Ausgabe-Logs zur Fehlerbehebung an.
  • Konfiguration anzeigen: Öffnen Sie die Laufzeitkonfiguration des Servers.
  • Modellzugriff konfigurieren: Verwalten Sie, auf welche Sprachmodelle der Server zugreifen kann.
  • Beispielanfragen anzeigen: Zeigen Sie Beispielanfragen zur Fehlerbehebung an.
  • Ressourcen durchsuchen: Erkunden Sie vom Server bereitgestellte Ressourcen.
  • Deinstallieren: Entfernen Sie den Server aus Ihrer VS Code-Instanz.

Wenn Sie einen installierten MCP-Server auswählen, öffnet VS Code den MCP-Server-Editor, der die Readme-Details, das Manifest und die Laufzeitkonfiguration des Servers anzeigt. Dies bietet einen Überblick über die Funktionen und aktuellen Einstellungen des Servers und erleichtert das Verständnis, was der Server tut und wie er konfiguriert ist.

Screenshot showing the MCP server editor with runtime configuration.

Die Ansicht MCP-SERVER – INSTALLIERT bietet auch die Aktion MCP-Server durchsuchen..., die Sie direkt zur Community-Website führt, wodurch die Servererkennung immer von VS Code aus zugänglich ist.

Screenshot that shows the Browse MCP Servers action in the MCP Servers view.

MCP-Server als primäre Ressourcen

MCP-Server werden in VS Code jetzt als primäre Ressourcen behandelt, ähnlich wie Benutzeraufgaben und andere profilspezifische Konfigurationen. Dies stellt eine bedeutende architektonische Verbesserung gegenüber dem vorherigen Ansatz dar, bei dem MCP-Server in Benutzereinstellungen gespeichert wurden. Diese Änderung macht die Verwaltung von MCP-Servern robuster und sorgt für eine bessere Trennung der Verantwortlichkeiten zwischen Ihren allgemeinen VS Code-Einstellungen und Ihren MCP-Serverkonfigurationen. Wenn Sie MCP-Server installieren oder konfigurieren, werden sie automatisch am entsprechenden profilspezifischen Speicherort abgelegt, um sicherzustellen, dass Ihre Hauptkonfigurationsdatei sauber und fokussiert bleibt.

  • Dedizierter Speicher: MCP-Server werden jetzt in einer dedizierten Datei mcp.json innerhalb jedes Profils gespeichert, anstatt Ihre Benutzereinstellungsdatei zu überladen.
  • Profilspezifisch: Jedes VS Code-Profil unterhält seine eigenen MCP-Server, sodass Sie für verschiedene Arbeitsabläufe oder Projekte unterschiedliche Serverkonfigurationen haben können.
  • Einstellungen-Synchronisierung-Integration: MCP-Server synchronisieren sich nahtlos über Ihre Geräte hinweg mithilfe von Einstellungen-Synchronisierung, mit granularer Kontrolle darüber, was synchronisiert wird.

MCP-Migrationsunterstützung

Da MCP-Server primäre Ressourcen sind und die damit verbundenen Konfigurationsänderungen, bietet VS Code umfassende Migrationsunterstützung für Benutzer, die vom vorherigen MCP-Server-Konfigurationsformat aktualisieren.

  • Automatische Erkennung: Vorhandene MCP-Server in settings.json werden automatisch erkannt und in das neue profilspezifische mcp.json-Format migriert.
  • Echtzeit-Migration: Wenn Sie MCP-Server zu Benutzereinstellungen hinzufügen, migriert VS Code diese sofort mit einer hilfreichen Benachrichtigung, die die Änderung erklärt.
  • Plattformübergreifende Unterstützung: Die Migration funktioniert nahtlos über alle Entwicklungsszenarien hinweg, einschließlich lokaler, Remote-, WSL- und Codespaces-Umgebungen.

Diese Migration stellt sicher, dass Ihre vorhandenen MCP-Serverkonfigurationen ohne manuelles Eingreifen weiterhin funktionieren, und bietet gleichzeitig die erweiterten Verwaltungsfunktionen der neuen Architektur.

Dev-Container-Unterstützung für MCP-Konfiguration

Die Dev-Container-Konfiguration devcontainer.json und die Dev-Container-Feature-Konfiguration devcontainer-feature.json unterstützen MCP-Serverkonfigurationen unter dem Pfad customizations.vscode.mcp. Wenn ein Dev-Container erstellt wird, werden die gesammelten MCP-Serverkonfigurationen in die Remote-MCP-Konfigurationsdatei mcp.json geschrieben.

Beispiel devcontainer.json zur Konfiguration des Playwright MCP-Servers

{
  "image": "mcr.microsoft.com/devcontainers/typescript-node:latest",

  "customizations": {
    "vscode": {
      "mcp": {
        "servers": {
          "playwright": {
            "command": "npx",
            "args": ["@playwright/mcp@latest"]
          }
        }
      }
    }
  }
}

Befehle zum Zugriff auf MCP-Ressourcen

Um die Arbeit mit MCP-Servern zugänglicher zu machen, haben wir Befehle hinzugefügt, die Ihnen bei der Verwaltung und dem Zugriff auf Ihre MCP-Konfigurationsdateien helfen.

  • MCP: Benutzereinstellungen öffnen - Direkter Zugriff auf Ihre mcp.json-Datei auf Benutzerebene.
  • MCP: Remote-Benutzereinstellungen öffnen - Direkter Zugriff auf Ihre mcp.json-Datei auf Remote-Benutzerebene.

Diese Befehle bieten einen schnellen Zugriff auf Ihre MCP-Konfigurationsdateien, sodass Sie Ihre Serverkonfigurationen einfach direkt anzeigen und verwalten können.

Schnelle Verwaltung der MCP-Authentifizierung

Sie können sich jetzt über das MCP-Zahnradmenü und die Schnellauswahlen abmelden oder Konten trennen.

  • MCP-Ansicht Zahnradmenü: Screenshot zeigt die Aktion Konto trennen im Zahnradmenü der MCP-Ansicht.

  • MCP-Editor Zahnradmenü: Screenshot zeigt die Aktion Konto trennen im Zahnradmenü des MCP-Editors.

  • MCP Schnellauswahl: Screenshot zeigt die Aktion Konto trennen im MCP-Schnellauswahlmenü.

Die Aktion Trennen wird angezeigt, wenn das Konto von anderen MCP-Servern oder Erweiterungen verwendet wird, während Abmelden angezeigt wird, wenn das Konto nur vom MCP-Server verwendet wird. Die Abmeldeaktion entfernt das Konto vollständig aus VS Code, während Trennen nur den Zugriff auf das Konto vom MCP-Server entfernt.

Barrierefreiheit

Alle Bearbeitungen aus dem Editor beibehalten

Früher musste der Fokus in der Chat-Ansicht liegen, um alle Bearbeitungen zu akzeptieren. Jetzt, mit Fokus im Editor, können Sie den Befehl Alle Bearbeitungen beibehalten (⌥⌘Y (Windows, Linux Ctrl+Alt+Y)) ausführen.

Ton für Benutzeraktion erforderlich

Wir haben das Barrierefreiheitsignal feinabgestimmt, um anzuzeigen, wenn der Chat eine Benutzeraktion erfordert, und den Standardwert auf auto gesetzt, sodass Screenreader-Benutzer dieses Signal hören. Sie können dieses Verhalten mit der Einstellung accessibility.signals.chatUserActionRequired konfigurieren.

Warnung bei Rendering-Fehlern im Chat

Zuvor wurden Screenreader-Benutzer nicht benachrichtigt, wenn ein Chat-Rendering-Fehler auftrat. Benutzer werden nun mit dieser Information benachrichtigt und können diese auch per Tastatur fokussieren.

Code-Bearbeitung

Scrollen bei mittlerem Mausklick

Einstellung: editor.scrollOnMiddleClick

Scrollen Sie den Editor, indem Sie einfach klicken oder Ihre mittlere Maustaste (das Scrollrad) gedrückt halten und sich bewegen.

Nach der Aktivierung ändert sich der Cursor zu einem Schwenk-Symbol, und das Bewegen der Maus nach oben oder unten scrollt den Editor dann sanft in diese Richtung. Die Scrollgeschwindigkeit wird dadurch bestimmt, wie weit Sie die Maus vom ursprünglichen Klickpunkt entfernen. Lassen Sie die mittlere Maustaste los oder klicken Sie erneut darauf, um das Scrollen zu stoppen und zum Standardcursor zurückzukehren.

Bekannte Konflikte

Die Aktivierung dieser Funktion kann mit anderen Aktionen, die an die mittlere Maustaste gebunden sind, in Konflikt geraten. Wenn Sie beispielsweise die Spaltenauswahl (editor.columnSelection) aktiviert haben, wird beim Halten der mittleren Maustaste Text ausgewählt. Ähnlich wird unter Linux die Auswahl-Zwischenablage (editor.selectionClipboard) beim Klicken der mittleren Maustaste Inhalte aus Ihrer Zwischenablage eingefügt.

Um diese Konflikte zu vermeiden, aktivieren Sie bitte nur eine dieser Einstellungen gleichzeitig.

Code-Vervollständigungen sperren

Sie können jetzt Inline-Vorschläge und nächste Bearbeitungsvorschläge (NES) vorübergehend pausieren, indem Sie die neue Funktion Sperren verwenden. Dies ist hilfreich, wenn Sie sich ohne Ablenkung durch Vorschläge konzentrieren möchten.

Um Vorschläge zu sperren, wählen Sie das Copilot-Dashboard in der Statusleiste aus oder führen Sie den Befehl Inline-Vorschläge sperren über die Befehlspalette aus und wählen Sie eine Dauer aus dem Dropdown-Menü. Während des Sperrzeitraums werden keine Inline-Vorschläge oder NES angezeigt.

Screenshot showing the Copilot dashboard with the snooze button at the bottom.

Sie können auch eine benutzerdefinierte Tastenkombination zuweisen, um Vorschläge für eine bestimmte Dauer schnell zu sperren, indem Sie die gewünschte Dauer als Argument an den Befehl übergeben. Zum Beispiel:

{
  "key": "...",
  "command": "editor.action.inlineSuggest.snooze",
  "args": 10
}

Editor-Erlebnis

Windows-Akzentfarbe

Einstellung: window.border

VS Code unter Windows unterstützt jetzt die Verwendung der Akzentfarbe als Fensterrahmen, wenn diese in den Windows-Einstellungen aktiviert ist ("Akzentfarbe auf Titelleisten und Fensterrahmen anzeigen").

Screenshot of the VS Code window with a red accent color border.

Die neue Einstellung window.border ermöglicht Ihnen die Steuerung der Farbe des Fensterrahmens. Verwenden Sie default, um die Windows-Akzentfarbe zu verwenden, off, um den Rahmen zu deaktivieren, oder geben Sie einen bestimmten Farbwert an, um eine benutzerdefinierte Farbe zu verwenden.

Hinweis: Der Rahmen ist nur sichtbar, wenn die zugehörige Windows-Einstellung aktiviert ist. Er kann noch nicht pro Arbeitsbereich eingestellt werden, aber wir arbeiten daran.

Einstellungen-Suchvorschläge (Vorschau)

Einstellung: workbench.settings.showAISearchToggle

In diesem Meilenstein haben wir den Glitzer-Schalter im Einstellungen-Editor geändert, sodass er als Umschalter zwischen KI- und Nicht-KI-Suchergebnissen fungiert. Die KI-Einstellungen-Suchergebnisse sind semantisch ähnliche Ergebnisse anstelle von Ergebnissen, die auf Zeichenkettenvergleich basieren. Zum Beispiel erscheint editor.fontSize als KI-Einstellungen-Suchergebnis, wenn Sie nach "Textgröße erhöhen" suchen.

Der Schalter ist nur aktiviert, wenn KI-Ergebnisse verfügbar sind. Wir freuen uns über Feedback, wenn die KI-Einstellungen-Suche eine erwartete Einstellung nicht gefunden hat, und wir planen, die Einstellung im nächsten Iteration standardmäßig zu aktivieren.

Aufgaben

Alle laufenden Aufgaben erneut ausführen

Sie können jetzt alle aktuell laufenden Aufgaben mit dem neuen Befehl Aufgaben: Alle laufenden Aufgaben erneut ausführen schnell wieder ausführen. Dies ist nützlich für Arbeitsabläufe, die mehrere gleichzeitige Aufgaben beinhalten, und ermöglicht Ihnen, diese alle auf einmal neu zu starten, ohne jede einzeln stoppen und erneut ausführen zu müssen.

Aufgabe neu starten lädt aktualisierte tasks.json

Der Befehl Aufgabe neu starten lädt jetzt Ihre tasks.json neu, bevor die Aufgabe neu gestartet wird, um sicherzustellen, dass alle kürzlich vorgenommenen Änderungen berücksichtigt werden. Zuvor wurden Änderungen an der Aufgabenkonfiguration beim Neustart einer Aufgabe nicht übernommen, was zu Verwirrung oder veraltetem Aufgabenverhalten führen konnte.

Terminal

Terminal-Vorschlag (Vorschau)

Wir haben bedeutende Verbesserungen an der Terminal-Vorschlagsfunktion vorgenommen.

Auswahlmodus

Eine neue Einstellung, terminal.integrated.suggest.selectionMode, hilft Ihnen zu verstehen, dass standardmäßig Tab (nicht Enter) Vorschläge akzeptiert. Sie können zwischen den Modi partial, always und never wählen, um zu steuern, wie Vorschläge ausgewählt und akzeptiert werden.

Der Standardwert ist partial, was bedeutet, dass Tab den Vorschlag akzeptiert, bis eine Navigation stattgefunden hat.

Screenshot showing the first terminal suggestion can be accepted with Tab.

Mehr erfahren

Die Aktion Mehr erfahren (kb(workbench.action.terminal.suggestLearnMore)) in der Statusleiste des Terminal-Vorschlags wird jetzt die ersten 10 Mal hervorgehoben oder wenn die Steuerung 10 Sekunden lang angezeigt wird. Dies hilft Ihnen zu entdecken, wie Sie die Vorschlagssteuerung konfigurieren, deaktivieren und darüber lesen.

Screenshot showing the Learn More action appears in the terminal suggest control status bar.

Unterstützung für mehrere Befehle

Terminal-Vorschläge unterstützen jetzt mehrzeilige Befehle. Sie können Befehle mit ;, && und anderen Shell-Operatoren verknüpfen und Vorschläge für alle Befehle in der Zeile erhalten.

Screenshot showing the VS Code terminal showing a multi-command line with git commit and git push, and the terminal suggest widget displaying suggestions for pull, push, and other git commands.

Wir zeigen jetzt den echten Pfad eines Symbol-Links im Vorschlagsdetail-Steuerelement an und haben eindeutige Symbole für Symbol-Link-Dateien und -Ordner, um sie von anderen Vorschlägen zu unterscheiden.

Screenshot showing the terminal suggest shows the symlink's path -> real path.

Verbesserte Sortierung

Wir haben die Sortierung in vielerlei Hinsicht verbessert, um Ihnen die relevantesten Vorschläge zuerst zu liefern. Zum Beispiel geben wir main und master Vorrang vor anderen Branches.

Screenshot showing the terminal suggest boosts main and master compared to other branch suggestions.

Verbesserungen für Git Bash

Wir unterstützen jetzt ordnungsgemäß Git Bash-Pfadvervollständigungen für Ordner und Dateien. Außerdem binden wir die integrierten Befehle ein und präsentieren sie als Vorschläge.

Screenshot showing a Git Bash terminal with suggestions for builtin functions like cat, cp, and curl.

Beiträge zu Erweiterungen

GitHub Pull Requests

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

Es wurde eine tiefere Integration zwischen der GitHub Pull Requests-Erweiterung und dem Copilot Coding Agent vorgenommen, sodass Sie Coding Agent-Sitzungen direkt von VS Code aus starten, anzeigen und verwalten können.

Diese Funktionen erfordern, dass Ihr Arbeitsbereich für ein Repository geöffnet ist, für das der Copilot Coding Agent aktiviert ist.

Überprüfen Sie das Changelog für die Version 0.114.0 der Erweiterung, um alles Neue in dieser Version zu erfahren.

Starten Sie eine Coding Agent-Sitzung (Vorschau)

Bitten Sie Copilot, eine lokale Änderung im Hintergrund fortzusetzen, indem Sie das Tool #copilotCodingAgent im Chat aufrufen.

Dieses Tool pusht automatisch ausstehende Änderungen in einen Remote-Branch und startet eine Coding Agent-Sitzung von diesem Branch aus zusammen mit der Anweisung des Benutzers.

Screenshot showing handing off a session to Copilot coding agent

Experimentell: Eine tiefere UI-Integration kann mit der Einstellung githubPullRequests.codingAgent.uiIntegration aktiviert werden. Sobald diese aktiviert ist, erscheint im Chat-Fenster für Repositories, bei denen der Agent aktiviert ist, eine neue Schaltfläche An Coding Agent delegieren.

Statusverfolgung

Wir haben Verbesserungen vorgenommen, um den Status von Coding Agent-Pull-Requests in der Abfrage Copilot in meinem Auftrag zu benachrichtigen und prominent anzuzeigen. Eine numerische Markierung zeigt jetzt neue Änderungen an.

Screenshot showing status of multiple coding agent pull requests

Sitzungsprotokoll

Sie können das Sitzungsprotokoll einer Coding Agent-Sitzung jetzt direkt in VS Code anzeigen. Dies ermöglicht es Ihnen, die Historie der vom Coding Agent durchgeführten Aktionen zu sehen, einschließlich Codeänderungen und Tool-Nutzung.

Screenshot showing the session log of a coding agent session.

Erweiterungen am #activePullRequest-Tool

Das Tool #activePullRequest gibt Informationen über den Pull-Request zurück, wie z. B. dessen Titel, Beschreibung und Status für die Verwendung im Chat. Jetzt können Sie es auch verwenden, um Informationen zur Coding Agent-Sitzung zu erhalten.

Dieses Tool wird automatisch an den Chat angehängt, wenn ein über die Coding Agent-Erfahrung erstellter Pull-Request geöffnet wird, sodass Sie den Kontext beibehalten und bei Bedarf weiter am Pull-Request arbeiten können.

Python

Verbesserungen der Python Environments-Erweiterung

Die Python Environments-Erweiterung hat in dieser Version mehrere Verbesserungen erhalten.

  • Wir haben die Terminalaktivierungsunterstützung für Poetry-Versionen größer als 2.0.0 optimiert.
  • Sie können jetzt die Option "Schnellerstellung Umgebung" verwenden, um mehrere virtuelle Umgebungen einzurichten, die innerhalb desselben Arbeitsbereichs eindeutig benannt sind.
  • Die generierten .venv-Ordner werden nun standardmäßig von Git ignoriert.
  • Wir haben den Prozess zur Löschung von Umgebungen verbessert.

Python Environments als Teil der Python-Erweiterung

Wir beginnen mit der Einführung der Python Environments-Erweiterung als optionale Abhängigkeit mit der Python-Erweiterung. Das bedeutet, dass Sie möglicherweise feststellen werden, dass die Python Environments-Erweiterung automatisch zusammen mit der Python-Erweiterung installiert wird, ähnlich wie die Python Debugger- und Pylance-Erweiterungen. Diese kontrollierte Einführung ermöglicht es uns, frühes Feedback zu sammeln und die Zuverlässigkeit vor der allgemeinen Verfügbarkeit sicherzustellen.

Die Python Environments-Erweiterung umfasst alle bisher von uns eingeführten Kernfunktionen, einschließlich: Ein-Klick-Umgebungseinrichtung mit Schnellerstellung, automatische Terminalaktivierung (über die Einstellung "python-envs.terminal.autoActivationType") und die gesamte unterstützte UI für die Umgebungs- und Paketverwaltung.

Um die Python Environments-Erweiterung während der Einführung zu nutzen, stellen Sie sicher, dass die Erweiterung installiert ist, und fügen Sie Folgendes zu Ihrer VS Code settings.json-Datei hinzu:

"python.useEnvironmentsExtension": true

PyREPL für Python 3.13 deaktiviert

Wir haben PyREPL für Python 3.13 und höher deaktiviert, um Einrückungs- und Cursorprobleme im interaktiven Terminal zu beheben. Weitere Details finden Sie unter PyREPL für >= 3.13 deaktivieren.

Pylance MCP-Tools (Experimentell)

Die Pylance-Erweiterung enthält jetzt mehrere experimentelle MCP-Tools, die Zugriff auf die Dokumentation von Pylance, Importanalyse, Umgebungsverwaltung und mehr bieten. Diese Tools sind derzeit in der Pylance-Vorabversions-Version verfügbar und befinden sich noch in der frühen Entwicklungsphase. Obwohl sie neue Funktionen bieten, wissen wir, dass es heute schwierig sein kann, sie direkt aufzurufen. Wir arbeiten aktiv daran, diese Tools in zukünftigen Updates einfacher nutzbar und wertvoller zu machen. Ihr Feedback im pylance-release-Repository ist willkommen, während wir die Benutzererfahrung weiter verbessern.

GitHub-Authentifizierung

Überarbeiteter GitHub-Anmeldevorgang

In dieser Iteration haben wir den GitHub-Anmeldevorgang überarbeitet, indem wir standardmäßig einen Loopback-URL-Flow anstelle eines Flows mit einem vscode://-Protokoll-URL verwenden. Diese Änderung dient der Verbesserung der Zuverlässigkeit des Anmeldevorgangs und der Sicherstellung, dass er auf allen Plattformen funktioniert, einschließlich derjenigen, die keine benutzerdefinierten URL-Schemata unterstützen.

Wenn Sie sich mit GitHub anmelden, werden Sie nun zu einem Loopback-URL weitergeleitet, der wie https://:PORT/ aussieht. Dies ermöglicht den erfolgreichen Abschluss des Anmeldevorgangs, ohne auf benutzerdefinierte URL-Schemata angewiesen zu sein. Sobald Sie auf dem Loopback-URL landen, werden Sie immer noch zu einem vscode://-URL weitergeleitet, um zu VS Code zurückzukehren. Dies muss jedoch nicht aufgelöst werden, damit der Anmeldevorgang erfolgreich abgeschlossen werden kann.

Mit anderen Worten, wir erhalten das Beste aus beiden Welten: einen zuverlässigen Anmeldevorgang, der auf allen Plattformen funktioniert, und eine Rückkehr zu VS Code, die das vscode://-URL-Schema verwendet.

Während wir dabei waren, haben wir auch dieser Landingpage einen frischen Anstrich verpasst. In zukünftigen Iterationen werden wir dieses neue Design auf andere Anmeldevorgänge anwenden.

Screenshot showing the redesigned authentication landing page.

Erweiterungsentwicklung

Dateien beim Verwenden des vscode.openFolder-Befehls öffnen können

Erweiterungen, die den vscode.openFolder-Befehl aufrufen, können jetzt filesToOpen?: UriComponents[] als Optionen übergeben, um Dateien auszuwählen, die im Workspace-Fenster geöffnet werden sollen, das sich öffnet.

Beispiel

vscode.commands.executeCommand('vscode.openFolder', <folder uri>, { filesToOpen: [ /* files to open */]});

Vorgeschlagene APIs

Technik

CSS-Minifizierung mit esbuild

VS Code verwendet bereits seit langer Zeit esbuild zum Bündeln und Minifizieren der JavaScript-Quellen. Jetzt verwenden wir esbuild auch zum Bündeln und Minifizieren unserer CSS-Dateien.

Strikte Layer-Prüfungen mit tsconfig.json

Wir verwenden nun mehrere tsconfig.json-Dateien, um sicherzustellen, dass unser Quellcode unseren Zielumgebungsregeln entspricht. Unsere CI-Pipeline führt npm run valid-layers-check aus und schlägt den Build fehl, wenn beispielsweise ein Typ zu einem browser-Layer hinzugefügt wurde, der nur in der node-Laufzeitumgebung existiert.

vscode-bisect für Sanity-Tests

Das Projekt vscode-bisect existiert schon lange und ermöglicht es, Regressionen in VS Code-Builds zu finden (was git bisect für git tut). Wir haben eine neue Option --sanity hinzugefügt, die es uns ermöglicht, schnell unseren Sanity-Check zu durchlaufen, der obligatorisch ist, bevor wir einen neuen Build freigeben.

Bemerkenswerte Fehlerbehebungen

Vielen Dank

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

Fehlerverfolgung

Beiträge zu unserer Fehlerverfolgung

Pull-Anfragen

Beiträge zu vscode

Beiträge zu vscode-copilot-chat

Beiträge zu vscode-json-languageservice

Beiträge zu vscode-pull-request-github

Beiträge zu vscode-ripgrep

Beiträge zu vscode-test

Beiträge zu language-server-protocol

Beiträge zu monaco-editor

Beiträge zu ripgrep-prebuilt

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