September 2023 (Version 1.83)
Update 1.83.1: Das Update behebt diese Probleme.
Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Willkommen zur September 2023-Version von Visual Studio Code. Es gibt viele Updates in dieser Version, die Ihnen hoffentlich gefallen werden. Einige der wichtigsten Highlights sind:
- Verbesserungen der Barrierefreiheit - Unterstützung für Screenreader für Pull-Request-Kommentare.
- Bessere Suche in der Befehlspalette - Neue Liste "ähnliche Befehle" zur einfacheren Befehlsfindung.
- Benutzerdefinierte Icons für Profile hinzufügen - Anzeige eines Icons zur einfachen Identifizierung des aktiven Profils.
- Kompakte Editor-Tab-Höhe - Reduziert die Tab-Höhe des Editors für einen größeren Editorbereich.
- Dedizierte Reihe für angeheftete Editor-Tabs - Eine neue Reihe für Editor-Tabs unterstützt das Anheften/Lösen per Drag & Drop.
- Zu Symbol in Notebooks gehen - Schnelles Navigieren zu Codesymbolen in Ihrem Notebook.
- Updates für den Python-Debugger - Konfigurieren Sie, ob Sie in System-/Bibliothekscode oder nur in Ihren eigenen Code steppen möchten.
- Vorschau: GitHub Copilot - Testen Sie die Generierung basierend auf aktuellen Framework- und Projektkonventionen.
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.
Barrierefreiheit
Verbesserungen an GitHub Pull Requests und Issues Kommentaren
Die GitHub Pull Requests and Issues-Erweiterung, die es Ihnen ermöglicht, Pull Requests und Issues zu bearbeiten, zu erstellen und zu verwalten, hat in dieser Iteration viele Verbesserungen bei der Barrierefreiheit für das Kommentieren und Überprüfen erfahren.
Ein Screenreader-Benutzer wird beim Öffnen eines Editors informiert, ob dieser Kommentarbereiche enthält. Ein neues Dialogfeld für Barrierefreiheitshilfen (editor.action.accessibilityHelp) bietet Einblicke in Befehle zur Navigation zwischen Kommentar-Threads und -Bereichen.
Zusätzlich ist das Kommentar-Steuerelement jetzt zugänglich. Ein Hilfedialog (editor.action.accessibilityHelp) ist auch in diesem Kontext verfügbar, um einen Benutzer darüber zu informieren, was zu erwarten ist und wie die Funktion genutzt werden kann. Es gibt auch neue Befehle Kommentare: Nächsten Kommentarbereich aufrufen (⌘K ⌥⌘↓ (Windows, Linux Ctrl+K Ctrl+Alt+Down)) und Kommentare: Vorherigen Kommentarbereich aufrufen (⌘K ⌥⌘↑ (Windows, Linux Ctrl+K Ctrl+Alt+Up)) zur Navigation zwischen Kommentarbereichen.
Workbench
Ähnliche Befehlsergebnisse in der Befehlspalette
Das Finden des gewünschten Befehls kann schwierig sein. Allein in VS Code gibt es über 2000 Befehle... und mit Ihren bevorzugten Erweiterungen kann diese Zahl noch weiter steigen. Wir wollten eine Möglichkeit einführen, Ihnen beim Finden dessen, was Sie suchen, zu helfen und gleichzeitig die Geschwindigkeit zu erhalten, die die Befehlspalette heute bietet. Dazu fügen wir einen neuen Abschnitt in den Ergebnissen der Befehlspalette namens "ähnliche Befehle" hinzu. Hier sind einige Beispiele:
Eine Abfrage muss nicht mehr "unscharf" übereinstimmen, um in den Ergebnissen angezeigt zu werden. Zum Beispiel "Toggle Auto Save".

Wenn unscharfe Übereinstimmungen vorhanden sind, werden diese immer noch oben angezeigt, und ähnliche Befehle folgen.

Von Erweiterungen beigesteuerte Befehle werden ebenfalls erfasst.

Wir denken, dass dies denen, die Schwierigkeiten haben, sich den genauen Befehlsnamen zu merken, wirklich helfen wird... seien wir ehrlich, das sind ziemlich wir alle irgendwann einmal.
Dies ist erst der erste Schritt dieser neuen Funktion und erfordert immer noch die Übereinstimmung exakter Wörter in den Befehlsnamen. In Zukunft können Sie Verbesserungen erwarten, wie z. B.:
- Befehlstreffer basierend auf der nicht sichtbaren Beschreibung des Befehls.
- Bessere grundlegende Handhabung von Synonymen ("toggle" und "turn on/off", "show" und "reveal" usw.)
Lassen Sie uns wissen, was Sie denken!
Icons für Profile
Sie können jetzt einem Profil ein Icon zuordnen. Dieses Icon wird in der Aktivitätsleiste anstelle des Manage-Zahnradsymbols angezeigt. Dies ist nützlich, wenn Sie mehrere Profile haben und schnell erkennen möchten, welches Profil gerade aktiv ist.
Das folgende Bild zeigt den Dialog zur Icon-Auswahl beim Erstellen eines neuen Profils.
![]()
Das Icon des aktiven Profils wird dann in der Aktivitätsleiste angezeigt.
![]()
Dichte der Editor-Tab-Höhe
Die Einstellung window.density.editorTabHeight ermöglicht es Benutzern, die Tab-Höhe auf eine kompaktere Größe zu reduzieren.
Standard-Editor-Tab-Höhe

