November 2023 (Version 1.85)
Update 1.85.1: Das Update behebt diese Probleme.
Update 1.85.2: Das Update behebt diese Probleme.
Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Willkommen zur November 2023-Version von Visual Studio Code. Es gibt viele Neuerungen in dieser Version, die Ihnen hoffentlich gefallen werden. Hier sind einige der wichtigsten Highlights:
- Schwebende Editorfenster - Ziehen und ablegen von Editoren auf Ihrem Desktop.
- Barrierefreiheitsansicht-Workflow - Reibungslosere Übergänge zur und von der Barrierefreiheitsansicht.
- Feinere Steuerung von Erweiterungsaktualisierungen - Wählen Sie aus, welche Erweiterungen automatisch aktualisiert werden sollen.
- Eingehende und ausgehende Ansicht der Quellcodeverwaltung - Einfache Überprüfung ausstehender Repository-Änderungen.
- JavaScript-Heap-Schnappschüsse - Visualisierung von Heap-Schnappschüssen, einschließlich Speicherobjektgraphen.
- TypeScript-Sprung zur Definition aus Inlay-Hinweisen - Sprung zur Definition aus Inlay-Hinweis-Hover-Effekten.
- Python-Typenhierarchieanzeige - Schnelle Überprüfung und Navigation komplexer Typbeziehungen.
- GitHub Copilot-Updates - Verbesserungen am Inline-Chat, Erklärung von Rust-Code.
- Vorschau: Erweiterte Unterstützung für Sticky Scroll - Sticky Scroll in Baumansichten und im Terminal.
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.
GitHub Universe, Copilot und VS Code
Wenn Sie dieses Jahr GitHub Universe verfolgen oder daran teilnehmen konnten, haben Sie gesehen, dass GitHub Copilot im Mittelpunkt stand. Copilot wurde in der Eröffnungskeynote und in Breakout-Sitzungen wie GitHub Copilot: der KI-Pair-Programmierer für heute und morgen vorgestellt.
Das VS Code-Team hat hart daran gearbeitet, Copilot in den Editor zu integrieren. Mehr über die Fortschritte des Teams im Vorfeld von GitHub Universe erfahren Sie in unserem kürzlich veröffentlichten Blogbeitrag Die Jagd nach "wicked smartness" in VS Code. Der Beitrag beschreibt die Entwicklung von Copilot Chat Agents, die als Fachexperten für Codebasen und Technologien fungieren, und wie Erweiterungsautoren eigene benutzerdefinierte Agents zu VS Code beitragen können.
Barrierefreiheit
Barrierefreie Ansicht
In der letzten Iteration haben wir das automatische Schließen der Barrierefreiheitsansicht beim Drücken einer Taste für einen nahtlosen Übergang zwischen einer UI-Komponente und ihrer Barrierefreiheitsansicht eingeführt. In einigen Fällen ist dieses Verhalten möglicherweise nicht erwünscht und kann jetzt über die Einstellung accessibility.accessibleView.closeOnKeyPress deaktiviert werden.
Wenn Sie zwischen dem Terminal und der Barrierefreiheitsansicht des Terminals wechseln, sollten Sie terminal.integrated.accessibleViewFocusOnCommandExecution aktivieren. Dies öffnet automatisch die Barrierefreiheitsansicht, nachdem ein Befehl im Terminal ausgeführt wurde.
Tooltips, die bei Tastaturfokus angezeigt werden
Um die Benutzerfreundlichkeit für Tastaturbenutzer zu verbessern, werden Tooltips jetzt beim Tastaturfokus für Elemente mit benutzerdefinierten Hover-Effekten, wie z. B. Elemente der Aktivitätsleiste und Statusleiste, angezeigt.

Spracherkennungs-Timeout
Eine neue Einstellung accessibility.voice.speechTimeout steuert, wie lange bei Stille gewartet wird, bevor Spracheingaben akzeptiert werden, z. B. für Copilot Chat. Standardmäßig wird die Spracheingabe nach 1,2 Sekunden Stille automatisch übermittelt. Sie können dies auf 0 setzen, um die Annahme von Spracheingaben vollständig zu deaktivieren.
Workbench
Schwebende Editorfenster
Wir freuen uns, Ihnen mitteilen zu können, dass Sie mit dieser Version Editoren aus dem Hauptfenster in eigene, leichtgewichtige Fenster verschieben können. Änderungen an einem Editor in einem Fenster wirken sich sofort auf alle anderen Fenster aus, in denen der Editor geöffnet ist.
Der einfachste Weg, ein schwebendes Editorfenster zu erstellen, besteht darin, einen Editor aus dem aktuellen Fenster zu ziehen und ihn auf einen leeren Bereich auf Ihrem Desktop fallen zu lassen.
Theme: GitHub Dark (Vorschau auf vscode.dev)
Die neue Einstellung workbench.editor.dragToOpenWindow kann dieses Verhalten deaktivieren.
Es gibt auch neue globale und kontextbezogene Befehle zum Verschieben oder Kopieren von Editoren und Editor-Gruppen in eigene Fenster.
- Ansicht: Editor in neuem Fenster kopieren (
workbench.action.editor.copyWithSyntaxHighlightingAction) - Ansicht: Editor in neues Fenster verschieben (
workbench.action.editor.moveEditorToNextWindow) - Ansicht: Editor-Gruppe in neues Fenster kopieren (
workbench.action.editor.copyGroupToNextWindow) - Ansicht: Editor-Gruppe in neues Fenster verschieben (
workbench.action.editor.moveGroupToNextWindow) - Ansicht: Neues leeres Editorfenster (
workbench.action.newWindow)
Der Editorbereich in schwebenden Fenstern kann mit jedem komplexen Layout angeordnet werden, das Sie wünschen. Und da sowohl Terminals als auch Suchergebnisse als Editoren geöffnet werden können, können Sie diese Funktionen jetzt auch in separaten Fenstern haben!

