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

Oktober 2025 (Version 1.106)

Veröffentlichungsdatum: 12. November 2025

Update 1.106.1: Dieses Update behebt diese Probleme

Update 1.106.2: Dieses Update behebt diese Probleme

Update 1.106.3: Dieses Update behebt diese Probleme

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


Willkommen zur Oktober 2025-Version von Visual Studio Code.

Graphic showing the key highlights of the October 2025 release: Agent HQ, Security and trust, and great editor experience.

Diese Version bringt bedeutende Updates in drei Schlüsselbereichen

  • Agent HQ ist Ihre zentrale Ansicht, um Agentensitzungen zu starten, zu überwachen und zu überprüfen, egal ob lokal oder remote, von Copilot oder OpenAI Codex.
  • Sicherheit und Vertrauen helfen Ihnen, die Kontrolle zu behalten und mehr Aufgaben vertrauensvoll an KI zu delegieren.
  • Eine großartige Editor-Erfahrung, um Ihr tägliches Coden reibungsloser und angenehmer zu gestalten.

Sehen Sie sich unser VS Code 1.106 Release Highlights Video an, um von unseren Ingenieuren mehr über diese Funktionen zu erfahren!

Viel Spaß beim Programmieren!


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

Agenten

Agentensitzungsansicht

Einstellung: chat.agentSessionsViewLocation

Wenn Sie Aufgaben an verschiedene Coding-Agenten übergeben, ist es wichtig, eine klare Übersicht über alle Ihre aktiven Sitzungen zu haben. Die Agentensitzungsansicht bietet einen zentralen Ort für die Verwaltung Ihrer aktiven Chat-Sitzungen. Dazu gehören sowohl lokale Sitzungen in VS Code als auch Sitzungen, die von Hintergrundagenten in anderen Umgebungen erstellt wurden, wie z. B. der Copilot Coding Agent, die GitHub Copilot CLI oder OpenAI's Codex. Die Agentensitzungsansicht ist jetzt standardmäßig aktiviert und kann über die Einstellung chat.agentSessionsViewLocation verwaltet werden.

Standardmäßig listet die Agentensitzungsansicht alle Ihre aktiven Chat-Sitzungen, geordnet nach ihrer Quelle. Die Ansicht ist in Abschnitte für lokale Chat-Sitzungen in VS Code und für Hintergrundagentensitzungen unterteilt.

Screenshot of the Agent Sessions view in the Primary Side Bar, showing a view for local chat sessions, and coding agents like Copilot coding agent, Copilot CLI and Codex.

Wenn Sie eine konsolidierte Ansicht Ihrer Sitzungen über alle Anbieter hinweg bevorzugen, können Sie die Option single-view für die Einstellung chat.agentSessionsViewLocation aktivieren. Diese Option verschiebt die Agentensitzungsansicht auch neben die Chat-Ansicht in die sekundäre Seitenleiste, sodass Sie einfacher zwischen Chat und der Verwaltung Ihrer Sitzungen wechseln können.

Beachten Sie, dass noch nicht alle Funktionen in der konsolidierten Ansicht verfügbar sind. Wir arbeiten aktiv daran, diese Ansicht in naher Zukunft zur Standardansicht zu machen.

Die Agentensitzungsansicht unterstützt jetzt auch die Suche (⌥⌘F (Windows, Linux Ctrl+Alt+F)), um Ihnen zu helfen, Ihre Sitzungen in der Liste einfach zu finden.

Erfahren Sie mehr über die Agentensitzungsansicht in der VS Code-Dokumentation.

Agentenplaner

Ein neuer Plan-Agent hilft Entwicklern, komplexe Aufgaben Schritt für Schritt zu zerlegen, bevor überhaupt Code geschrieben wird. Wählen Sie **Plan** aus dem Agenten-Dropdown im Chat-Fenster, um loszulegen. Bei der Bewältigung einer mehrstufigen Implementierung stellt Ihnen VS Code klärende Fragen und generiert einen detaillierten Implementierungsplan, den Sie zuerst genehmigen, um sicherzustellen, dass alle Anforderungen und der Kontext von Anfang an erfasst werden.

Wir empfehlen, vor der Implementierung Zeit mit der Iteration am Plan zu verbringen. Sie können Anforderungen verfeinern, den Umfang anpassen und offene Fragen mehrmals klären, um eine solide Grundlage zu schaffen. Sobald Sie den Plan genehmigt haben, implementiert Copilot ihn entweder lokal in VS Code oder über Cloud-Agenten, was Ihnen mehr Kontrolle und Transparenz über den Entwicklungsprozess gibt. Dies hilft Ihnen, Lücken oder fehlende Entscheidungen frühzeitig zu erkennen, den Nacharbeitungsaufwand zu reduzieren und die Codequalität zu verbessern.

Sie können auch Ihren eigenen benutzerdefinierten Plan-Agenten erstellen, der auf den spezifischen Workflow und die Tools Ihres Teams zugeschnitten ist. Verwenden Sie das Menü Benutzerdefinierten Agenten konfigurieren, um den integrierten Plan-Agenten als Ausgangspunkt zu kopieren, und passen Sie dann den Planungsstil, die Tools und die Prompts an Ihren Entwicklungsprozess an. Erfahren Sie mehr über Planung im VS Code Chat und die Erstellung benutzerdefinierter Agenten.

Cloud-Agenten

In dieser Version haben wir einige Updates an Cloud-Agenten-Sitzungen im Editor vorgenommen.

Wir haben die Integration des Copilot Coding Agents von der GitHub Pull Request-Erweiterung in die Copilot Chat-Erweiterung migriert, um eine nativ auf Cloud-Agenten basierende Erfahrung in VS Code zu bieten. Diese Integration ebnet den Weg für reibungslosere Übergänge und Interaktionen zwischen VS Code und GitHub Mission Control, wie z. B. das Öffnen einer Cloud-Agenten-Sitzung direkt aus der Agentensitzungsansicht im Browser und umgekehrt.

CLI-Agenten

In dieser Version haben wir auch eine erste Integration mit der Copilot CLI ausgeliefert. Sie können neue CLI-Agenten-Sitzungen erstellen und bestehende fortsetzen, entweder in einem Chat-Editor oder einem integrierten Terminal.

Screenshot of the CLI dropdown menu showing options to create a new CLI agent session or resume an existing one.

In einem CLI-Agenten-Editor können Sie wie in einem Terminal Nachrichten an die Copilot CLI senden, Modelle wechseln und Kontext anhängen.

Screenshot showing a CLI agent editor and an integrated terminal with Copilot CLI sessions.

Agenten-Delegation

Wir verbessern weiterhin die Erfahrung bei der Delegation an Cloud-Agenten.

Wenn Sie den Cloud-Button verwenden, um vom Chat-Panel an einen Agenten zu delegieren, erhalten Sie eine Liste der verfügbaren Agenten, an die Sie delegieren können. Sie können auch vom CLI an den Copilot Coding Agent delegieren, über den Befehl /delegate in einem CLI-Editor oder einer Terminalinstanz.

Screenshot showing delegating from a CLI agent editor.

CLI-Agenten-Edit-Tracking

Chat-Edit-Sitzungen verfolgen jetzt Edits, die von Hintergrundagenten, wie der Copilot CLI, vorgenommen wurden. Wenn Sie Sitzungen aus der Agentensitzungsansicht erstellen, können Sie Edits über Inline-Edit-Pills und die Arbeitsbereichsansicht verfolgen, was es einfacher macht zu verstehen, welche Änderungen Agenten an Ihrem Arbeitsbereich vornehmen.

Chat-Modi in benutzerdefinierte Agenten umbenannt

Chat-Modi wurden in VS Code in benutzerdefinierte Agenten umbenannt, um die Terminologie besser mit der in anderen Umgebungen übereinstimmenden zu machen.

Screenshot of the agent picker control.

Wenn Sie benutzerdefinierte Agenten erstellen, befinden sich die Definitionsdateien jetzt in .github/agents in Ihrem Arbeitsbereich. Diese Dateien können die Suffix .agents.md verwenden und auch als GitHub Copilot Cloud Agents und CLI Agents verwendet werden.