Kompakte Editor-Tab-Höhe

Angeheftete Editor-Tabs in einer separaten Reihe
Eine neue Einstellung workbench.editor.pinnedTabsOnSeparateRow wurde hinzugefügt. Wenn aktiviert, werden angeheftete Tabs in einer separaten Reihe über den anderen Tabs angezeigt. Die Editor-Tabs werden automatisch angeheftet oder gelöst, wenn sie zwischen den Tab-Reihen gezogen werden.

Anpassungen der Suche im Einstellungseditor
Der Einstellungseditor zeigt nun weniger Ergebnisse für eine gegebene Suchanfrage, um Rauschen zu reduzieren. Wenn Sie die GitHub Copilot Chat-Erweiterung installiert haben, werden zusätzlich zu den per Schlüsselwort gefundenen Einstellungen nur die Top-Fünf-Treffer für Copilot Chat-Einstellungen ausgewählt, anstatt der Top-Fünfzehn.
Die Suchergebnisse werden nun auch nach dem Inhaltsverzeichnis des Einstellungseditors geordnet, um häufig verwendete Einstellungen oben anzuzeigen und gefilterte Erweiterungseinstellungen in ihrer ursprünglichen Reihenfolge anzuzeigen. Um die Suchergebnisse wieder nach Übereinstimmungstyp und Punktzahl zu sortieren, setzen Sie die Einstellung workbench.settings.settingsSearchTocBehavior auf "hide", löschen Sie die Suchanfrage und starten Sie eine neue Suche.

Thema: Light Pink (Vorschau auf vscode.dev)
Verbessertes Überlaufverhalten für Editor-Aktionen
Wenn die Anzahl der Editor-Aktionen den verfügbaren Platz übersteigt, laufen die Aktionen in das Menü ... Weitere Aktionen über. Diese Logik wurde verfeinert und einige wichtige Aktionen wie Schließen oder Editor teilen sind nun ausgenommen. Das bedeutet, dass sie immer sichtbar sind, auch wenn der verfügbare Platz begrenzt ist.
Farbthemenauswahl zeigt jetzt die Themenkennung
Die Auswahl der Farbthemen zeigt nun den lokalisierten Namen des Farbthemas und daneben seine Zeichenkettenkennung an. Dies wurde getan, um Benutzern zu helfen, die eine nicht-englische Sprachpaket verwenden, aber nur den englischen Namen des Themas kennen.

Kommentare
Der Kommentar-Editor wird in Erweiterungen wie der GitHub Pull Request and Issues-Erweiterung verwendet, wo er Pull-Request-Kommentare anzeigt.
Größe des Kommentar-Editors
Der Kommentar-Editor erweitert sich nun, wenn Zeilen hinzugefügt werden, bis zu einer maximalen Höhe, die von der Größe des Editors abhängt, in dem sich der Kommentar befindet.