Probieren Sie diese neue Funktion aus und melden Sie alle Probleme, die Sie feststellen. Stellen Sie sicher, dass Sie unsere bestehenden Probleme überprüfen und Ihre Stimme für fehlende Funktionen abgeben.
Native Einfügung im Dateiexplorer
VS Code unterstützt jetzt das native Einfügen von Dateien aus dem Explorer Ihres Betriebssystems in den VS Code-Dateiexplorer.
Erweiterungs-Auto-Update-Steuerung
Sie können jetzt auswählen, welche Erweiterungen automatisch aktualisiert werden sollen. Dies ist hilfreich, wenn Sie nicht alle Erweiterungen automatisch aktualisieren möchten, sondern selektiv auswählen möchten, welche aktualisiert werden sollen. Sie können entweder eine Erweiterung oder alle Erweiterungen eines Herausgebers auswählen. Wenn Sie alle Erweiterungen eines Herausgebers automatisch aktualisieren möchten, können Sie einzelne Erweiterungen dieses Herausgebers abwählen.

Sie sollten entweder keine automatischen Updates aktiviert haben (Keine) oder automatische Updates für ausgewählte Erweiterungen aktiviert haben (Ausgewählte Erweiterungen), um diese Funktion nutzen zu können.

Neue Profilsymbole
Die folgenden neuen Profilsymbole können Ihren Profilen hinzugefügt werden.
![]()
vrpianocoffeesnakerobotgamechipmusic
Verbesserungen und Fehlerbehebungen bei der Suche im Einstellungen-Editor
Der Einstellungen-Editor sortiert Suchergebnisse wieder zuerst nach dem Übereinstimmungstyp und nicht nur nach dem Inhaltsverzeichnis. Das heißt, Titel- und Schlüsselworttreffer erscheinen ganz oben, sodass Sie nicht nach unten scrollen müssen, um eine Einstellung mit einem übereinstimmenden Titel zu finden.

Thema: Light Pink (Vorschau auf vscode.dev)
Der Einstellungen-Editor ordnet Einstellungen immer noch nach dem Inhaltsverzeichnis für Gleichstände, was bedeutet, dass die order-Schlüssel von Erweiterungsautoren für Suchanfragen wie @ext:<extension-id> berücksichtigt werden.
Viele Rückschritte im Einstellungen-Editor wurden in dieser Iteration ebenfalls behoben, einschließlich des Fehlers, dass der Einstellungen-Editor aufgrund von Netzwerkproblemen nicht geladen wurde und bei bestimmten Suchanfragen hängen blieb.
Editor
Code-Aktionen beim Speichern und automatisch
Sie können jetzt Code-Aktionen beim automatischen Speichern im Editor aktivieren, und die Einstellungen Editor: Code-Aktionen beim Speichern (editor.codeActionsOnSave) wurden zu entsprechenden Enum-Werten migriert. Wenn auf always gesetzt, können Code-Aktionen beim Speichern oder automatischen Speichern bei Fensterwechsel (onWindowChange) oder Fokuswechsel (onFocusChange) ausgeführt werden. Um diese Funktion zu aktivieren, aktivieren Sie Editor: Code-Aktionen beim Speichern (editor.codeActionsOnSave) und ändern Sie die Einstellung jeder Code-Aktion auf always.
Die Aktualisierungen der Einstellungswerte sind wie folgt, wobei die vorherigen booleschen Werte zugunsten des Zeichenfolgenäquivalents veraltet sein werden.
Die Optionen sind
explicit- Löst Code-Aktionen beim expliziten Speichern aus. Entsprichttrue.always- Löst Code-Aktionen beim expliziten Speichern und bei automatischen Speichervorgängen durch Fenster- oder Fokuswechsel aus.never- Löst niemals Code-Aktionen beim Speichern aus. Entsprichtfalse.
Hervorhebung mehrerer Dokumente
Die Hervorhebung mehrerer Dokumente wird durch eine neue vorgeschlagene MultiDocumentHighlightProvider-API zusätzlich unterstützt. Es gibt jetzt eine integrierte Unterstützung für die semantische Hervorhebung von Vorkommen für die TypeScript-Sprache, die durch Ändern des Einstellungswerts Editor: Vorkommen hervorheben (editor.occurrencesHighlight) von singleFile auf multiFile aktiviert werden kann. Für andere Sprachen als TypeScript werden Vorkommen mehrerer Dokumente anhand von textuellen Vorkommen hervorgehoben, bis mehr sprachspezifische Provider implementiert sind.
Quellcodeverwaltung
Eingehende/Ausgehende Änderungen
In diesem Meilenstein haben wir einen neuen Abschnitt Eingehende/Ausgehende in der Ansicht "Quellcodeverwaltung" eingeführt, um eingehende und ausgehende Änderungen für den aktuellen Branch im Vergleich zu seinem Remote anzuzeigen. Der neue Abschnitt zeigt sowohl die einzelnen Änderungen mit der Anzahl der geänderten Ressourcen sowie Einfügungen und Löschungen an, als auch einen Eintrag Alle Änderungen, der alle Ressourcen über alle Änderungen hinweg zusammenfasst. Die Sichtbarkeit des neuen Abschnitts kann über die Einstellungen scm.showIncomingChanges und scm.showOutgoingChanges gesteuert werden. Beide Einstellungen unterstützen die folgenden Werte: always, auto (Standard) und never.