Verwenden Sie Chat: Neuer benutzerdefinierter Agent..., um einen neuen Agenten zu erstellen, und Chat: Benutzerdefinierte Agenten konfigurieren..., um sie zu verwalten.

Wenn Sie vorhandene benutzerdefinierte Chat-Modi haben (.chatmode.md-Dateien in .github/chatmodes), funktionieren diese weiterhin und werden automatisch als benutzerdefinierte Agenten behandelt. Wenn Sie eine Chat-Agenten-Datei im Editor öffnen, wird in der ersten Zeile ein Info-Marker mit einer Schnellkorrektur angezeigt, um sie in eine benutzerdefinierte Agenten-Datei zu migrieren.

Metadaten für benutzerdefinierte Agenten

Benutzerdefinierte Agenten-.agent.md-Dateien akzeptieren jetzt eine zusätzliche target-Eigenschaft im Frontmatter, um zu beschreiben, wie ein Agent über Umgebungen hinweg ausgeführt werden soll.

  • target: vscode: optimiert den Agenten für den lokalen Chat und schaltet name, description, argument-hint, model, tools und handoffs-Eigenschaften frei. Jedes in VS Code installierte Tool kann verwendet werden.
  • target: github-copilot: bereitet den Agenten für Copilot Cloud Agents oder die GitHub CLI mit Unterstützung für name, description, tools, mcp-servers und target vor. Tools können edit, search, shell, custom-agent und Tools von MCP-Servern sein.

Alle Agenten können in allen Umgebungen ausgeführt werden. Jede Umgebung ignoriert unbekannte Attribute und Tools.

  • name: ermöglicht es Ihnen, die Agentenbeschriftung zu überschreiben, ohne die Datei umzubenennen.
  • argument-hint: zeigt Hinweise in der Chat-Eingabe an, damit Teamkollegen wissen, wie der Agent aufgefordert werden soll.
  • handoffs: verdrahtet geführte Übergänge zu anderen Agenten, sodass Sie mehrstufige Workflows verketten können.

Der Agenten-Datei-Editor bietet Validierung, Code-Vervollständigungen, Hover-Informationen und Code-Aktionen.

GIF of validation while editing custom agent files.

Erfahren Sie mehr über benutzerdefinierte Agenten und Agenten-Übergaben in unserer Dokumentation.

Code-Bearbeitung

Gelöschter Code im Diff-Editor ist jetzt auswählbar

Zuvor konnten Sie gelöschte Zeilen im Diff-Editor, wenn Sie Änderungen anzeigen ließen, nicht kopieren. In dieser Version können Sie Text aus gelöschten Zeilen im Diff-Editor auswählen und kopieren, wenn Sie die Inline-Diff-Ansicht verwenden.

Inline-Vorschläge sind Open Source

Diese Version setzt unsere Bemühungen fort, VS Code zu einem Open-Source-KI-Editor zu machen. Nach unserem ersten Meilenstein der Open-Source-Umstellung von GitHub Copilot Chat haben wir jetzt Inline-Vorschläge Open Source gemacht, indem wir sie in das Repository vscode-copilot-chat integriert haben.

Als Teil dieses Meilensteins konsolidieren wir die GitHub Copilot-Erweiterung und die GitHub Copilot Chat-Erweiterung zu einer einzigen Erweiterungserfahrung. Die Chat-Erweiterung liefert jetzt alle Inline-Vorschläge und bietet Ihnen dieselben intelligenten Code-Vorschläge, an die Sie gewöhnt sind, während sie gleichzeitig die gesamte Chat- und Agentenfunktionalität beibehält. Die Änderung sollte transparent sein; Sie erhalten weiterhin dieselben Code-Vorschläge, während Sie tippen. Wenn Sie auf Probleme stoßen, können Sie vorübergehend zur vorherigen Version zurückkehren, indem Sie die Einstellung chat.extensionUnification.enabled verwenden.

Die GitHub Copilot-Erweiterung wird bis Anfang 2026 eingestellt. Erfahren Sie mehr über diesen Meilenstein und erkunden Sie den Open-Source-Code in unserem Blogbeitrag.

Inline-Vorschläge aus der Spalte ausblenden

Sie können Inline-Vorschläge jetzt direkt vom Symbol in der Spalte aus ausblenden. Wenn Sie mit der Maus über das Symbol in der Spalte fahren, erscheint eine Steuerung mit der Option Ausblenden. Wählen Sie diese aus und wählen Sie eine Dauer, um Vorschläge anzuhalten.

Screenshot showing the Snooze button in the gutter context menu for inline suggestions.

Verbesserungen bei "Gehe zu Zeile"

In dieser Iteration haben wir mehrere Verbesserungen am Befehl Gehe zu Zeile (⌃G (Windows, Linux Ctrl+G)) vorgenommen, um die Navigation innerhalb von Dateien zu verbessern.

Der Befehl Gehe zu Zeile unterstützt jetzt die Navigation zu einer bestimmten Zeichenposition in einer Datei unter Verwendung der ::-Syntax. Dies ist nützlich, wenn Tools Fehler an bestimmten Zeichenpositionen melden, z. B. "Fehler an Position 599".

Um zu einem Zeichenoffset zu navigieren, geben Sie :: gefolgt von der Zeichennummer in das Eingabefeld Gehe zu Zeile ein. Zum Beispiel

  • ::599 - Navigieren zu Zeichen 599 in der Datei
  • ::-100 - Navigieren Sie 100 Zeichen vom Ende der Datei entfernt

Verwenden Sie den Umschalter im Eingabefeld, um zwischen 1-basierter (Standard) und 0-basierter Offset-Berechnung zu wechseln.

Darüber hinaus behandelt der Befehl Gehe zu Zeile Werte außerhalb des Bereichs besser und erleichtert die Navigation zum Anfang oder Ende von Dateien und Zeilen.

  • Zeilennummern: Die Eingabe einer Zeilennummer, die größer ist als die Zeilenanzahl der Datei, navigiert zur letzten Zeile.
  • Spaltennummern: Die Verwendung negativer Spaltennummern navigiert vom Ende einer Zeile. Zum Beispiel navigiert :12:-1 zur letzten Zeichen auf Zeile 12. Die Eingabe einer Spaltennummer, die größer ist als die Länge der Zeile, führt zum Ende der Zeile.

Editor-Erlebnis

Überarbeitete Iconografie

In dieser Version wurde das Codicon-Icon-Set überarbeitet. Die neuen Icons wurden mit Kurven, neuen Modifikatordesigns und präziseren Metaphern verfeinert, um sie modern, freundlich und besser lesbar zu machen.

Screenshot of updated product icons showing a more modern appearance and increased legibility.

Linux Policy-Unterstützung

Wir haben die Unterstützung für die Verwaltung von VS Code-Richtlinien auf Linux-Systemen mit JSON-Dateien eingeführt. Dies ermöglicht es Administratoren, bestimmte Einstellungen und Konfigurationen für alle Benutzer auf einem Linux-Computer zu erzwingen.

Weitere Details finden Sie unter JSON Policies on Linux.

Navigation in Änderungen im Multi-File-Diff-Editor

Ähnlich wie Sie im Diff-Editor für eine einzelne Datei zu nächsten oder vorherigen Änderungen navigieren können, können Sie dies jetzt auch dateiübergreifend im Multi-File-Diff-Editor tun. Verwenden Sie Tastenkombinationen oder die Pfeiltasten nach oben und unten, um Ihre Änderungen dateiübergreifend zu überprüfen.

Diagnose-Hover-Text kopieren

Ein Kopiervorgang-Button erscheint jetzt in Diagnose-Hover-Nachrichten (Fehler, Warnungen, Informationen und Hinweise), um das Kopieren von Fehlermeldungen zu erleichtern. Wenn Sie mit der Maus über einen Diagnosemarker fahren, bewegen Sie die Maus über die Hover-Nachricht, um einen Kopiervorgang-Button in der oberen rechten Ecke anzuzeigen.

Screenshot of hovering over a diagnostic hover revealing a copy button in the top-right corner.

Akzentunabhängige Befehlsfilterung