Öffnen der Kommentaransicht bei ungelösten Kommentaren
Die Einstellung comments.openView hat einen neuen möglichen Wert firstFileUnresolved. Wenn firstFileUnresolved eingestellt ist, öffnet sich die Kommentaransicht beim ersten Mal pro Sitzung, wenn eine Datei mit ungelösten Kommentaren geöffnet wird.
Automatisch aufgelöste Kommentare einklappen
Standardmäßig wird nun ein Kommentar-Thread eingeklappt, wenn er aufgelöst wird. Diese Funktion kann mit der Einstellung "comments.collapseOnResolve" deaktiviert werden.
Editor
Code-Aktionen beim Speichern und automatisches Speichern
Sie können nun Code-Aktionen beim automatischen Speichern im Editor aktivieren. Dies löst Code-Aktionen aus, wenn Sie mit onWindowChange oder onFocusChange speichern oder automatisch speichern (Fensterwechsel/Fokuswechsel). Um diese Funktion zu aktivieren oder Ihre aktuellen Einstellungen zu aktualisieren, überprüfen Sie Editor: Code Actions On Save (editor.codeActionsOnSave) und ändern Sie die Einstellung jeder Code-Aktion auf always.
Die Einstellungswerte wurden ebenfalls aktualisiert, wobei die aktuellen booleschen Werte zugunsten der Zeichenkettenäquivalente als veraltet markiert wurden.
Die Optionen sind
explicit: Löst Code-Aktionen bei explizitem Speichern aus. Entsprichttrue.always: Löst Codeaktionen beim expliziten Speichern und bei Autosaves aufgrund von Fenster- oder Fokuswechseln aus.never: Löst niemals Codeaktionen beim Speichern aus. Gleiche Funktionalität wiefalse.
Boolesche Werte werden in dieser Version immer noch unterstützt.
Notebooks
Zu Symbol in Notebooks gehen
Wenn notebook.gotoSymbols.showAllSymbols aktiviert ist, wird die Schnellsuche Zu Symbol gehen mit allen Codesymbolen im Notebook gefüllt.
Scrollen bei Zellausführung
Sie können jetzt konfigurieren, wie viel der nächsten Zelle sichtbar ist, wenn Sie notebook.cell.executeAndSelectBelow mit Shift+Enter mit der Einstellung notebook.scrolling.revealNextCellOnExecute ausführen.
fullCell- Die vollständige nächste Zelle (Standard).firstLine- Nur die erste Zeile.none- Überhaupt nicht scrollen.
"notebook.scrolling.revealNextCellOnExecute": "firstLine" wird unten gezeigt.
Unterstützung für das Zuschneiden von Leerzeichen
Notebooks berücksichtigen nun die drei vorhandenen Leerzeichen-bezogenen Einstellungen:
files.trimTrailingWhitespace- Entfernt Leerzeichen am Ende beim Speichern einer Datei.files.trimFinalNewlines- Entfernt alle Leerzeilen nach der letzten Leerzeile in einer Datei.files.insertFinalNewline- Fügt am Ende einer Datei automatisch eine abschließende Leerzeile ein.
Diese Einstellungen werden beim Speichern angewendet, einschließlich des automatischen Speicherns.
Finalisierte Notebook Code Action API
Notebooks unterstützen nun vollständig beigesteuerte Code-Aktionen und verfügen über eine eigene Code-Action-Art zur Unterstützung. Wenn ein Erweiterungsautor eine Aktion mit einer kind mit dem Präfix notebook.source. definiert, führt der Notebook-Editor diese bereitgestellte Aktion beim Speichern für das gesamte Notebook aus, anstatt für jede Zelle einzeln. Um die beim Speichern auszuführenden Code-Aktionen zu bearbeiten, können Sie Notebook: Code Actions on Save im Einstellungseditor einstellen oder "notebook.codeActionsOnSave" in Ihrer settings.json-Datei bearbeiten.
Die aktuellen Aktivierungen für Code-Aktionen wurden aktualisiert, wobei die vorherigen booleschen Werte zugunsten von Enumerationsäquivalenten als veraltet markiert wurden. Die Optionen sind:
"explicit": Löst Code-Aktionen bei explizitem Speichern aus. Entsprichttrue."never": Löst niemals Code-Aktionen beim Speichern aus. Entsprichtfalse.
Eine dritte Option "always" wird bald verfügbar sein, um die Editor-Code-Aktionen vollständig abzugleichen, sodass Benutzer Notebook-Code-Aktionen basierend auf den Einstellungen für automatisches Speichern onFocusChange und onWindowChange auslösen können.
Sprachen
Perl 6/Raku
Die Perl 6-Sprache wurde in Raku umbenannt (Sprachkennung raku) und Raku wird automatisch als Sprache für .raku-Dateien ausgewählt.
Debuggen
JavaScript Debugger
WebAssembly-Debugging
Der JavaScript-Debugger kann nun Code debuggen, der in WebAssembly kompiliert wurde, wenn dieser DWARF-Debug-Informationen enthält. Zum Beispiel kann C++-Code, der mit Emscripten kompiliert wurde, debuggt werden.