Maximale Eingabezeilen
Zuvor wuchs die Eingabe der Quellcodeverwaltung automatisch an, um maximal 6 Textzeilen anzuzeigen, was für die meisten Commit-Nachrichten ausreichend Platz bot. Es gab jedoch Fälle, in denen mehr Platz hilfreich gewesen wäre, und es gibt eine neue Einstellung, scm.inputMaxLines, die die maximale Anzahl von Zeilen in der Eingabe der Quellcodeverwaltung steuert.
Terminal
Sticky Scroll
Sticky Scroll ist im Terminal gelandet! Mithilfe von Informationen aus der Shell-Integration bleibt die Eingabeaufforderung des Befehls am oberen Rand des Ansichtsfensters am oberen Rand des Terminals haften, ähnlich wie Sticky Scroll im Editor funktioniert.

Ein Klick auf ein Sticky Scroll-Element scrollt zu diesem Teil des Terminalpuffers.
Dies ist derzeit standardmäßig deaktiviert, kann aber durch Setzen von "terminal.integrated.stickyScroll.enabled": true aktiviert werden. Wir planen, dies in Zukunft standardmäßig zu aktivieren, und dann können Sie es deaktivieren, indem Sie mit der rechten Maustaste klicken und es deaktivieren.
Befehlshervorhebung
Das Überfahren eines Befehls im Terminal zeigt nun einen Hervorhebungsbalken links davon an. Dies ist nützlich für einfache Terminal-Eingabeaufforderungen, bei denen nicht klar ist, wo ein Befehl beginnt und ein anderer endet.

Shell-Integration und Verbesserungen bei der Befehlsnavigation
Mit der Einführung von Sticky Scroll wurden viele Verbesserungen an der Shell-Integration vorgenommen. Insbesondere bei Terminals unter Windows, wo die von der Shell-Integration empfangenen Marker nicht vollständig zuverlässig sind. Es gibt nun Logik, die den Terminalinhalt intelligent scannt und die Marker anpasst, bevor der Terminalbefehl verfügbar gemacht wird.
Die Shell-Integration kann nun auch die einzelnen Teile einer Eingabeaufforderung erkennen: die Eingabeaufforderung und ihre Eingabe. Dies bestimmt, welcher Teil des Befehls bei Verwendung von Sticky Scroll angezeigt wird. Dies wird auch leere Zeilen vom Anfang der Eingabeaufforderung abschneiden, die häufig verwendet werden, um die Ausgabe zu trennen und das Terminal leichter lesbar zu machen.
Die vorhandene Funktion für die Befehlsnavigation profitiert ebenfalls, da Sie zur zuverlässigeren Eingabeaufforderung für Sticky Scroll navigieren können, anstatt zur weniger zuverlässigen Eingabeaufforderungszeile.
Vorher

Nachher

Verbesserte Unterstreichungsdarstellung
Gestrichelte und gepunktete Unterstreichungen im Terminal werden jetzt pixelgenau gerendert.


Git Pull Quick Fix
Wenn ein Git-Branch-Checkout mit Fast Forward erfolgen kann, bietet ein neues Terminal-Quick-Fix die Option, git pull auszuführen.
Aufgaben
Die Einstellung npm.packageManager kann nun auf bun gesetzt werden, um die Erkennung und Ausführung von Bun-Skripten zu aktivieren, die in package.json definiert sind.
Debuggen
JavaScript Debugger
Visualisierung von Heap-Schnappschüssen
V8-Heap-Schnappschüsse, gespeichert als .heapsnapshot, können jetzt in VS Code visualisiert werden. Es gibt sowohl eine herkömmliche Tabellenansicht als auch eine grafische Darstellung der Retainer eines bestimmten Speicherobjekts.

Theme: Codesong (Vorschau auf vscode.dev)
Heap-Schnappschüsse können mit dem Befehl Performance-Profil erstellen während des Debuggens von JavaScript-Code erfasst werden. Sie können auch über den Tab Speicher in den Browser-Entwicklertools erfasst werden.
Verbesserte Ansicht von Ereignislistener-Breakpoints
Die Ansicht Ereignislistener-Breakpoints, die beim Debuggen von Microsoft Edge oder Google Chrome angezeigt wird, wurde verbessert. Sie ist jetzt eine Checkbox-Liste und unterstützt das Anhalten bei XHR/Fetch-Anfragen basierend auf der URL.