Die Befehlspalette ignoriert jetzt Akzentzeichen bei der Suche nach Befehlen, wodurch es einfacher wird, das Gesuchte unabhängig von Ihrer Tastaturbelegung oder Sprachpräferenz zu finden. Wenn Sie beispielsweise nach einem Befehl suchen, der das Wort Générer (Französisch für Generate) enthält, geben Sie generer ohne Akzente ein, und passende Befehle erscheinen in den Ergebnissen.

Dies ist hilfreich bei der Verwendung unterschiedlicher Tastaturlayouts oder bei Tippfehlern bei der Suche nach einem Befehl. Die Filterung basiert auf Unicode Normalization Form D und unterstützt alle Unicode-Sprachen.

Erweiterte VS Code-Einstellungen

VS Code unterstützt jetzt das Konzept erweiterter Einstellungen. Diese Einstellungen sind für die Konfiguration von Sonderszenarien vorgesehen und richten sich an fortgeschrittene Benutzer, die eine detaillierte Kontrolle über ihre Umgebung benötigen. Standardmäßig sind erweiterte Einstellungen im Einstellungen-Editor ausgeblendet, um die Benutzeroberfläche übersichtlich zu halten und diese leistungsstarken Optionen bei Bedarf verfügbar zu machen.

Um erweiterte Einstellungen anzuzeigen und zu konfigurieren, wählen Sie Erweitert aus dem Filter-Dropdown-Menü im Einstellungen-Editor oder geben Sie @tag:advanced in das Suchfeld ein.

Screenshot showing the Settings editor with the Advanced filter applied, displaying advanced settings with the Advanced tag badge

Wenn Sie nach einer bestimmten Einstellung nach ihrem genauen Namen suchen oder den @id:-Filter verwenden, werden erweiterte Einstellungen in den Ergebnissen angezeigt, ohne dass der Filter Erweitert angewendet werden muss. Dies stellt sicher, dass Sie die gesuchten Einstellungen immer finden können.

Erweiterte Einstellungen können mit anderen Filtern wie @modified oder @feature: kombiniert werden, um Ihnen zu helfen, genau das zu finden, was Sie brauchen. Zum Beispiel zeigt @tag:advanced @feature:terminal nur erweiterte Einstellungen im Zusammenhang mit dem Terminal an.

Hinweis: Erweiterungsautoren können ihre Einstellungen als erweitert markieren, indem sie den Tag advanced zur Einstellung hinzuweisen.

Chat

Embeddings-basierte Toolauswahl

In dieser Version haben wir erheblich verbessert, wie wir Tools für Benutzer filtern und gruppieren, die viele (über 100) aktivierte Tools im Chat haben. Sie sollten den Ladezustand "Toolauswahl wird optimiert..." seltener und kürzer sehen. Wir haben auch die Toolauswahl mit einer geringeren Wahrscheinlichkeit von Agentenverwirrung verbessert, um sicherzustellen, dass die richtigen Tools ausgewählt werden.

Tool-Genehmigungen und Vertrauen

Post-Genehmigung für externe Daten

Agent-Tools, die externe Daten abrufen, unterstützen jetzt die Post-Genehmigung. Dies schützt vor potenziellen Prompt-Injection-Angriffen, indem Sie die Daten überprüfen können, bevor sie in Ihrer Chat-Sitzung verwendet werden.

Die Post-Genehmigung ist für das #fetch-Tool und für Model Context Protocol (MCP)-Tools aktiviert, die openWorldHint deklarieren.

Alle Tools für einen Server oder eine Erweiterung vertrauen

Sie können MCP-Servern und Erweiterungs-Tools jetzt auf Quellcode-Ebene vertrauen, indem Sie die Schaltfläche Zulassen mit dem Dropdown-Menü verwenden. Das bedeutet, dass Sie alle Tools von einem bestimmten MCP-Server oder einer Erweiterung auf einmal genehmigen können, anstatt jedes Tool einzeln genehmigen zu müssen.

Wir haben auch die Erfahrung des Befehls Chat: Werkzeuggenehmigung verwalten aktualisiert, um Ihnen die Verwaltung von Vorab- und Nachgenehmigungen von Werkzeugen zu ermöglichen.

Screenshot of the Manage Tool Approval command experience, enabling tools to skip approval and skipping content review.

Status der automatischen Tool-Genehmigung verschoben

Der Status der automatischen Genehmigung wurde von Inline innerhalb der Chat-Ansicht zum Status-/Häkchen-Symbol des Tool-Aufrufs verschoben.

Screenshot of hovering a tool's tick icon will reveal why it was auto approved

Terminal-Tool

Verbesserungen bei der automatischen Genehmigung von Parsern

Zuvor nutzte die Unterbefehlserkennung im Terminal-Tool den naiven Ansatz, indem sie einfach auf bestimmte Zeichenfolgen wie | oder && teilte. Dies schlug in mehrfacher Hinsicht fehl, aber die größeren Probleme waren, wenn eine Pipe innerhalb von Zeichenfolgen wie echo "a|b|c" verwendet wurde, was die Unterbefehle echo, b und c" erkannte. Ein weiterer wichtiger Punkt ist, dass wir, da wir Unterbefehle nicht zuverlässig extrahieren konnten, Klammerpaare, geschweifte Klammerpaare und Backticks gänzlich verboten haben, um auf der sicheren Seite zu sein und eine versehentliche Ausführung zu verhindern.

In dieser Version haben wir einen Parser in die Funktion integriert und verwenden eine PowerShell-Grammatik oder eine Bash-Grammatik für alles andere*. Daher sollten auch sehr komplexe Fälle korrekt extrahiert werden.

Screenshot of detecting "$()" inside echo calls.

* Beachten Sie, dass dies bedeutet, dass Unterbefehle möglicherweise nicht erfasst werden, wenn die Shell-Syntax von Bash abweicht, z. B. ; in zsh

Erkennung von Datei-Schreib-/Umleitungsoperationen (Experimentell)

Dank des neuen Parsers können wir Dateien, in die über Umleitung geschrieben wird, recht zuverlässig extrahieren. Es gibt die neue experimentelle Einstellung chat.tools.terminal.blockDetectedFileWrites, die die automatische Genehmigung bedingt verhindert.

Screenshot showing that writing outside the workspace by default will block auto approval.

Standardregeln für automatische Genehmigungen deaktivieren (Experimentell)

Die neue experimentelle Einstellung chat.tools.terminal.ignoreDefaultAutoApproveRules erlaubt das Deaktivieren der Standardregeln (sowohl Zulassungs- als auch Ablehnungsregeln). Dies ist nützlich, wenn Sie mehr Kontrolle wünschen, ohne die Standards nachschlagen zu müssen.

Shell-spezifische Prompts und Befehlsüberschreibung

Das Terminal-Tool verfügt jetzt über Shell-spezifische Beschreibungen für PowerShell, Bash, Zsh und Fish. Dies sollte die vom Agenten vorgeschlagenen Befehle zuverlässiger machen und die Wahrscheinlichkeit von Fehlern verringern, insbesondere bei PowerShell.

Zusätzlich dazu überschreiben wir für PowerShell && vorübergehend mit ;, da der Verkettungsoperator && in Windows PowerShell (v5) nicht unterstützt wird. Beachten Sie, dass dies vorübergehend auch für PowerShell 7 gilt, bis vscode#274548 bearbeitet ist.

Terminalbefehle an den Chat anhängen

Sie können jetzt einen Terminalbefehl als Kontext an den Chat anhängen, indem Sie das Kontextmenü der Befehlsdekoration verwenden. Die Anhängung teilt die Befehlszeile, die erfasste Ausgabe und den Exit-Code, sodass der Agent genau versteht, was passiert ist. Dies gilt für jeden von der Shell-Integration verfolgten Befehl, wodurch die Problembehebung ohne Kopieren und Einfügen von Text erleichtert wird.

Terminalausgabe innerhalb des Chats anzeigen (Experimentell)

Die neue Einstellung chat.tools.terminal.outputLocation steuert, wo die Ausgabe angezeigt wird. Der Standardwert none verhindert, dass die Terminals das Panel überladen.