Theme: Codesong (Vorschau auf vscode.dev)
Um dies zu ermöglichen, sollten Sie die WebAssembly DWARF Debugging-Erweiterung installieren, die sich in den integrierten JavaScript-Debugger einklinkt. Lesen Sie mehr darüber in Debugging WebAssembly.
WebAssembly-Debugging basiert auf der C/C++ Debugging Extension der Chromium-Autoren und wurde mit deren Unterstützung ermöglicht.
Verbesserte Ansicht des Aufrufstapels
Methoden und Funktionen in der Ansicht Aufrufstapel enthalten nun den Namen des Funktions-(this)-Kontextes. Zum Beispiel wird ein Aufrufstapel für die Methode bar der Klasse Foo nun als Foo.bar angezeigt.
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.
Diese Version fügt die Möglichkeit hinzu, sich mit Dev Containern über Tunnels zu verbinden, ähnlich wie über SSH. Mehr über diese neue Funktion erfahren Sie in den Remote Development Release Notes.
Beiträge zu Erweiterungen
GitHub Copilot
Verbesserungen an /tests
Wir haben /tests für die Chat-Ansicht und den Inline-Chat, der mit der GitHub Copilot Chat-Erweiterung verfügbar ist, verbessert. Der Slash-Befehl /test erkennt nun besser das von Ihnen verwendete Test-Framework und generiert neue Tests im gleichen Stil. Außerdem sollte er viel besser bei der Namensgebung für neue Testdateien sein, wie z. B. test_foo.py für foo.py und bar.test.js für bar.js.
Inline-Chat wird mehrstufig
Der Inline-Chat behält nun alle Prompts der aktuellen Sitzung bei, was es Ihnen ermöglicht, auf frühere Nachrichten zu verweisen und auf Fragen zu antworten.
In dem kurzen Video unten erinnert sich der Inline-Chat daran, dass der Benutzer angegeben hat, in Tokio ansässig zu sein, wenn er einen Codeausschnitt zur Berechnung der lokalen Zeit und des Zeitunterschieds zu Zürich bereitstellt.
Ask GitHub Copilot nutzt standardmäßig die Chat-Ansicht
Vor ein paar Monaten haben wir eine Option Ask GitHub Copilot in der Befehlspalette eingeführt, damit Sie Ihre Abfrage in der Befehlspalette an Copilot Chat übergeben können, wenn die Befehlspalette keine nützliche Antwort liefert.
Wir haben Feedback gesammelt, wo die bevorzugte Erfahrung für Ask GitHub Copilot sein sollte: die Chat-Ansicht in der Seitenleiste oder der Schnell-Chat. Um die erstmalige Erfahrung vertrauter zu gestalten, haben wir uns für die Chat-Ansicht entschieden.
Wenn Sie möchten, dass Ask GitHub Copilot im Schnell-Chat geöffnet wird, können Sie das Verhalten mit der Einstellung askChatLocation ändern.
"workbench.commandPalette.experimental.askChatLocation": "quickChat"
Ähnliche Befehle in der Befehlspalette
In dieser Iteration haben wir die Funktion ähnliche Befehle in der Befehlspalette veröffentlicht. Copilot Chat-Benutzer erhalten eine noch bessere Erfahrung mit ähnlichen Befehlen, da wir Copilot AI nutzen können, um die Ähnlichkeit zu bestimmen. Diese Intelligenz hilft bei Synonymen und Absichten, und in unseren Tests konnte Copilot die Ähnlichkeit auch über gesprochene Sprachen hinweg bewältigen. Das Finden des exakten Befehls, den Sie suchen, in der Befehlspalette war noch nie einfacher!
Jupyter
Finalisierte Jupyter Server Provider API für Erweiterungsautoren
Die API der Jupyter-Erweiterung zur Bereitstellung von Jupyter-Servern wurde finalisiert. Erweiterungen können die API verwenden, um eine Liste benutzerdefinierter Jupyter-Server bereitzustellen, die im Kernel Picker angezeigt werden.
Beispiele für die API-Nutzung finden Sie im Jupyter Server Provider Sample. Die JupyterHub-Erweiterung nutzt ebenfalls dieselbe API.
Das npm-Paket @vscode/jupyter-extension enthält alle TypeScript-Typdefinitionen.
JupyterHub-Erweiterung
Es gibt jetzt eine JupyterHub-Erweiterung, die das Anmelden bei JupyterHub und die Ausführung von Code gegen Kernel aus einem Notebook oder einem interaktiven Fenster in VS Code unterstützt. Diese Erweiterung funktioniert auch im Browser in vscode.dev und github.dev.
Wenn Sie Probleme mit dieser neuen Erweiterung haben oder Feedback geben möchten, können Sie ein Problem im GitHub-Repository der JupyterHub-Erweiterung melden.

Python
Updates für den Python-Debugger
Die Debugpy-Erweiterung, die vor einigen Monaten angekündigt wurde, wurde in Python Debugger umbenannt, um die Auffindbarkeit im Marketplace zu verbessern.
Diese Erweiterung enthält nun eine neue Benutzereinstellung debugpy.debugJustMyCode, die, wenn sie deaktiviert ist, es Ihnen ermöglicht, in System- oder Drittanbieter-Bibliotheks-Code für alle Ihre Anwendungen zu steppen (standardmäßig steppt der Debugger nur in den Code, der in Ihrem eigenen Python-Code definiert ist). Dies war eine beliebte Feature-Anfrage für diejenigen, die justMyCode bequem für alle ihre Projekte deaktivieren wollten, anstatt es manuell in den launch.json-Debug-Konfigurationen aller ihrer Projekte konfigurieren zu müssen.
Um es auszuprobieren, stellen Sie sicher, dass Sie die Python Debugger-Erweiterung installiert haben. Öffnen Sie dann den Einstellungseditor (⌘, (Windows, Linux Ctrl+,)), suchen Sie nach "debugJustMyCode" und deaktivieren Sie das Kontrollkästchen.