WebAssembly-Debugging mit Rust
Sowohl VS Code als auch wasm-bindgen haben Änderungen vorgenommen, die das Debuggen von in WebAssembly kompiliertem Rust in VS Code ermöglichen. Weitere Informationen finden Sie in unserer Dokumentation zum WebAssembly-Debugging.
Testen
Die Suchen-Steuerung wird jetzt im Terminal der Ansicht Testergebnisse unterstützt.
Sprachen
TypeScript 5.3
Diese Version enthält TypeScript 5.3. Dieses wichtige Update fügt Unterstützung für Importattribute, bessere Typeneingrenzung und mehr hinzu. Es enthält auch neue Sprach-Tooling-Funktionen und Fehlerbehebungen.
Sie können mehr über TypeScript 5.3 im TypeScript-Blog lesen.
node_module-Symbole von der Workspace-Symbolsuche ausgeschlossen
Gehe zu Symbol im Workspace schließt jetzt standardmäßig Symbole aus node_modules aus. Dies erleichtert das Auffinden von Symbolen in Ihrem Code, ohne von Symbolen aus installierten Paketen überwältigt zu werden.
Sie können zum vorherigen Verhalten zurückkehren, das alle Symbole im Projekt einschloss, indem Sie "typescript.workspaceSymbols.excludeLibrarySymbols": false einstellen.
Sprung zur Definition für Inlay-Hinweise
Typen in JavaScript und TypeScript Inlay-Hinweisen sind jetzt interaktiv. Springen Sie schnell zur Definition eines Typs, indem Sie über den Typ fahren und bei gedrückter Strg-Taste unter Windows und Linux oder Cmd-Taste unter macOS klicken.

Bevorzugen Sie die Verwendung von 'type' für automatische Importe
Nur-Typ-Importe ermöglichen es Ihnen, einen Typ zu importieren und sicherzustellen, dass der Import zur Laufzeit vollständig entfernt wird. Wenn Sie standardmäßig immer type-Importe verwenden möchten, können Sie jetzt "typescript.preferences.preferTypeOnlyAutoImports": true einstellen, und automatische Importe verwenden Nur-Typ-Importe. Diese Einstellung ist standardmäßig deaktiviert.
Remote-Entwicklung
Die Remote Development Extensions ermöglichen es Ihnen, einen Dev Container, einen Remote-Computer über SSH oder Remote Tunnels oder das Windows Subsystem for Linux (WSL) als vollwertige Entwicklungsumgebung zu nutzen.
Zu den Highlights gehören
- Installieren Sie automatisch die Erweiterungen GitHub Copilot und Pull Requests und Issues in Dev Containers.
- Feinere Steuerung, welche Erweiterungen in Dev Containers installiert werden.
- Lokale Maschinen-Zertifikate in lokalen Dev Containers und WSL-Sitzungen wiederverwenden.
Mehr Informationen zu diesen Funktionen finden Sie in den Release Notes für Remote Development.
Beiträge zu Erweiterungen
GitHub Copilot
Verbesserungen der Inline-Chat-Benutzeroberfläche
Der Verlauf der Inline-Chat-Eingabeaufforderungen wird jetzt über VS Code-Sitzungen hinweg gespeichert. Die Tastenkombinationen zum Anzeigen der vorherigen und nächsten Eingabeaufforderungen wurden ebenfalls zu Auf und Ab geändert, um sie an andere "vorherige und nächste"-Element-Shortcuts in VS Code anzupassen.
Wenn der Inline-Chat das Erstellen neuer Dateien vorschlägt, z. B. bei Verwendung des /test-Slash-Befehls, können Sie nun den Dateinamen und den Speicherort auswählen, indem Sie Erstellen als aus dem Dropdown-Menü Erstellen auswählen.

Zuletzt gibt es einen neuen experimentellen leichtgewichtigen UI-Modus für den Inline-Chat. Er bietet ein reibungsloseres Streaming-Erlebnis und rendert Diffs nur bei Bedarf. Sie können ihn über die Einstellung "inlineChat.mode": "live3" aktivieren.

Inline-Chat für Korrekturen zeigt Zusammenfassung und Folgeaktion an
Wenn Sie Inline-Chat für Korrekturen (/fix) verwenden, erhalten Sie nun auch eine kurze Zusammenfassung, was die Korrektur bewirkt. Wenn verbleibende Fehler vorhanden sind, können Sie die Korrektur durch Klicken auf die angebotene Folgeaktion verfeinern.

Progressive Nachrichtenanzeige im Inline-Chat
Inline-Chat verwendet nun die gleiche progressive Anzeige wie die Chat-Ansicht.

Terminal-Generierung von Commit-Nachrichten Quick Fix
In der letzten Version wurde ein Copilot "Glitzer"-Symbol zur Generierung von Commit-Nachrichten in das Eingabefeld der Quellcodeverwaltung eingefügt. Für Terminalbenutzer gibt es nun einen Quick Fix, um nach Ausführung des Befehls git add... eine bearbeitbare Commit-Nachricht im Terminal zu generieren.
Verbesserungen bei Terminal-Agenten und Befehlsvorschlägen
Alle terminalbezogenen Funktionen wurden zum @terminal-Agenten verschoben. Dies geschah, um klarzustellen, dass der Terminal-Agent keine Workspace-Informationen abrufen könnte, um die Funktionalität zu konsolidieren und die Nutzung zu erleichtern.
Hier sind die Zuordnungen von den alten zu den neuen Eingabeaufforderungen
| Alt | Neu |
|---|---|
@workspace /terminal Wie liste ich Dateien auf? |
@terminal Wie liste ich Dateien auf? |
@workspace /explain #terminalSelection |
@terminal #terminalSelection |
@workspace /explain #terminalLastCommand |
@terminal #terminalLastCommand |
Darüber hinaus wurden die Befehlsvorschläge in dieser Version erheblich verbessert. Terminal-Befehlsvorschläge kennen nun das Betriebssystem und die verwendete Shell. Workspace-Informationen werden ebenfalls bedingt abgerufen, je nachdem, ob Copilot glaubt, dass die Frage mit dem Workspace zusammenhängt. Die Sammlung von Workspace-Kontexten wird sich weiter verbessern, sowohl in Bezug auf die Geschwindigkeit als auch auf das, was genau referenziert wird.