Jeder Chat-Terminal-Aufruf zeigt jetzt zwei Aktionen auf dem Fortschrittselement an.

  • Terminal anzeigen enthüllt und fokussiert verborgene Sitzungen, und mit Rich Shell Integration scrollt es direkt zum relevanten Befehl. Mit grundlegender oder keiner Shell-Integration fokussiert die Aktion immer noch den richtigen Terminal-Tab.
  • Ausgabe anzeigen öffnet die endgültige Ausgabe des Terminals inline in der Chat-Ansicht. Die Ausgabeansicht wird automatisch erweitert, wenn ein Befehl mit einem Nicht-Null-Code beendet wird.

Wenn npm i fehlschlägt, wird die Ausgabe automatisch erweitert. Das Terminal wird mit der Inline-Aktion Terminal anzeigen angezeigt.

Versteckte Chat-Terminals entdecken (Experimentell)

Wenn setting(chat.tools.terminal.outputLocation):none, erscheint in der Ansicht der Terminal-Tabs eine neue Schaltfläche X versteckte(s) Terminal(e), wenn mindestens ein verstecktes Chat-Terminal vorhanden ist. Sie öffnet eine Schnellwahl, die jedes Chat-Terminal neben seiner Chat-Sitzung auflistet, sodass Sie sofort den richtigen Prozess fokussieren können. Derselbe Auswähler ist über das Terminal-Überlaufmenü unter Versteckte Chat-Terminals anzeigen verfügbar und verschwindet, sobald alle Chat-Terminals wieder sichtbar sind.

Der Agent führt ls -la aus, was erfolgreich ist, sodass die Ausgabe minimiert wird. Die Aktion Verstecktes Terminal wird aus der Tab-Ansicht gewählt und das Terminal wird ausgewählt, angezeigt und zum Hervorheben des Befehls gescrollt.

Konversation als Prompt speichern

Sie können Ihre Chat-Konversationen jetzt mit dem Befehl /savePrompt als wiederverwendbare Prompts speichern. Wenn Sie /savePrompt in einer aktiven Chat-Sitzung aufrufen, generiert VS Code eine Prompt-Datei, die einen verallgemeinerten Prompt basierend auf Ihrer Konversation enthält. Der Editor zeigt eine blaue Schaltfläche an, mit der Sie diesen Prompt an einem gültigen Ort speichern können, entweder auf Benutzer- oder Arbeitsbereichsebene.

Screenshot of the Save prompt button in the editor.

Diese Funktion ersetzt den vorherigen Befehl /save und bietet einen optimierteren Workflow zum Erfassen und Teilen nützlicher Konversationsmuster. Die generierten Prompts können leicht in zukünftigen Chat-Sitzungen wiederverwendet oder mit Ihrem Team geteilt werden. Erfahren Sie mehr über benutzerdefinierte Prompt-Dateien.

Willkommens-Prompts bearbeiten

Sie können jetzt mit der rechten Maustaste auf vorgeschlagene Prompts in der Chat-Willkommensansicht klicken, um auf zusätzliche Aktionen zuzugreifen. Wenn Sie mit der rechten Maustaste auf einen Prompt klicken (oder Shift+F10 drücken), erscheint ein Kontextmenü mit der Option Prompt-Datei bearbeiten, um die entsprechende Prompt-Datei direkt im Editor zu öffnen.

Das Bearbeiten einer Prompt-Datei funktioniert für Prompts, die eine zugehörige Datei haben, einschließlich benutzerdefinierter Prompts und projektspezifischer Prompts, die über die Einstellung chat.promptFilesRecommendations konfiguriert sind.

Screenshot of a context menu for a suggested prompt.

Erfahren Sie mehr über benutzerdefinierte Prompt-Dateien.

Bearbeitete Dateien automatisch öffnen

Einstellung: chat.openEditedFilesAutomatically

Wir haben das Standardverhalten des Agenten geändert, sodass bearbeitete Dateien nicht mehr automatisch in einem Editor geöffnet werden. Wenn Sie das vorherige Verhalten bevorzugen, können Sie die Einstellung accessibility.openChatEditedFiles aktivieren.

Begründung (Experimentell)

Einstellungen: chat.agent.thinkingStyle, chat.agent.thinking.collapsedTools

In der letzten Iteration haben wir die Einstellung chat.agent.thinkingStyle hinzugefügt, die die Anzeige von Denk-Tokens im Chat ermöglicht. Dies ist jetzt für mehr Modelle verfügbar! Ab dieser Version unterstützen GPT-5-Codex, GPT-5, GPT-5 mini und Gemini 2.5 Pro dies.

Die Einstellung chat.agent.thinkingStyle wurde auf drei gängigere Stile angepasst, wobei fixedScrolling der Standard ist, um die aktuellste Gedankenkette anzuzeigen.

Eine zusätzliche Einstellung, chat.agent.thinking.collapsedTools, fügt Tool-Aufrufe in die zusammenklappbare Denk-UI ein.

Screenshot showing reasoning tokens displayed in chat with interleaved tool calls and reasoning output. This is the UI with  and  for the respective thinking settings.

Inline Chat v2 (Vorschau)

Einstellung: inlineChat.enableV2

Wir haben unsere Anstrengungen zur Modernisierung des Inline-Chats intensiviert. Er ist dafür ausgelegt

  • einzelner Prompt,
  • eine einzelne Datei,
  • und nur für Code-Änderungen

Dies macht die Gesamterfahrung deutlich leichter und ermöglicht eine vereinfachte Benutzeroberfläche. Für Aufgaben, die er nicht bewältigen kann, werden Sie automatisch zur Chat-Ansicht weitergeleitet.

Verbesserungen der Chat-Ansicht UX

Wir haben einige Teile der Chat-Ansicht überarbeitet, um die Benutzung angenehmer zu gestalten.

  • Die Aktion zum Erstellen eines neuen Chats ist jetzt ein Dropdown-Menü mit Optionen, einen Chat in einem Editor oder in einem neuen Fenster zu erstellen.
  • Die Aktionen für Tools und MCP-Server wurden direkt neben die Modellauswahl verschoben.
  • Das Konfigurations-Dropdown-Menü wurde aufgeräumt.

Screenshot of the action to create a new chat dropdown menu.

Es ist jetzt auch möglich, mathematische Quellen durch Rechtsklick auf mathematische Ausdrücke in der Chat-Ansicht zu kopieren.

MCP

MCP-Server-Zugriff für Ihre Organisation

Einstellungen: chat.mcp.gallery.serviceUrl, chat.mcp.access

VS Code unterstützt jetzt die MCP-Registrierung, die über GitHub-Organisationsrichtlinien konfiguriert wird. Dies ermöglicht es Organisationen, eine benutzerdefinierte MCP-Registrierung einzurichten und zu steuern, welche MCP-Server installiert und gestartet werden können.

Wenn ein MCP-Registrierungs-Endpunkt in den Richtlinien Ihrer Organisation konfiguriert ist, wird VS Code

  • Das Browsen und Installieren von MCP-Servern aus der konfigurierten Registrierung ermöglichen
  • Das Starten von MCP-Servern auf nur die in der Registrierung verfügbaren beschränken, wenn die Zugriffsbeschränkung aktiviert ist.

Wenn Ihre Organisation diese Richtlinien konfiguriert hat, gibt die Einstellung chat.mcp.gallery.serviceUrl die URL des MCP-Registrierungs-Endpunkts an, und die Einstellung chat.mcp.access steuert, ob der Zugriff auf nur die Server in dieser Registrierung beschränkt ist. Diese Einstellungen werden im Einstellungen-Editor als "(Von der Organisation verwaltet)" gekennzeichnet.

Screenshot showing MCP settings managed by organization policy, including the Gallery Service URL and Access control settings

Um mehr über die Konfiguration des MCP-Server-Zugriffs für Ihre Organisation oder Ihr Unternehmen zu erfahren, siehe MCP-Server-Zugriff konfigurieren.

MCP-Server zur Arbeitsbereichskonfiguration installieren

Beim Installieren eines MCP-Servers können Sie nun wählen, ob Sie ihn global oder in der Arbeitsbereichskonfiguration installieren möchten. Klicken Sie mit der rechten Maustaste auf einen MCP-Server in der Erweiterungsansicht und wählen Sie im Kontextmenü Installieren (Arbeitsbereich), oder verwenden Sie die Aktion Installieren (Arbeitsbereich) direkt im MCP-Server-Editor. Dies fügt den MCP-Server der Datei .vscode/mcp.json in Ihrem aktuellen Arbeitsbereich hinzu, was die gemeinsame Nutzung von MCP-Servern mit Ihrem Team erleichtert.