Nun verwendet die Erweiterung standardmäßig den Wert von debugpy.debugJustMyCode, sobald Sie eine launch.json-Datei erstellen, solange justMyCode nicht darin angegeben ist. Beachten Sie, dass, wenn justMyCode in launch.json angegeben ist, sein Wert Vorrang vor der Einstellung debugpy.debugJustMyCode hat.
Linting bei Änderung für die Pylint-Erweiterung
Standardmäßig meldet die Pylint-Erweiterung Fehler und Warnungen nur, wenn eine Datei gespeichert wird. Es gibt nun eine neue Einstellung namens pylint.lintOnChange, die, wenn sie auf true gesetzt ist, die Erweiterung anweist, Fehler und Warnungen während der Eingabe zu melden, ohne die Datei speichern zu müssen.
Mypy-Erweiterung: Meldebereich und Daemon-Modus
Die Mypy Type Checker-Erweiterung hat nun zwei neue Einstellungen, mit denen Sie den Meldebereich von Mypy und die Verwendung von Mypys Daemon festlegen können.
Die erste ist mypy-type-checker.reportingScope, die auf file (Standard) gesetzt werden kann, um Probleme nur für geöffnete Dateien im Workspace zu melden, oder workspace, um die Meldung für alle Dateien im Workspace zu ermöglichen.
Die zweite ist mypy-type-checker.preferDaemon, die, wenn sie auf true gesetzt ist, Mypys Daemon (dmypy) anstelle von Mypy selbst (mypy) zur Durchführung der Typüberprüfung verwendet, was in einigen Szenarien wesentlich schneller sein kann.
Update zur Einstellung für Inline-Hinweise für Aufrufargumente
Zuvor konnte die Einstellung von Pylance zur Aktivierung von Inline-Hinweisen für teilweise Aufrufargumente (python.analysis.inlayHints.callArgumentNames) nur auf true oder false gesetzt werden, um Typ-Hinweise für Aufrufargumente zu aktivieren oder zu deaktivieren. Diese Einstellung wurde modifiziert, um eine granularere Steuerung der für Aufrufargumente angezeigten Typ-Hinweise zu ermöglichen.
Sie kann nun auf partial gesetzt werden, um Hinweise für positionsbezogene und schlüsselwortbezogene Parameter zu deaktivieren, all, um sie zu aktivieren, oder off, um sie vollständig zu deaktivieren.
Einstellung der Unterstützung für Python 3.7
Wie bereits in unserem Blog zur Juli 2023-Version erwähnt, haben wir die offizielle Unterstützung für Python 3.7 in der Python-Erweiterung eingestellt. Es gibt keine Pläne, die Unterstützung für Python 3.7 aktiv zu entfernen, und so erwarten wir, dass die Erweiterung in absehbarer Zukunft weiterhin inoffiziell mit Python 3.7 funktionieren wird.
Beachten Sie, dass alle anderen Python-Versionen nun im Jahresrhythmus veröffentlicht werden. Daher erwarten wir, die offizielle Unterstützung für eine Python-Version einzustellen, sobald diese das Ende des Lebenszyklus erreicht, in der ersten Erweiterungsversion des folgenden Kalenderjahres (z. B. wird Python 3.8 im Oktober 2024 das Ende des Lebenszyklus erreichen, sodass die erste Erweiterungsversion im Jahr 2025 die offizielle Unterstützung einstellt).
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.
- Die Barrierefreiheit für die Überprüfung von PRs wurde verbessert.
- Commits werden in der Erstellungsansicht angezeigt, auch wenn der Branch noch nicht veröffentlicht wurde.
Lesen Sie das Changelog für die Version 0.74.0 der Erweiterung, um mehr über die anderen Highlights zu erfahren.
Vorschau-Features
Tastenkombination für "Schnellkorrektur in der Nähe"
Es gibt eine neue Einstellung, um die nächste Schnellkorrektur in einer Zeile von ⌘. (Windows, Linux Ctrl+.) (Befehls-ID editor.action.quickFix) zu aktivieren, egal wo sich Ihr Cursor in dieser Zeile befindet.
Der Befehl hebt den Quellcode hervor, der mit Schnellkorrekturen refaktorisiert oder behoben wird. Normale Code-Aktionen und Nicht-Fix-Refactorings können weiterhin an der Cursorposition aktiviert werden. Um diese Funktion zu aktivieren, aktivieren Sie Code Action Widget: Nearby Quickfixes einschließen (editor.codeActionWidget.includeNearbyQuickfixes).