Beachten Sie in diesem Beispiel, wie der @terminal-Agent weiß, wie Dateipfade im Repository microsoft/vscode gebildet werden.

Es gibt auch praktische Folgeaktionen, um vorgeschlagene Befehle zu erklären, die als blaue Glitzersymbole direkt über dem Chat-Eingabefeld angezeigt werden.

Die Aktivierung der Folgeaktion Erklären liefert eine detaillierte Erklärung des vorgeschlagenen Befehls.

Upgrade-Dialog für Authentifizierung bei Verwendung von GitHub-Remote-Suchfunktionen für private Repositories
Wenn für Ihr Benutzerkonto aktiviert, sucht Copilot Chat bei der Verwendung des @workspace-Agents über Remote-Suchfunktionen in Ihrem Workspace. Um die Remote-Suche mit privaten Repositories nutzen zu können, ist ein Authentifizierungstoken mit mehr Berechtigungen erforderlich. Wenn kein Token mit den erforderlichen Berechtigungen vorhanden ist, werden Sie nach zusätzlichen Berechtigungen gefragt.

Sie werden diesen Dialog nur einmal sehen, und zukünftige Anfragen an den @workspace-Agenten verwenden das zwischengespeicherte Token.
Senden Sie eine Anfrage an @workspace einfacher
Da der @workspace-Agent in vielen Copilot-Abfragen verwendet wird, wollten wir sicherstellen, dass er so einfach wie möglich zu aktivieren ist. Sie können jetzt eine Frage in das Chat-Eingabefeld eingeben und dann drücken, um die Frage zu senden und automatisch @workspace voranzustellen.
Erklärung von Rust-Code mit Copilot
Copilot Chat sammelt nun dateiübergreifenden Kontext aus Ihrer Codebasis, wenn Sie es bitten, Rust-Code zu erklären und eine Rust-Sprachdienst-Erweiterung wie rust-analyzer installiert haben. Um eine Copilot-Erklärung anzuzeigen, wählen Sie Code in Ihrem aktiven Editor aus und verwenden Sie dann Copilot > Dies erklären aus dem Kontextmenü oder /explain aus dem Inline-Chat oder der Chat-Ansicht.

Erkennung potenzieller Schwachstellen im Code
Wir möchten sicherstellen, dass Sie sich möglicher Probleme mit Copilot-generiertem Quellcode bewusst sind. Daher führen wir Code in Chat-Ansicht-Codeblöcken jetzt durch ein Modell zur Erkennung von Code-Schwachstellen und kennzeichnen erkannte Probleme. Möglicherweise sehen Sie diese Funktion nicht sofort, aber wir werden sie schrittweise für Copilot Chat-Benutzer einführen und auch die Art der erkannten Schwachstellen abstimmen.
Wenn festgestellt wird, dass ein Codeblock eine potenzielle Schwachstelle enthält, wird er am unteren Rand des Codeblocks annotiert. Das Modell zur Erkennung von Schwachstellen wird von uns pilotiert. Treffen Sie daher Ihre eigene Bestimmung, wenn Sie die Vorschläge von Copilot und mögliche Schwachstellen überprüfen.

Copilot-Videos und Livestream-Sitzungen
Verpassen Sie nicht die aktuellen VS Code Copilot-Videos auf YouTube. Erfahren Sie mehr über die neuesten Copilot Chat-Funktionen und wie Copilot "viel schlauer geworden ist".
Und wenn Sie die VS Code-Livestreams noch nicht verfolgen, sollten Sie die Copilot-Demos ansehen, die in der 1.84 Release Party gezeigt wurden.
Python
Typenhierarchie mit Pylance anzeigen
Sie können jetzt die Typbeziehungen Ihrer Python-Projekte bequemer erkunden und navigieren, wenn Sie Pylance verwenden. Dies kann hilfreich sein, wenn Sie mit großen Codebasen mit komplexen Typbeziehungen arbeiten.
Wenn Sie mit der rechten Maustaste auf ein Symbol klicken, können Sie Typenhierarchie anzeigen auswählen, um die Typenhierarchieansicht zu öffnen. Von dort aus können Sie durch die Untertypen und Obertypen der Symbole navigieren.
Theme: Catppuccin Macchiato (Vorschau auf vscode.dev)
Konfigurierbare Debugging-Option im Menü der Schaltfläche "Ausführen"
Die Erweiterung Python Debugger verfügt nun über eine konfigurierbare Debug-Option im Menü der Schaltfläche Ausführen. Wenn Sie Python Debugger: Debuggen mit launch.json auswählen und bereits eine launch.json in Ihrem Workspace vorhanden ist, werden alle verfügbaren Debug-Konfigurationen angezeigt, aus denen Sie zum Starten des Debuggers auswählen können. Wenn keine Konfigurationen vorhanden sind, werden Sie aufgefordert, eine Debug-Konfigurationsvorlage auszuwählen, um eine launch.json-Datei für Ihre Python-Anwendung zu erstellen.