Screenshot showing the context menu for an MCP server with the Install (Workspace) option highlighted

Authentifizierung: Client ID Metadata Document Authentifizierungsfluss

Die Authentifizierungsunterstützung für Remote-MCPs unterstützt jetzt den Client ID Metadata Document (CIMD) Authentifizierungsfluss, der der zukünftige Standard für OAuth in MCP ist. Dieser Fluss ermöglicht eine sicherere und skalierbarere Lösung für die Authentifizierung über Dynamic Client Registration (DCR), da Autorisierungsserver sich nicht mehr darum kümmern müssen, Client-IDs pro Client auszustellen.

Beim Verbinden mit einem MCP-Server, der einen Autorisierungsserver verwendet, der CIMD unterstützt, wird VS Code automatisch diesen Fluss über DCR nutzen.

Weitere Informationen zu CIMD finden Sie in den Ressourcen auf oauth.net.

Authentifizierung: WWW-Authenticate Scope Step-up

Die Authentifizierungsunterstützung für Remote-MCPs unterstützt jetzt die dynamische Eskalation von Scopes über den WWW-Authenticate-Header für Remote-MCP-Server. Dies wird in der OAuth 2.0-Spezifikation hervorgehoben. Dies ermöglicht es MCP-Servern, bei Bedarf zusätzliche Berechtigungen anzufordern, anstatt alle Scopes im Voraus zu verlangen. Zum Beispiel könnte die Verbindung zu einem Server eine minimale Anzahl von Scopes erfordern, aber spezifische Tool-Aufrufe können breitere Berechtigungen anfordern, nur wenn sie benötigt werden. Dies bietet bessere Sicherheit, indem das Prinzip der geringsten Privilegien befolgt wird.

Dies wird derzeit in der neuesten Version der MCP-Spezifikation hervorgehoben, die voraussichtlich bald abgeschlossen sein wird.

Barrierefreiheit

Sprach-Timeout ist standardmäßig deaktiviert

Die Konfiguration accessibility.voice.speechTimeout wurde standardmäßig auf 0 geändert. Das bedeutet, dass eine Sprachsitzung nicht mehr nach einer bestimmten Verzögerung automatisch endet (z. B. würde eine Chat-Anfrage nicht automatisch ausgelöst, wenn Sie pausieren). Wir denken, dass dies eine bessere Standarderfahrung ist, aber Sie können jederzeit zur vorherigen Standardeinstellung (2500) zurückkehren.

Verbesserungen bei der Chat-Eingabe

Die Chat-Eingabe gibt den aktiven Agenten und das aktive Modell in einer klareren Reihenfolge an, sodass Benutzer von Screenreadern zuerst die relevantesten Kontextinformationen hören. Die Chat-Hilfe zur Barrierefreiheit weist auch darauf hin, dass Sie die Entf-Taste drücken können, um angehängte Kontextartikel zu entfernen, wodurch die Verwaltung von Anhängen vollständig über die Tastatur zugänglich wird.

Notebooks

Notebooks unterstützen jetzt die Suche über Zellen hinweg. Verwenden Sie Tastenkombinationen (⌘G (Windows, Linux F3) und ⇧⌘G (Windows, Linux Shift+F3)), um zum nächsten und vorherigen Treffer zu navigieren, genau wie im Editor.

Quellcodeverwaltung

Faltunterstützung in Git-Commit-Nachrichten

Einstellungen: git.verboseCommit, git.useEditorAsCommitInput

Beim Schreiben von Git-Commit-Nachrichten im Editor können Sie jetzt Abschnitte der Commit-Nachricht einklappen, um die Übersicht zu wahren. Um diese Funktion zu nutzen, aktivieren Sie die Einstellungen git.verboseCommit und git.useEditorAsCommitInput.

Screenshot showing folding nodes in the gutter and a partially collapsed commit message in the editor.

Eingehende/ausgehende Änderungen grafisch darstellen

Einstellungen: scm.graph.showIncomingChanges, scm.graph.showOutgoingChanges

In diesem Meilenstein fügen wir die Möglichkeit hinzu, eingehende und ausgehende Änderungen einfach in der Quellcodeverwaltungs-Graphansicht anzuzeigen. Für aktive Branches, die eingehende oder ausgehende Änderungen aufweisen, zeigt der Graph einen Knoten für "Eingehende Änderungen" und "Ausgehende Änderungen" an. Das Auswählen jedes Knotens zeigt die Liste der eingehenden oder ausgehenden Dateien an.

Screenshot showing incoming and outgoing changes nodes in the Source Control Graph view.

Sie können diese Informationen aus der Graphansicht ausblenden, indem Sie die Einstellungen scm.graph.showIncomingChanges und scm.graph.showOutgoingChanges verwenden.

Referenzen im Graph vergleichen

Wir haben dem Kontextmenü des Quellcodeverwaltungs-Graphen einen neuen Befehl hinzugefügt: Vergleichen mit..., mit dem Sie ein Verlaufselement im Graphen mit einem beliebigen Branch oder Tag vergleichen können. Diese Funktion ermöglicht es Ihnen, Änderungen anzuzeigen, die sich im Verlaufselement befinden, aber nicht im Branch oder Tag.

Im Kontextmenü gibt es Befehlskürzel: Mit Remote vergleichen und Mit Merge-Basis vergleichen, um ein Verlaufselement mit dem Remote-Branch bzw. der Merge-Basis zu vergleichen.

Auswahlmodus für Repositories

Einstellung: scm.repositories.selectionMode

Die Ansicht "Quellcodeverwaltungs-Repositories" zeigt die Liste der geöffneten Repositories im Arbeitsbereich an und wird verwendet, um die in der Ansicht "Quellcodeverwaltungs-Änderungen" angezeigten Repositories zu steuern.

Wir planen, die Funktionalität der Repositories-Ansicht zu erweitern, und führen zur Vorbereitung darauf eine Einstellung ein: scm.repositories.selectionMode, um den Auswahlmodus in der Repositories-Ansicht auf ein einzelnes oder mehrere Repositories zu steuern.

Neben der neuen Funktionalität in der Repositories-Ansicht ermöglicht dies auch die Entfernung des Repository-Auswahlfelds in der Titelleiste der Graphansicht und die Verwendung eines globalen Repository-Auswahlfelds über alle Quellcodeverwaltungs-Ansichten hinweg. Sie können den Auswahlmodus über die Einstellung oder über das "..."-Menü der Repositories-Ansicht umschalten.

Screenshot showing the Repositories view with single selection mode enabled and the context menu to toggle selection mode.

Neues Repository-Menü

Benutzer können die Menü-ID scm/repository verwenden, um Befehle zu den Inline-Zeilen des Quellcodeverwaltungs-Providers in der neuen Ansicht "Quellcodeverwaltungs-Repositories" beizutragen. Befehle, die zur Gruppe "inline" beigetragen werden, erscheinen inline, während alle anderen Befehle im Menü ... erscheinen.

Repositories-Explorer (experimentell)

Einstellungen: scm.repositories.explorer, scm.repositories.selectionMode

Wir arbeiten daran, die Repositories-Ansicht zu verbessern und zusätzliche Informationen für jedes Repository anzuzeigen. Um diese experimentelle Funktion auszuprobieren, setzen Sie scm.repositories.selectionMode und scm.repositories.explorer.

In dieser ersten Iteration haben wir uns auf Branches und Tags konzentriert. Sie können neue Branches und Tags erstellen, die Liste der Branches und Tags anzeigen und verschiedene Aktionen für jeden Branch/Tag ausführen (z. B. auschecken usw.). Im nächsten Meilenstein werden wir weitere Informationen hinzufügen (z. B. Stashes, Remotes usw.). Probieren Sie diese experimentelle Funktion aus und lassen Sie uns wissen, was Sie davon halten.

Screenshot showing the Repositories explorer with branches and tags for a single selected repository.

Testen

Ungedeckte Zeilen in der Testabdeckung navigieren