Quellcodeverwaltungssynchronisationsansicht
Die Veröffentlichung dieses Meilensteins enthält eine frühe Version der Ansicht Quellcodeverwaltungssynchronisation. Die neue Ansicht bietet Details zu lokalen Änderungen, die noch nicht auf den Remote-Branch gepusht wurden (ausgehend) und Änderungen, die noch nicht vom Remote-Branch lokal heruntergezogen wurden (eingehend). Die Ansicht ermöglicht es Ihnen auch, einen Branch zu veröffentlichen und Änderungen mit einem Remote-Branch zu synchronisieren (pull/push). Die neue Ansicht ist noch experimentell und wir werden sie in den kommenden Meilensteinen basierend auf Benutzerfeedback weiter verbessern. Sie können die neue Ansicht über die Einstellung scm.experimental.showSyncView anzeigen. Bitte probieren Sie sie aus und geben Sie Feedback in Issue #192290.

Befehlszentrum und Debugging-Symbolleiste
Es gibt eine neue experimentelle Einstellung, um die Debugging-Symbolleiste innerhalb des Befehlszentrums anzuzeigen. Stellen Sie sicher, dass das Befehlszentrum aktiviert ist, und konfigurieren Sie die Einstellung debug.debugToolbarLocation.
"debug.toolBarLocation": "commandCenter"