Deaktivierungsbefehl unterstützt, wenn er über Umgebungsvariablen aktiviert wird
Die Python-Erweiterung verfügt über einen neuen Aktivierungsmechanismus, der die ausgewählte Umgebung in Ihrem Standardterminal aktiviert, ohne explizite Aktivierungsbefehle auszuführen. Dies ist derzeit hinter einer experimentellen Flagge versteckt und kann über die folgende Benutzer-Einstellung aktiviert werden: "python.experiments.optInto": ["pythonTerminalEnvVarActivation"].
Ein anfänglicher Nachteil dieses Aktivierungsmechanismus war jedoch, dass er den deactivate-Befehl nicht unterstützte. Wir haben Feedback erhalten, dass dies ein wichtiger Teil des Workflows einiger Benutzer ist. Daher haben wir die Unterstützung für deactivate hinzugefügt, wenn das ausgewählte Standardterminal PowerShell oder Eingabeaufforderung ist. Wir haben Pläne, die Unterstützung für zusätzliche Terminals in Zukunft hinzuzufügen.
Warnmeldung und Einstellung für REPL Smart Send
Beim Versuch, Smart Send über Umschalt+Eingabe in einer Python-Datei mit ungültigem oder veraltetem Code zu verwenden, wird nun eine Warnmeldung und eine Option angezeigt, REPL Smart Send zu deaktivieren. Benutzer können ihr benutzerspezifisches und arbeitsbereichsspezifisches Verhalten für REPL Smart Send über die Einstellung Python.REPL: REPLSmart Send aktivieren (python.REPL.enableREPLSmartSend) ändern.

Neuerstellung der Testarchitektur
Die Neuerstellung des Testadapters für Python wurde für 100 % der Benutzer ausgerollt. Derzeit können Sie sich abmelden, indem Sie "python.experiments.optOutFrom" : "pythonTestAdapter" zu Ihrer settings.json hinzufügen. Wir werden diese experimentelle Flagge jedoch bald entfernen und diese neue Architektur übernehmen.
GitHub Pull Requests und Issues
Es wurden weitere Fortschritte bei der Erweiterung GitHub Pull Requests und Issues erzielt, die es Ihnen ermöglicht, Pull Requests und Issues zu bearbeiten, zu erstellen und zu verwalten.
- Merge-Warteschlangen werden jetzt in der PR-Beschreibung und der Erstellen-Ansicht unterstützt.
- Eine neue Einstellung
"githubPullRequests.allowFetch": falseverhindert die Ausführung vonfetch. - Die Unterstützung für Submodule wurde verbessert.
Überprüfen Sie das Changelog für Version 0.78.0 der Erweiterung, um mehr über die anderen Highlights zu erfahren.
Vorschau-Features
Sticky Scroll in Bäumen
Aufbauend auf dem Erfolg von Sticky Scroll im Editor haben wir diese Funktion auf alle Baumansichten erweitert, um den Benutzern die Navigation in Projektbäumen zu erleichtern. Sticky Scroll für Bäume kann durch Setzen von workbench.tree.enableStickyScroll: true aktiviert werden. Um sicherzustellen, dass Sticky Scroll nicht zu viel Platz einnimmt, kann es maximal 40 % der Ansichtshöhe beanspruchen. Zusätzlich können Benutzer die maximale Anzahl von Sticky-Elementen konfigurieren, indem sie workbench.tree.stickyScrollMaxItemCount einstellen, das standardmäßig auf 7 gesetzt ist.
Für eine verbesserte Baum-Navigation können Sie ein Sticky-Element auswählen, um direkt dorthin im Baum zu springen, oder auf den Pfeil eines übergeordneten Elements klicken, um alle seine untergeordneten Elemente auszublenden. Darüber hinaus ist der Zugriff auf Kontrollkästchen und Aktionsschaltflächen einfacher, wenn Sticky Scroll aktiviert ist.
Multi-Datei-Diff-Editor
Diese Version liefert eine Vorschau des Multi-Diff-Editors. Der Multi-Diff-Editor ermöglicht es Ihnen, Änderungen in mehreren Dateien in einer einzigen scrollbaren Ansicht anzuzeigen.
Um den Multi-Diff-Editor zu aktivieren, setzen Sie "multiDiffEditor.experimental.enabled": true. Derzeit kann der Multi-Diff-Editor zur Überprüfung lokaler Änderungen, gestageter Änderungen, eingehender/ausgehender Änderungen und Änderungen von Pull Requests verwendet werden. Beachten Sie, dass der Multi-Diff-Editor noch nicht vollständig funktionsfähig ist und möglicherweise nicht in allen Szenarien funktioniert.
Alternative Zeichenfilterung für Koreanisch
Für verschiedene Funktionen in der Benutzeroberfläche, die Filterung verwenden, sucht VS Code nun auch nach der entsprechenden QWERTY-Tastaturbelegung, da es üblich ist, versehentlich zu vergessen, den Input Method Editor (IME) zu wechseln. Dies funktioniert ähnlich wie bei Suchmaschinen, jedoch in Echtzeit. Zum Beispiel ist debug, wenn es in einem koreanischen IME eingegeben wird, ㅇ듀ㅕㅎ, was unsinnig ist.

Derzeit funktioniert dies nicht, wenn von mitten im Wort gefiltert wird.
Probleme-Dekorationen ausblenden
Es gibt eine neue Einstellung, um Probleme-Dekorationen im Editor und in der gesamten Benutzeroberfläche auszublenden (außer in der Probleme-Ansicht). Die Einstellung Probleme: Sichtbarkeit (problems.visibility) ist standardmäßig aktiviert, um alle Probleme anzuzeigen.
Einige UI-Einstellungen für Probleme sind deaktiviert, wenn Probleme: Sichtbarkeit deaktiviert ist.
- Gliederung > Probleme: Abzeichen (
outline.problems.badges) - Gliederung > Probleme: Farben (
outline.problems.colors) - Gliederung > Probleme: Aktiviert (
outline.problems.enabled) - Probleme > Dekorationen: Aktiviert (
problems.decorations.enabled)
Eine Warnung wird in der Statusleiste angezeigt, wenn Probleme: Sichtbarkeit deaktiviert ist.