Beim Überprüfen der Testabdeckung können Sie jetzt einfach zwischen ungedeckten Zeilen navigieren, indem Sie neue Navigationsbefehle verwenden. Zwei Befehle sind in der Symbolleiste des Editors verfügbar, wenn Sie Abdeckungsinformationen anzeigen.

  • Nächste ungedeckte Zeile - Springt zur nächsten Zeile, die nicht von Tests abgedeckt ist
  • Vorherige ungedeckte Zeile - Springt zur vorherigen Zeile, die nicht von Tests abgedeckt ist

Diese Befehle helfen Ihnen, Abdeckungslücken schnell zu identifizieren und sich auf Bereiche zu konzentrieren, die zusätzliche Testabdeckung benötigen, was die Verbesserung der Gesamtqualität Ihrer Codebasis erleichtert.

Terminal

Terminal IntelliSense

Terminal IntelliSense ist seit etwa 1,5 Jahren als experimentelle/Vorschaufunktion im Produkt enthalten! In dieser Version entfernen wir das Vorschau-Tag und werden eine gestaffelte Einführung als Standard für alle Benutzer in der stabilen Version vornehmen.

Wenn aktiviert, wird beim Tippen im Terminal IntelliSense ähnlich wie im Editor für PowerShell, Bash, Zsh und Fish angezeigt.

Screenshot of typing "write" in PowerShell will bring up completions starting with the word write.

Die Vervollständigungen haben verschiedene Quellen. Pfade beispielsweise werden alle von der Kernkomponente behandelt.

Einige Befehle bieten erweiterte Spezifikationen, wie z. B. Git, das Branch-Namen einlesen kann.

Wenn wir bei der Entwicklung dieser Funktion etwas gelernt haben, dann, dass es keine Einheitslösung gibt. Daher gibt es viele Optionen, um das Verhalten anzupassen, um das zu erreichen, was Sie möchten.

Wenn Sie die Funktion noch nicht sehen, stellen Sie sicher, dass die Shell-Integration aktiviert ist, und aktivieren Sie IntelliSense explizit in den Einstellungen über terminal.integrated.suggest.enabled.

Abgesehen von der allgemeinen Überarbeitung kommen in dieser Version folgende Funktionen hinzu:

  • Die CLIs copilot und azd verfügen jetzt über Vervollständigungen.
  • Die Erweiterungs-API steht kurz vor der Finalisierung.
  • Git-Commit-Vervollständigungen zeigen die Commit-Nachricht an.

Screenshot of git commit completions showing branch names and their associated commit messages in the terminal suggest details view.

Konsolidierte Einstellung für das Timeout der Shell-Integration

Wir haben jetzt eine einheitliche konfigurierbare Einstellung, terminal.integrated.shellIntegration.timeout, die steuert, wie lange VS Code auf die Bereitschaft der Shell-Integration wartet, bevor Befehle im Terminal ausgeführt werden, einschließlich derjenigen, die über die executeCommand-API und von Copilot-Terminal-Tools ausgelöst werden.

chat.tools.terminal.shellIntegrationTimeout wurde zugunsten dieser Konsolidierung veraltet.

Authentifizierung

Verbesserte Auffindbarkeit der Einstellungen für die Kontoverwaltung von Erweiterungen

Der Befehl Einstellungen für Erweiterungskonten verwalten ist jetzt besser auffindbar. Zusätzlich zur Verfügbarkeit in der Befehlspalette und in den Kontextmenüs von Erweiterungen wird er jetzt im Menü "Konto" neben Zugriff auf Sprachmodelle verwalten angezeigt. Dies erleichtert das Auffinden und Konfigurieren, auf welche Konten Erweiterungen zugreifen dürfen.

Screenshot of Manage Extension Account Preferences in the Account menu.

Letzte Version von classic Microsoft-Authentifizierung - verwenden Sie msal-no-broker, wenn Sie Probleme haben

Wir werden die Option classic für microsoft-authentication.implementation entfernen. Das bedeutet, dass VS Code Version 1.106 die letzte Version ist, die die Option classic enthält.

Die Einstellung microsoft-authentication.implementation war bisher vorhanden, um Benutzern die Möglichkeit zu geben, die native Broker-Authentifizierung für Microsoft-Konten zu deaktivieren, falls sie Probleme hatten. Die Werte für diese Einstellung sind:

  • msal - MSAL mit Broker-Authentifizierung verwenden, wenn verfügbar (Standard)
  • msal-no-broker - MSAL ohne Broker-Authentifizierung verwenden (kürzlich eingeführt)
  • classic - Den klassischen Microsoft-Authentifizierungsablauf ohne MSAL verwenden

Wir werden die Option classic entfernen, da ihre Nutzung sehr gering ist und die meisten Probleme mit der Option msal auf die Broker-Funktion zurückzuführen sind, die mit msal-no-broker behoben wird.

Gerätecodefluss für Microsoft-Authentifizierung

Die Microsoft-Authentifizierung unterstützt jetzt den Gerätecodefluss in nicht-broker-basierten Szenarien, was besonders für Remote-Entwicklungsumgebungen nützlich ist. Wenn andere Authentifizierungsmethoden fehlschlagen, greift VS Code automatisch auf den Gerätecodefluss zurück, der einen Code anzeigt, den Sie auf einem anderen Gerät eingeben können, um die Authentifizierung abzuschließen.

Befehl "Konten verwalten"

Verwalten Sie Ihre Authentifizierungskonten direkt über die Befehlspalette mit dem Befehl Konten: Konten verwalten. Dieser Befehl bietet Zugriff auf die Kontoverwaltungsfunktionen, wenn das Menü "Konto" ausgeblendet oder nicht leicht zugänglich ist.

Screenshot of the Manage Accounts menu.

Wenn Sie den Befehl Konten verwalten ausführen, sehen Sie ein Schnellmenü, das alle Ihre aktiven Konten auflistet. Sie können ein Konto auswählen, um verfügbare Aktionen anzuzeigen, darunter:

  • Vertrauenswürdige Erweiterungen verwalten - Steuern Sie, welche Erweiterungen auf das ausgewählte Konto zugreifen dürfen
  • Vertrauenswürdige MCP-Server verwalten - Verwalten Sie die Zugriffsberechtigungen für Konten, die diese Funktion unterstützen
  • Abmelden - Melden Sie sich vom Konto ab

Sprachen

Python

Python-Umgebungserweiterung: Unterstützung für die Einstellung python.poetryPath

Die Python-Umgebungserweiterung berücksichtigt jetzt die vorhandene Benutzereinstellung python.poetryPath. Dies ermöglicht es Ihnen, die zu verwendende Poetry-Ausführungsdatei anzugeben. Der angegebene Pfad wird bei der Verwaltung von Poetry-Umgebungen durchsucht und ausgewählt.

Python-Umgebungserweiterung: Verbesserte Erstellung von venv: Erkennung von dev-requirements.txt

Beim Erstellen einer neuen virtuellen Umgebung erkennt die Erweiterung jetzt sowohl requirements.txt- als auch dev-requirements.txt-Dateien und installiert die Abhängigkeiten automatisch.

Copilot-Hover-Zusammenfassungen als Docstring hinzufügen

Sie können Ihre KI-generierte Dokumentation jetzt direkt in Ihren Code als Docstring einfügen, indem Sie den neuen Befehl Als Docstring hinzufügen in Copilot-Hover-Zusammenfassungen verwenden. Wenn Sie eine Zusammenfassung für eine Funktion oder Klasse generieren, navigieren Sie zur Symboldefinition und bewegen Sie den Mauszeiger darüber, um auf den Befehl Als Docstring hinzufügen zuzugreifen, der die Zusammenfassung unter Ihrem Cursor formatiert als ordnungsgemäßen Docstring einfügt.

Dies rationalisiert den Prozess der Dokumentation Ihres Codes und ermöglicht es Ihnen, die Lesbarkeit und Wartbarkeit schnell zu verbessern, ohne neu tippen zu müssen.

Lokalisierte Copilot-Hover-Zusammenfassungen

GitHub Copilot-Hover-Zusammenfassungen in Pylance respektieren jetzt Ihre Anzeigesprache in VS Code. Wenn Sie eine KI-generierte Zusammenfassung aufrufen, erhalten Sie Zeichenfolgen in der Sprache, die Sie für Ihren Editor eingestellt haben, was das Verständnis der generierten Dokumentation erleichtert.