Thema: GitHub Light Colorblind (Beta) (Vorschau auf vscode.dev)
Erweiterungsentwicklung
Unterstützung für Unicode-Zeichenklassen-Escape-Sequenzen für die Validierung von Zeichenketten-Einstellungen
Unicode-Zeichenklassen-Escape-Sequenzen werden nun in regulären Ausdrücken unterstützt, um Zeichenketten- und Zeichenketten-Array-Einstellungen zu validieren. Mit anderen Worten, Zeichenketten- und Zeichenketten-Array-Einstellungen können nun ein Feld pattern mit einem Wert wie "\\p{Letter}+" haben, was Zeichenkettenwerte zulässt, die nur Buchstaben enthalten.
Die Unterstützung für Unicode-Zeichenklassen-Escape-Sequenzen ist derzeit nicht für Objekt-Einstellungen mit Zeichenkettenwerten verfügbar.
Beitrag zu Terminal-Menüs
Es gibt zwei neue Menüs, die zu terminal/context und terminal/title/context beigesteuert werden können, welche Einträge zum Kontextmenü des Terminals bzw. zum Kontextmenü des Terminal-Tabs hinzufügen. Beispielanwendung:
{
"contributes": {
"menus": {
"terminal/context": [
{ "command": "terminalTest.sendText" }
],
"terminal/title/context": [
{ "command": "terminalTest.sendText" }
]
}
}
}
Neues env.onDidChangeShell-Ereignis
Es gibt ein neues Ereignis env.onDidChangeShell: Event<string>, das ausgelöst wird, wenn sich der Wert von env.shell ändert.
keytar aus VS Code entfernt
Bereits im Juni haben wir die SecretStorage-API auf die Verwendung der safeStorage-API von Electron umgestellt und einen Abkündigungs- und Entfernungsplan für das nun archivierte und nicht mehr gewartete Modul keytar aus VS Code mitgeliefert. Wir haben keytar zunächst nicht entfernt, da einige Erweiterungen keytar immer noch direkt importiert/angefordert haben (dies wurde vor der Existenz der SecretStorage-API empfohlen, aber nicht danach).
Basierend auf Telemetriedaten und Insiders-Builds ohne keytar ist die Nutzung von keytar zurückgegangen, und wir sind bereit, keytar vollständig aus VS Code zu entfernen.
Was bedeutet das für meine Erweiterung?
Wenn Sie die SecretStorage-API verwenden, nichts. Wir migrieren Geheimnisse seit Juni aus keytar, sodass alle Ihre Geheimnisse bereits migriert sein sollten, wenn sie im Zeitraum von zwei Monaten berührt wurden.
Wenn Sie keytar immer noch direkt in Ihrer Erweiterung verwenden, gibt es einige Optionen, die Sie in Betracht ziehen können:
- (empfohlen) Verwenden Sie die SecretStorage-API, die VS Code auf dem ExtensionContext bereitstellt. Diese API ist plattformübergreifend und funktioniert auf allen von VS Code unterstützten Plattformen. Sie wird auch vom VS Code-Team gepflegt, wird weiterhin gepflegt und ist bereits seit Jahren Teil der VS Code-API.
- (nicht empfohlen) Sie können das keytar-Modul mit Ihrer Erweiterung bündeln. Beachten Sie, dass
keytarein natives Node-Modul ist, was bedeutet, dass Sie eine plattformspezifische Erweiterung veröffentlichen müssen, für jede Plattform, die Sie unterstützen möchten.
--disable-keytar wird in --use-inmemory-secretstorage umbenannt
Das Flag --disable-keytar deaktivierte die Persistenz von Geheimnissen auf dem Rechner, wenn die SecretStorage-API verwendet wurde. Dies wurde hauptsächlich in CI-Umgebungen verwendet, die oft keinen Keyring konfiguriert hatten, da VS Code ohne ihn einen Fehler auswarf, wenn die SecretStorage-API ohne einen verfügbaren Keyring verwendet wurde.
Da wir keytar entfernt haben, musste dieses Flag einen neuen Namen erhalten. Wir haben nun --disable-keytar als veraltet markiert und bevorzugen --use-inmemory-secretstorage. In Zukunft werden wir erwägen, --disable-keytar zu entfernen, aber es wird in naher Zukunft nicht verschwinden.
Schließlich möchten wir allen unglaublichen Erweiterungsautoren danken, die schnell gehandelt haben, um von keytar wegzukommen und sicherzustellen, dass ihre Benutzer eine großartige und sichere Erfahrung mit Geheimnissen in VS Code haben!
Language Server Protocol
Neue Versionen der Language Server Protocol npm-Pakete wurden veröffentlicht (protocol@3.17.5, client@9.0.1 und server@9.0.1).
Highlights der Veröffentlichung sind:
-
Vorgeschlagene Inline-Vervollständigungsanfrage hinzugefügt.
-
Vorgeschlagene Anfrage für Formatierungsbereiche hinzugefügt.
-
Vorgeschlagene Aktualisierungsanfrage für Faltbereiche hinzugefügt. Dies hat die Struktur des Faltbereichs-Features geändert, da die API den Event-Emitter freigeben muss und dies eine Breaking Change ist. Um zum Provider zu gelangen, müssen Sie nun den folgenden Code verwenden:
client.getFeature(lsclient.FoldingRangeRequest.method).getProvider(document)?.provider; -
Verschiedene Fehlerbehebungen.
Technik
Erkundung von schwebenden Editor-Fenstern
Wir haben begonnen zu untersuchen, wie Redakteure aus dem Workbench-Fenster in eigene Fenster herausgezogen werden können. Dieses Feature ist unser am höchsten bewerteter Feature-Wunsch, und wir planen, eine erste funktionierende Version für unsere Insiders-Benutzer im Oktober bereitzustellen.
Alle Editoren über alle Fenster hinweg arbeiten an denselben zugrunde liegenden Editor-Modellen, sodass Änderungen, die in einem Fenster vorgenommen werden, live in allen anderen Fenstern widergespiegelt werden. Sie können jedes Editor-Layout in den schwebenden Fenstern erstellen und jeden Editor öffnen, den Sie möchten, in beliebig vielen Fenstern.
Für unsere erste funktionierende Version stellen wir uns vor, dass die Statusleiste ebenfalls in den schwebenden Fenstern vorhanden sein wird, sodass Editorinformationen – wie Zeilennummern und ausgewählte Bereiche – angezeigt werden. Bleiben Sie dran für weitere Entwicklungen in den kommenden Monaten!
vscode.dev ist jetzt Cross-Origin-Isolated
Cross-Origin-Isolation ist nun für vscode.dev aktiviert. Dies ermöglicht neue leistungsstarke Funktionen wie Shared Array Buffers, die die Grundlage für cross-file TypeScript-Unterstützung, Python-Ausführung im Web und vscode-wasm-wasi im Allgemeinen bilden.
Fehlerbehebung bei der Synchronisierung von Einstellungen
Wir haben einen neuen Entwicklerbefehl Entwickler: Aktivität der Einstellungen-Synchronisation herunterladen hinzugefügt, der Ihre gesamte Einstellungen-Synchronisation-Aktivität herunterlädt, sowohl in der Cloud als auch auf Ihrem lokalen Rechner, einschließlich der Protokolle. Dies wird uns helfen, Probleme mit der Einstellungen-Synchronisation zu beheben. Wir haben auch eine neue Ansicht erstellt, um die heruntergeladene Aktivität zu durchsuchen. Sie können die Ansicht öffnen, indem Sie den Befehl Einstellungen-Synchronisation: Synced Data anzeigen ausführen und die Ansicht SYNC ACTIVITY (DEVELOPER) aktivieren. Sie können die heruntergeladene Sync-Aktivität laden, indem Sie die Schaltfläche Sync Activity laden in der Ansicht auswählen, wie unten gezeigt.