Vorgeschlagene APIs
Jeder Meilenstein bringt neue vorgeschlagene APIs mit sich, und Erweiterungsautoren können sie ausprobieren. Wie immer freuen wir uns über Ihr Feedback. Hier sind die Schritte, um eine vorgeschlagene API auszuprobieren:
- Suchen Sie nach einem Vorschlag, den Sie ausprobieren möchten, und fügen Sie dessen Namen zu
package.json#enabledApiProposalshinzu. - Verwenden Sie die neueste Version von @vscode/dts und führen Sie
npx @vscode/dts devaus. Dies lädt die entsprechendend.ts-Dateien in Ihren Workspace herunter. - Sie können nun gegen den Vorschlag programmieren.
Sie können keine Erweiterung veröffentlichen, die eine vorgeschlagene API verwendet. Es kann zu Breaking Changes in der nächsten Version kommen und wir möchten niemals bestehende Erweiterungen beeinträchtigen.
Testabdeckung
In dieser Iteration haben wir die Arbeit an der Testabdeckung wieder aufgenommen, mit erster UI-Integration und einigen kleineren Aktualisierungen des langjährigen Vorschlags. Obwohl die API zu lang ist, um sie hier aufzunehmen, glauben wir, dass sie ziemlich unkompliziert ist und freuen uns über Ihr Feedback zu dem Vorschlag in Issue #123713.
Chat-Agenten
Wie in unserem Blogbeitrag Die Jagd nach "wicked smartness" in VS Code erwähnt, entwickeln wir ein Modell, damit Erweiterungen Chat-Agenten für die Copilot Chat-Ansicht beitragen können. Die Chat-Agenten-API ist vorgeschlagen, aber Sie können bereits mit dem Hinzufügen Ihres eigenen Chat-Agenten experimentieren. Abonnieren Sie Issue #199908 für Updates.
Multi-Dokument-Hervorhebungs-API
Wie in der vorherigen Version eingeführt, gibt es nun Unterstützung für die Hervorhebung mehrerer Dokumente in VS Code. In dieser Iteration haben wir eine vorgeschlagene MultiDocumentHighlightProvider-API hinzugefügt, um Multi-Dokument-Hervorhebungsanbieter zu registrieren. Dies ermöglicht die semantische Hervorhebung von Vorkommen für bestimmte Programmiersprachen. Anbieter geben eine neue MultiDocumentHighlight-Struktur mit einer Map von URI zu DocumentHighlight zurück. Feedback und weitere Updates können über Issue #196354 verfolgt werden.
Technik
Neuer CDN
Wir führen das Deployment auf einen neuen CDN-Endpunkt ein: vscode.download.prss.microsoft.com. Systemadministratoren sollten sicherstellen, dass Netzwerkregeln so konfiguriert sind, dass Datenverkehr von diesem Endpunkt zugelassen wird.
Unterstützung für macOS 10.13 und 10.14 wurde eingestellt
VS Code 1.85 ist die letzte Version, die macOS 10.13 (macOS High Sierra) und 10.14 (macOS Mojave) unterstützt. Weitere Informationen finden Sie in unseren FAQs.
Bemerkenswerte Fehlerbehebungen
- 195796 Das Durchsuchen von Text nach Lokalisierung wird im Einstellungen-Editor nicht unterstützt
- 197319 vscode://file// Links funktionieren nicht mehr
- 194094 Picker für Profilsymbol nicht schließen, wenn die Maus außerhalb des Pickers bewegt wird
- 197070 Unterstützung für die Positionierung der Debug-Symbolleiste in der benutzerdefinierten Titelleiste
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
- @a-stewart (Anthony Stewart): Vereinfachung von
'solid' || ''in viewPaneContainer.ts PR #198515 - @abhijit-chikane (Abhijit Chikane): treeStickyScroll: Standardwert auf Boolean setzen PR #198849
- @amaust (Andrew Maust): Fügt "verifizierte Domain" Kennzeichnung zum URL-Tooltip hinzu PR #197037
- @andrewbranch (Andrew Branch)
- Einstellung zum Bevorzugen von nur Typ-Imports hinzufügen PR #196123
- [typescript-language-features] Fehlende Beschreibung für die Einstellung preferTypeOnlyAutoImports hinzufügen PR #197403
- @arvid220u (Arvid Lunnemark)
- Behebt leere Einstellungen-Seite PR #198261
- Bedingungsnamen zum Zulassen von Nodes aktualisieren PR #198274
- @cobey (Cody Beyer)
- Fehlende py azure Pakete hinzufügen PR #195508
- Cobey: Fehlendes js hinzufügen PR #197600
- @d-mahard (Dipta Mahardhika): chore: Farbvariable für Kommentar-Eingabefeld umbenennen PR #197950
- @elseifthen: Zeilennummern vor Suchergebnissen anzeigen (#_190742) PR #195452
- @gjsjohnmurray (John Murray)
- Schaltfläche "Gruppe sperren" zu Hilfsfenstern hinzufügen (#_182265) PR #182294
- Bedingung und Trefferanzahl bei Daten-Breakpoints unterstützen (Fix #188721) PR #195710
- Redundante Task-Systemmeldung entfernen und frühes Beenden, das FSPs beeinträchtigt (Fix #192490) PR #196247
- Leeres oder mehrdeutiges Repository-Label im Repositories-Untermenü vermeiden (Fix #196613) PR #196623
- Einstellung
typescript.implementationsCodeLens.showOnInterfaceMethodshinzufügen (#_136282) PR #198419 - Veralteten Migrationscode für die Timeline-Einstellung entfernen PR #198542
- Schaltfläche "Alle Diffs reduzieren" zum Multi-Diff-Editor hinzufügen PR #199064
- Multi-Diff-Editor: Aktion "Alle Diffs erweitern" hinzufügen PR #199623
- @gtritchie (Gary Ritchie): Suchsymbol aria-hide PR #197577
- @hamirmahal (Hamir Mahal): feat: Tastenkombinationen für Terminal-Kopierbefehle ermöglichen PR #197099
- @hsfzxjy (Xie Jingyi)
- @installed passt zur Erweiterungsbeschreibung PR #196602
- Cursor setzen beim Klicken auf "Vorherigen/Nächsten Änderung anzeigen" PR #197501
- inlineSuggest.showToolbar.never hinzufügen PR #198227
- @idootop (Del): feat: Einführung neuer Hover-Fokusoptionen für editor.action.showHover PR #196891
- @jsoref (Josh Soref): "Cannot" ausschreiben PR #198377
- @jtbandes (Jacob Bandes-Storch): Swift-Grammatik und Upstream-Repository aktualisieren PR #197470
- @marrej (Marcus Revaj): # Behebt Race-Condition bei Vorschlags-Dropdown/Inline-Vervollständigung bei teilweiser Akzeptanz (über nächstes Token/Zeile) PR #197633
- @marvinruder (Marvin A. Ruder): Bun als Paketmanager zur
npm-Erweiterung hinzufügen PR #198005 - @mrgharabaghi (Mohammad Reza Gharabaghi): Theme-Defaults aktualisieren PR #197449
- @myty (Michael Tyson): Vom Kontextmenü bereitgestelltes Erweiterungs-Terminalprofil verwenden PR #195108
- @n-gist (n-gist): Einstellung für die Steuerung des angehefteten Tab-Buttons (Symbol) hinzufügen PR #196896
- @nolddor (Jack Nolddor): Fix: Fehlende Übersetzung für die Desktop-Aktion "Neue leere Fenster" PR #199129
- @noritada (Noritada Kobayashi): Behebt ein Problem, bei dem \xN8 und \xN9 in Rust-Strings falsch gefärbt werden PR #196198
- @oxcened (Alen Ajam): Fix: Hover nicht verstecken, wenn sich der Modellinhalt des Editors ändert PR #198100
- @PrathamLalwani: Feature "Sprachchat-Hördauer" hinzugefügt PR #197801
- @r3m0t (Tomer Chachamu): [Acc] Tastaturzugängliche Tooltips - Fixes #132344 PR #197965
- @rehmsen (Ole)
- Layout beim Wechseln von "Willkommen" zum Terminal. PR #173368
- Entfernen des Zyklen-Imports browserHostService.ts -> web.api.ts. PR #198221
- xtermTerminal.test.ts hermetisch machen. PR #198403
- @remcohaszing (Remco Haszing): Erhöhen des Ziels von Monaco von es6 auf es2018 PR #192050
- @ronakj (Ronak Jain): Korrigiert die tsconfig-Auflösung für die Navigation PR #192851
- @scripthunter7 (David): TMLanguage-Aliase zu YAML hinzufügen PR #198300
- @SimonSiefke (Simon Siefke)
- Feature: Dateien von der Zwischenablage einfügen können PR #195730
- Fix: Speicherleck in Dropdown-Aktion PR #197769
- Fix: Speicherleck im Kommentierungscontroller PR #198237
- @tisilent (xiejialong)
- Mousedown-, Contextmenu-Events zum Terminal-Finder hinzufügen PR #194817
- Verstecke Zuweisung in _adoptConfiguration* löschen PR #197526
- @WardenGnaw (Andrew Wang)
- Dynamische Konfigurationsanbieter ohne Kontext anzeigen (Datei geöffnet) PR #196768
- Unterstützung für die Ausführung von DebugConfigurations mit serverReadyAction hinzufügen PR #197597
- @zobo (Damjan Cvetko): Fix: Ungültiger endCharacter-Wert im integrierten PHP-Validierungsanbieter PR #196166
Beiträge zu vscode-css-languageservice
- @dyhagho (Dyhagho Briceño): [scss] Pfad-Resolver zur Unterstützung von Teil-Dateien PR #373
Beiträge zu vscode-pull-request-github
- @flpcury (Felipe Cury): Veraltete Nachrichten für createDraft und setAutoMerge korrigieren PR #5429
- @gjsjohnmurray (John Murray): Beschreibung der Einstellung
githubIssues.useBranchForIssuesals Markdown behandeln (Fix #5506) PR #5508 - @kurowski (Brandt Kurowski): Einstellung hinzufügen, um das Ignorieren von PRs für den Standard-Branch niemals anzubieten PR #5435
- @ThomsonTan (Tom Tan): Diffs in jedem aktiven PR der Reihe nach durchlaufen PR #5437