Screenshot of a Copilot Hover Summary generated in Portuguese.

Code-Aktion zum Konvertieren von Wildcard-Imports

Wildcard-Imports (from module import *) werden in Python oft abgeraten, da sie Ihren Namensraum überladen und unklar machen können, woher Namen stammen, was die Klarheit und Wartbarkeit des Codes verringert. Pylance hilft Ihnen nun, Module zu bereinigen, die immer noch from module import * verwenden, durch eine neue Code-Aktion. Sie ersetzt das Wildcard durch die expliziten Symbole, behält Aliase bei und belässt den Import in einer einzigen Anweisung. Um dies auszuprobieren, können Sie auf die Zeile mit dem Wildcard-Import klicken und Strg+. (oder Cmd+. unter macOS) drücken, um die Code-Aktion In explizite Imports konvertieren auszuwählen.

Screenshot of the Convert wildcard imports Code Action.

dotenv

Es gibt integrierte grundlegende Unterstützung für dotenv-Dateien (.env), die üblicherweise zur Definition von Umgebungsvariablen für Anwendungen verwendet werden.

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

  • KI-generierte PR-Beschreibungen (über githubPullRequests.pullRequestDescription) respektieren die PR-Vorlage des Repositories, falls eine vorhanden ist.
  • Entwürfe in der Pull Requests-Ansicht werden jetzt kursiv anstatt mit dem Präfix [DRAFT] dargestellt.
  • Pull-Anfragen können von einer URL aus geöffnet werden, z. B.: vscode-insiders://github.vscode-pull-request-github/checkout-pull-request?uri=https://github.com/microsoft/vscode-css-languageservice/pull/460

Sehen Sie sich das Changelog für Version 0.122.0 der Erweiterung an, um alles über die Version zu erfahren.

Vorschau-Features

Sprachmodelle-Editor

Ein neuer Sprachmodelle-Editor bietet einen zentralen Ort, um alle verfügbaren Sprachmodelle für GitHub Copilot Chat anzuzeigen und zu verwalten. Sie können ihn über das Chat-Modell-Auswahlmenü oder über den Befehl Chat: Sprachmodelle verwalten öffnen.

Hinweis: Diese Funktion ist nur in VS Code Insiders verfügbar.

Screenshot showing the Language Models editor with a list of models organized by provider.

Der Editor zeigt an:

  • Alle verfügbaren Modelle, organisiert nach Anbieter
  • Modellfähigkeiten (Werkzeuge, Vision, Agent)
  • Informationen zur Kontextgröße und zum Multiplikator
  • Status der Modellsichtbarkeit

Sie können Modelle suchen und filtern mit:

  • Textsuche mit Hervorhebung
  • Anbieterfilter: @provider:"OpenAI"
  • Fähigkeitsfilter: @capability:tools, @capability:vision, @capability:agent
  • Sichtbarkeitsfilter: @visible:true/false

Fahren Sie mit der Maus über Modellnamen oder Kontextgrößen, um detaillierte Informationen anzuzeigen, einschließlich Modell-ID, Version, Status und Token-Aufschlüsselung.

Modellsichtbarkeit verwalten

Steuern Sie, welche Modelle im Chat-Modell-Auswahlmenü angezeigt werden, indem Sie ihre Sichtbarkeit mit dem Auge-Symbol neben jedem Modell umschalten. Wenn ein Modell sichtbar ist, erscheint es im Dropdown-Menü des Modell-Auswahlmenüs, wenn Sie GitHub Copilot Chat verwenden, und ist somit zur Auswahl verfügbar. Ausgeblendete Modelle verbleiben im Sprachmodelle-Editor, erscheinen aber nicht im Modell-Auswahlmenü, sodass Sie Ihre Modellauswahl auf die am häufigsten verwendeten Modelle konzentrieren können.

Screenshot showing the eye icon to toggle model visibility with a tooltip displaying "Show in the chat model picker"

Dies ist besonders nützlich, wenn Sie Zugriff auf viele Modelle haben und Ihren Workflow optimieren möchten, indem Sie nur Ihre bevorzugten Modelle im Auswahlmenü anzeigen.

Modelle von installierten Anbietern hinzufügen

Verwenden Sie die Schaltfläche Modelle hinzufügen..., um Modelle von Sprachmodell-Anbietern, die Sie bereits installiert haben, zu konfigurieren und hinzuzufügen. Wenn Sie auf diese Schaltfläche klicken, wird eine Dropdown-Liste aller installierten Modell-Anbieter angezeigt, wie z. B. Copilot, Anthropic, Azure, Google, Groq, Ollama, OpenAI und andere. Wählen Sie einen Anbieter aus der Liste aus, um ihn zu konfigurieren und seine Modelle in GitHub Copilot Chat zu verwenden.

Screenshot showing the Add Models dropdown with a list of installed language model providers including Copilot, Anthropic, Azure, Google, and more

Dies erleichtert die Aktivierung zusätzlicher installierter Modell-Anbieter, ohne den Sprachmodelle-Editor verlassen zu müssen. Greifen Sie auf die Anbieterverwaltung zu, indem Sie das Zahnradsymbol in den Anbieterzeilen auswählen.

Erweiterungsentwicklung

ID-Token in Authentifizierungssitzungen

Die Schnittstelle AuthenticationSession enthält jetzt eine optionale Eigenschaft idToken. Dies ermöglicht es Authentifizierungsanbietern, zusätzlich zu Zugriffstokens auch ID-Tokens zurückzugeben, was besonders für Szenarien nützlich ist, die Benutzeridentitätsinformationen erfordern. Der Microsoft-Authentifizierungsanbieter gibt dieses Feld zurück, während andere Anbieter wie GitHub möglicherweise nicht.

ID-Tokens enthalten Claims über den authentifizierten Benutzer und werden vom Identitätsanbieter signiert, wodurch sie zur Überprüfung der Benutzeridentität nützlich sind. Weitere Informationen zum Unterschied zwischen ID-Tokens und Zugriffstokens finden Sie unter https://oauth.net/id-tokens-vs-access-tokens/.

export interface AuthenticationSession {
  /**
   * The ID token.
   */
  readonly idToken?: string;
}

Git-Erweiterung getRepositoryWorkspace API

Die integrierte Git-Erweiterung bietet eine neue API zum Abrufen eines Ordners, der bekanntermaßen mit einem Git-Repository-Remote verknüpft ist. Dies funktioniert, indem eine Zuordnung von Repository-Remote zu Ordner zwischengespeichert wird, wenn der Benutzer einen Ordner mit einem Git-Remote öffnet.

Ansichtscontainer in der sekundären Seitenleiste

Erweiterungsautoren können jetzt Ansichtscontainer in der sekundären Seitenleiste registrieren, indem sie den neuen Beitragspunkt secondarySidebar verwenden. Dies ermöglicht es Erweiterungen, ihre benutzerdefinierten Ansichten neben integrierten Ansichten wie Chat in der sekundären Seitenleiste zu platzieren und eine bessere Integration mit dem Dual-Seitenleisten-Layout von VS Code zu bieten.

{
  "contributes": {
    "viewsContainers": {
      "secondarySidebar": [
        {
          "id": "myExtensionViews",
          "title": "My Extension",
          "icon": "$(extensions)"
        }
      ]
    },
    "views": {
      "myExtensionViews": [
        {
          "id": "myCustomView",
          "name": "Custom View",
          "when": "true"
        }
      ]
    }
  }
}

Vorgeschlagene APIs

Verbesserungen bei Quick Pick und Quick Input

Die APIs für Quick Pick und Quick Input umfassen mehrere neue Funktionen, die Erweiterungsentwicklern mehr Flexibilität bei der Erstellung interaktiver Benutzeroberflächen bieten.

Vorgeschlagene API: Unterstützung für Umschaltflächen

Erweiterungen können Umschaltflächen zu Quick Pick- und Quick Input-Schnittstellen über die Eigenschaft toggles auf QuickInput hinzufügen. Dies ermöglicht Szenarien wie eine Umschaltfläche für die Passwortsichtbarkeit im Eingabefeld, sodass Benutzer mit Steuerelementen interagieren können, ohne die Quick Pick-Oberfläche zu verlassen.