Bemerkenswerte Fehlerbehebungen
- 190679 Thema-Farbe icon.foreground ist inkonsistent und funktioniert nicht mit
.svg
Vielen Dank
Last but not least, ein großes Danke an die Mitwirkenden von VS Code.
Fehlerverfolgung
Beiträge zu unserer Fehlerverfolgung
- @gjsjohnmurray (John Murray)
- @IllusionMH (Andrii Dieiev)
- @starball5 (starball)
- @ArturoDent (ArturoDent)
- @tamuratak (Takashi Tamura)
- @codespearhead (Code Spearhead)
Pull-Anfragen
Beiträge zu vscode
- @antonioprudenzano (Antonio Prudenzano): fügte focus_in und focus_out Ereignisse nur für HTMLElement-Elemente hinzu PR #181761
- @AVividLight (Michael Bethke): Korrigiert Minimap AutoHide mit zusammenlaufenden StickyScroll-Zeilen PR #188499
- @balaji-sivasakthi (Balaji Sivasakthi): Gelöste Konflikte zwischen System High Contrast (HC) und VS Code High Contrast im ExtensionEditor PR #189773
- @bricker (Bryan Ricker): Korrigiert Tippfehler in der Beschreibung für die Konfiguration
terminal.integrated.environmentChangesRelaunchPR #191841 - @ChaseKnowlden: Banner für macOS 10.13 und 10.14 hinzugefügt PR #192928
- @Connormiha (Mikhail): Vereinfacht das Abrufen von rangesToUpdate PR #192079
- @gabritto (Gabriela Araujo Britto)
- Benutzerdefinierte Node-Option zum Ausführen von TS Server hinzugefügt PR #191019
- [typescript-language-features] Option zum Ausschließen von Bibliotheksymbolen in "Zu Symbol im Workspace gehen" hinzugefügt PR #192798
- @gjsjohnmurray (John Murray)
- Tab-Trennzeichen-Einstellung verwies zweimal auf dieselbe Einstellung (Fix #192497) PR #192577
- Verbesserte Nachrichten bei leerer Zeitachse (#_169205) PR #193369
- @hamirmahal (Hamir Mahal): feat: Befehl und Ausgabe im integrierten Terminal kopieren PR #192217
- @hsfzxjy (hsfzxjy): Schnelleres __vsc_escape_value für bash PR #190899
- @jeanp413 (Jean Pierre)
- Korrigiert, dass die relative Größe von Terminalgruppen nicht beibehalten wird PR #192519
- Korrigiert, dass das Kontextmenü des Terminals nach Ausführung einer Aktion nicht ausgeblendet wird PR #193314
- @justanotheranonymoususer
- Überflüssiges Argument in git smoke.test.ts entfernt PR #173194
- Git API-Nutzung verdeutlicht PR #174222
- @khubaibalam2000 (KhubaibAlam): Hyperlink zu Hot Exit für weitere Details hinzugefügt PR #193354
- @lukaszsamson (Łukasz Samson): Ungültige Übereinstimmung beim DAP-Ereignis
exitedbehoben PR #192117 - @NikoRaisanen (Niko Raisanen): Korrigiert: _sequence nicht auf undefined setzen, wenn der Pfadtitel kein Windows-Pfad ist PR #193232
- @qingpeng9802 (Qingpeng Li): Verbesserung der Robustheit von
es5ClassCompatPR #163541 - @rebeccadee (Rebecca Dodd): Aktualisierte Bezeichnung des "info-needed"-Labels in der Dokumentation für Mitwirkende PR #182528
- @sandersn (Nathan Shively-Sanders): Copilot-basierte TS-Refactorings PR #192602
- @sbmelvin (Stephen Melvin): Korrigiert: Importpfade werden nicht aktualisiert, wenn mehrere Dateien verschoben werden PR #191403
- @troy351: Fallback für CSS-Variable --vscode-sash-hover-size hinzugefügt PR #187678
- @WardenGnaw (Andrew Wang)
- Unterstützung für Debugger-Typ für selectAndStartDebugging hinzugefügt PR #193156
- Unterstützung zum De-Emphasizing von Debuggern in der Ausführungsliste hinzugefügt PR #193157
- @weartist (Hans)
- Openview anpassen PR #191907
- Fülltext für Auswahl für schnelle Suche hinzufügen PR #191956
- @wickles: Mehr Scoop Git Bash Pfade erkennen PR #192085
- @yiliang114 (易良): Fix: Schließt #191880, Behebt das Problem, dass Befehle nach Lokalisierung nicht mehr über Stichwörter gesucht werden können PR #191953
- @ykrx (Yulian Kraynyak): Info-Markierung zur Minimap hinzufügen PR #189282
Beiträge zu vscode-css-languageservice
- @romainmenke (Romain Menke): Unterstützung für
::slotted,:host,:host-context,:nth-child(1n of .foo)und:nth-last-child(1n of .foo)hinzufügen PR #356
Beiträge zu vscode-html-languageservice
- @johnsoncodehk (Johnson Chu): Implementierung von
findDocumentSymbols2()PR #152
Beiträge zu vscode-languageserver-node
- @AviVahl (Avi Vahl): Fix: Sicherstellen, dass Bundler die ESM-Version berücksichtigen PR #1326
Beiträge zu vscode-pull-request-github
- @hsfzxjy (hsfzxjy): Schaltfläche zum Aktualisieren im Kopf der Kommentar-Thread hinzufügen PR #5229