Ihre Kommentare und Ihr Feedback zu diesem API-Vorschlag sind erwünscht (siehe GitHub-Issue).

export enum QuickInputButtonLocation {
  ...

  /**
   * The button is rendered at the far end inside the input box.
   */
  Input = 3
}

export interface QuickInputButton {
  ...

  /**
   * When present, indicates that the button is a toggle button that can be checked or unchecked.
   *
   * **Note:** This property is currently only applicable to buttons with {@link QuickInputButtonLocation.Input} location.
   * It must be set for such buttons, and the state will be updated when the button is toggled.
   * It cannot be set for buttons with other location values.
   */
  readonly toggle?: { checked: boolean };
}

Vorgeschlagene API: Prompt-Unterstützung für Quick Pick

Quick Pick unterstützt eine Eigenschaft prompt, ähnlich der im Eingabefeld verfügbaren. Der Prompt zeigt dauerhaften Text unterhalb des Eingabefelds an, der sichtbar bleibt, während Benutzer tippen, und hilfreiche Anleitungen oder Anweisungen liefert, die nicht verschwinden, wenn der Benutzer mit der Eingabe von Text beginnt.

Ihre Kommentare und Ihr Feedback zu diesem API-Vorschlag sind erwünscht (siehe GitHub-Issue).

export interface QuickPick<T extends QuickPickItem> extends QuickInput {
  /**
   * Optional text that provides instructions or context to the user.
   *
   * The prompt is displayed below the input box and above the list of items.
   */
  prompt: string | undefined;
}

export interface QuickPickOptions {
  /**
   * Optional text that provides instructions or context to the user.
   *
   * The prompt is displayed below the input box and above the list of items.
   */
  prompt?: string;
}

Vorgeschlagene API: Dateisymbole für Quick Pick-Elemente

Quick Pick-Elemente können dateitypspezifische Symbole über die Eigenschaft resourceUri auf QuickPickItem anzeigen. Wenn Sie eine Ressourcen-URI angeben, leitet VS Code automatisch die entsprechende Beschriftung, Beschreibung und das Symbol basierend auf dem Ressourcentyp ab und passt sie an das aktuelle Thema Ihrer Dateisymbole an. Dies ist besonders nützlich beim Erstellen von Schnittstellen zur Auswahl von Dateien oder Ordnern, da Benutzer Elemente schnell an ihren vertrauten Dateitypsymbolen erkennen können.

Ihre Kommentare und Ihr Feedback zu diesem API-Vorschlag sind erwünscht (siehe GitHub-Issue).

export interface QuickPickItem {
  /**
   * A {@link Uri} representing the resource associated with this item.
   *
   * When set, this property is used to automatically derive several item properties if they are not explicitly provided:
   * - **Label**: Derived from the resource's file name when {@link QuickPickItem.label label} is not provided or is empty.
   * - **Description**: Derived from the resource's path when {@link QuickPickItem.description description} is not provided or is empty.
   * - **Icon**: Derived from the current file icon theme when {@link QuickPickItem.iconPath iconPath} is set to
   *   {@link ThemeIcon.File} or {@link ThemeIcon.Folder}.
   */
  resourceUri?: Uri;
}

GitHub-ähnliche Warnungen in MarkdownStrings (#209652)

Wir haben die Unterstützung für das Rendern von GitHub-ähnlicher Warnsyntax in MarkdownString durch Setzen einer neuen Eigenschaft supportAlertSyntax hinzugefügt.

const markdown = new vscode.MarkdownString();
markdown.supportAlertSyntax = true;
markdown.value = `
> [!NOTE]
> Useful information that users should know, even when skimming content.

> [!TIP]
> Helpful advice for doing things better or more easily.

> [!IMPORTANT]
> Key information users need to know to achieve their goal.

> [!WARNING]
> Urgent info that needs immediate user attention to avoid problems.

> [!CAUTION]
> Advises about risks or negative outcomes of certain actions.
`;

Dies ermöglicht es Erweiterungen, Warnungen an verschiedenen Stellen der Benutzeroberfläche zu rendern, z. B. in Kommentaren.

Screenshot showing GitHub-style alerts displayed in a comment thread showing each alert type with their respective icons and styling.

MarkdownString-Unterstützung in TreeItem-Labels (#115365)

Erweiterungsautoren können jetzt MarkdownString in Baumansichtselementen verwenden, was eine Teilmenge der Markdown-Syntax einschließlich Codicons und Textformatierung ermöglicht. Dies erlaubt Erweiterungen, visuell reichhaltigere Baumansichten zu erstellen.

// Codicons
const itemWithIcon = new vscode.TreeItem({
  label: new vscode.MarkdownString('$(star) Starred item', true)
});

// Text formatting (must surround the entire string)
const italicItem = new vscode.TreeItem({
  label: new vscode.MarkdownString('_Italic item_')
});

// Formatting and codicons can be combined
const combined = new vscode.TreeItem({
  label: new vscode.MarkdownString('_~~**$(check) Done $(star)**~~_', true)
});

Die obigen Elemente werden gerendert als: Screenshot einer Baumansicht, die drei Elemente anzeigt: ein markiertes Element mit einem Symbol, ein kursives Element und ein kombiniertes Element mit Check- und Stern-Symbolen sowie Fettdruck, Kursivschrift und Durchstreichformatierung.

Technik

Erforschung von automatisierten UX-PR-Tests

Wir haben einen neuen Automatisierungs-Workflow eingeführt, der Rezensenten hilft, UI-Änderungen in Pull-Requests zu verstehen, ohne den Code manuell auschecken und ausführen zu müssen. Durch Hinzufügen des Labels ~copilot-video-please zu einem Pull-Request mit UI-Änderungen wird ein automatisierter Prozess gestartet, der:

  • VS Code aus dem PR-Branch baut
  • GitHub Copilot CLI verwendet, um mit den Änderungen zu interagieren und dabei ein Video aufzunehmen - unter Verwendung von playwright-mcp
  • Eine Playwright-Trace-Datei für detaillierte Inspektion generiert
  • Die Ergebnisse als Kommentar zum PR postet

Obwohl es noch früh ist, kann dieser Workflow den manuellen Aufwand für Code-Reviews reduzieren, insbesondere für kleine UI-Änderungen. Die Videos und Traces helfen Rezensenten, schnell zu überprüfen, ob die Änderungen wie erwartet funktionieren. Derzeit sind die Videos nur für Teammitglieder zugänglich.

Weitere Details zu dieser Automatisierung finden Sie unter https://github.com/microsoft/vscode/issues/272529.

Unterstützung für macOS 11.0 eingestellt

VS Code 1.106 ist die letzte Version, die macOS 11.0 (macOS Big Sur) unterstützt. Weitere Informationen finden Sie in unseren FAQs.

Bemerkenswerte Fehlerbehebungen

  • vscode#258236 - Einstellung für das Timeout von Erweiterungsanfragen beim Installieren von Erweiterungen hinzufügen
  • vscode#272945 - Tasks lösen onDidStartTerminalShellExecution nicht aus
  • vscode#273372 - /** wird automatisch mit */ in .gitignore-Dateien geschlossen
  • vscode#243584 - Erste Eingabe wird bei pwsh/conpty ignoriert
  • vscode#271952 - Copilot 'configure instructions' quickpick zeigt keine workspace-weiten Agent-Instruktionsdateien (copilot-instructions.md, AGENTS.md) an
  • vscode#274631 - Netzwerk: Zwischenzertifizierungsstellen unter Windows laden

Vielen Dank

Fehlerverfolgung

Beiträge zu unserer Fehlerverfolgung

Pull Requests

Beiträge zu vscode

Beiträge zu vscode-copilot-chat

Beiträge zu vscode-html-languageservice

Beiträge zu vscode-json-languageservice

Beiträge zu vscode-languageserver-node

Beiträge zu vscode-pull-request-github

Beiträge zu vscode-test-cli

Beiträge zu debug-adapter-protocol

Beiträge zu language-server-protocol

Beiträge zu monaco-editor

Beiträge zu node-pty

Beiträge zu python-environment-tools

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.

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