Juli 2023 (Version 1.81)
Update 1.81.1: Das Update behebt diese Probleme.
Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Willkommen zur Juli 2023-Version von Visual Studio Code. Diese Version enthält viele Updates, die Ihnen hoffentlich gefallen werden. Hier sind einige der wichtigsten Highlights:
- Barrierefreiheitsverbesserungen - Unterstützung für die Barrierefreiheitsansicht für Benachrichtigungen, Chat-Antworten und Hover-Informationen.
- VS Code-Profile - Feinere Kontrolle mit teilweisen Profilen und Optionen zum "Übernehmen für alle Profile".
- Neue Funktionen des Diff-Editors - Unveränderte Regionen einklappen, bessere Textausrichtung der Diff-Regionen.
- Git-Repositorys mit symbolischen Links - Unterstützung für Repository-Pfade mit symbolischen Links.
- Notebook-Updates - Suche nach Text in geschlossenen Notebooks, "Sticky Scroll" zeigt Markdown-Header an.
- Python-Testerkennung - Fehlerverzeihende Pytest-Erkennung läuft über alle Dateien hinweg.
- Zugriff auf Jupyter-Server in GitHub Codespaces - Verbindung zu einem entfernten Jupyter-Server in einem Codespace.
- GitHub Pull Request-Erstellung - Bessere Erkennung des Basis-Branches, Speichern früherer Optionen zum Erstellen von PRs.
- Vorschau: GitHub Copilot UX - Verbesserungen am Quick Chat, iterativer /fix-Befehl.
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 der Barrierefreiheitsansicht
Der Befehl Barrierefreiheitsansicht öffnen (⌥F2 (Windows Alt+F2, Linux Shift+Alt+F2)) ermöglicht Screenreader-Benutzern die Inspektion von Inhalten Zeichen für Zeichen, Zeile für Zeile. In der letzten Iteration haben wir Barrierefreiheitsansichten für Editor-Hover und Chat-Panel-Antworten hinzugefügt.
Es gibt jetzt Barrierefreiheitsansichten für Benachrichtigungen, Inline-Chat-Antworten, Jupyter-Notebook-Ausgaben und Workbench-Hover.
Wenn ein Element, das eine Barrierefreiheitsansicht bietet, den Fokus hat, wird ein Hinweis im ARIA-Label gegeben. Dieser Hinweis kann pro Feature über die Einstellung accessibility.verbosity deaktiviert werden.
Es gibt die Befehle Nächstes in Barrierefreiheitsansicht (⌥] (Windows, Linux Alt+]) und Vorheriges in Barrierefreiheitsansicht (⌥[ (Windows, Linux Alt+[)) zur einfachen Navigation zwischen Elementen im Chat-Panel und der Benachrichtigungsliste.
Symbolinformationen in der Breadcrumb-Navigation
Nach der Verwendung des Befehls Breadcrumbs fokussieren und auswählen (breadcrumbs.focusAndSelect) enthält die Breadcrumb-Navigation nun Symbolinformationen für Screenreader.
Konsistenz bei Eingabesteuerelementen und Ergebnisnavigation
Die Erfahrung beim Navigieren zwischen einem Eingabefeld (z. B. Such- oder Filterfeld) und seinen Ergebnissen ist jetzt konsistent in der Erweiterungsansicht, im Editor für Tastenkombinationen und in den Panels "Kommentare", "Probleme" und "Debug-Konsole" unter Verwendung von (⌘↓ (Windows, Linux Ctrl+Down)) und (⌘↑ (Windows, Linux Ctrl+Up)).
Zugänglicher Diff-Viewer
Im Diff-Editor wurde die Diff-Review-Leiste in Zugänglicher Diff-Viewer umbenannt. Der zugängliche Diff-Viewer behebt Barrierefreiheitsmängel des Diff-Editors und kann mit F7 oder dem Befehl Zugänglichen Diff-Viewer öffnen aus dem Menü Weitere Aktionen des Diff-Editors geöffnet werden. Neben dieser Umbenennung haben wir auch einige Fehler behoben und neue Funktionen hinzugefügt, wie z. B. das Starten des Dialogfelds "Barrierehilfe" oder das Springen zum geänderten Editor vom Viewer aus.
Profile
Unterstützung für partielle Profile
Sie können jetzt ein Profil erstellen, in dem Sie nur eine Teilmenge von Konfigurationen (Einstellungen, Tastenkombinationen, Snippets, Tasks und Erweiterungen) anpassen. Sie können beispielsweise ein Profil mit allen Konfigurationen außer Tastenkombinationen erstellen, und VS Code wendet die Tastenkombinationen des Standardprofils an, wenn dieses Profil aktiv ist.
Im Screenshot Neues Profil erstellen unten ist Tastenkombinationen nicht angekreuzt und eine Meldung Verwendet Standardprofil wird angezeigt. Alle Tastenkombinationen, die während dieser VS Code-Sitzung aktiv waren, werden nicht auf das neue Profil angewendet.

Sie können auch ein partielles Profil erstellen, wenn Sie aus einer Profilvorlage oder einem vorhandenen Profil kopieren, indem Sie das Dropdown-Menü Kopieren von verwenden.

Sie können auch ein vorhandenes Profil so konfigurieren, dass es Konfigurationen aus dem Standardprofil verwendet, indem Sie das Profil in der Benutzeroberfläche Profil bearbeiten bearbeiten.

Beim Exportieren eines partiellen Profils können Sie wählen, ob nur die im Profil angepassten Konfigurationen exportiert werden sollen oder auch die Konfigurationen aus dem Standardprofil.

Eine Einstellung auf alle Profile anwenden
Sie können jetzt eine Einstellung auf alle Profile anwenden, indem Sie die Option Einstellung auf alle Profile anwenden im Einstellungseditor auswählen.

Dadurch wird der Wert der Einstellung auf alle Profile angewendet. Alle Aktualisierungen dieser Einstellung aus einem beliebigen Profil werden auf alle Profile angewendet. Sie können diese Synchronisierung rückgängig machen, indem Sie die Option Einstellung auf alle Profile anwenden deaktivieren.
Eine Erweiterung auf alle Profile anwenden
Sie können jetzt eine Erweiterung in allen Profilen einschließen, indem Sie die Option Erweiterung auf alle Profile anwenden in der Erweiterungsansicht auswählen.

Dadurch ist diese Erweiterung in allen Profilen verfügbar. Sie können dies rückgängig machen, indem Sie die Option Erweiterung auf alle Profile anwenden deaktivieren.
Befehl-IDs in der Datei "settings.json" für Nicht-Standardprofile angepasst
Der Befehl Einstellungen: Benutzer-Einstellungen (JSON) öffnen (workbench.action.openSettingsJson) öffnet nun die profilspezifische JSON-Einstellungsdatei, wenn ein Benutzer sich in einem Nicht-Standardprofil befindet. Um anwendungsweite Einstellungen anzuzeigen, verwenden Sie stattdessen den Befehl Einstellungen: Anwendungs-Einstellungen (JSON) öffnen (workbench.action.openApplicationSettingsJson).
Workbench
Release Notes für das kommende Update
Immer wenn ein monatliches stabiles Update zur Installation bereit ist, können Sie die Release Notes jetzt über den Befehl Release Notes zur Aktualisierung anzeigen im Menü Verwalten (Zahnrad-Symbol) unten in der Aktivitätsleiste in der Vorschau anzeigen.
Editor
Markdown-URLs als formatierte Links einfügen
Die Einstellung markdown.editor.pasteUrlAsFormattedLink hat jetzt eine neue Option: smart. Die smart-Einfügefunktion kann erkennen, wann Sie in Text einfügen, in dem Sie keine automatische Markdown-Linkformatierung wünschen. Einige Situationen, die von der smart-Einfügung ignoriert werden, sind das Einfügen innerhalb eines Markdown-Links, über einem anderen Markdown-Link und innerhalb eines Codeblocks.
Standardmäßig ist die Funktion pasteUrlAsFormattedLink derzeit deaktiviert (never), aber Sie können die Einstellung auf smart oder always ändern (immer einen formatierten URL-Link erstellen).
Rollout der asynchronen Tokenisierung
Im 1.76-Update haben wir die asynchrone Tokenisierung von Editor-Dokumenten auf einem Web-Worker implementiert, um die Leistung des Rendering-Prozesses zu verbessern. Seitdem haben wir mehrere Fehler behoben, die durch seltene Wettlaufbedingungen verursacht wurden, und mit dieser Veröffentlichung beginnen wir, diese Funktion für Stable-Benutzer auszurollen.
Wenn Sie nicht warten möchten, können Sie editor.experimental.asyncTokenization auf true setzen, um die asynchrone Tokenisierung sofort zu erhalten.
Diff-Editor
In dieser Iteration haben wir weiter am neuen Diff-Editor gearbeitet und planen, ihn schrittweise für Stable-Benutzer auszurollen. Sie können ihn sofort ausprobieren, indem Sie "diffEditor.experimental.useVersion2": true einstellen. Der neue Diff-Editor enthält mehrere neue Funktionen und behobene Fehler, die unten beschrieben werden.
Unveränderte Regionen einklappen
Verwenden Sie diffEditor.experimental.collapseUnchangedRegions, um das Ausblenden von unveränderten Regionen im neuen Diff-Editor zu aktivieren. Diese Funktion ist nützlich, wenn Sie große Diffs mit vielen unveränderten Zeilen überprüfen.
Die Ränder der ausgeblendeten Zeilenblöcke können gezogen oder angeklickt werden, um Text von unten oder oben anzuzeigen.

Ausrichtung der Diff-Regionen
Der neue Diff-Editor richtet nun Text innerhalb von Diff-Regionen aus, was die Überprüfung von Diffs mit geänderten Einrückungen und eingefügten Zeilen erheblich erleichtert.
Vorher (ohne Ausrichtung der Diff-Regionen und aktivierter Leerzeichen-Diff)

Nachher (mit Ausrichtung der Diff-Regionen)

Der neue Diff-Algorithmus ist jetzt standardmäßig aktiviert
Wir haben den Rollout des neuen Diff-Algorithmus abgeschlossen, der jetzt der Standard in VS Code ist. Einige der Verbesserungen des Algorithmus finden Sie in den Release Notes vergangener Versionen.
Reduzierung von "Rauschen" im Diff
In diesem Update haben wir dem neuen Diff-Algorithmus Heuristiken hinzugefügt, um die Wahrscheinlichkeit von Übereinstimmungen mit nicht zusammenhängenden Wörtern zu verringern.
So sah der Diff-Editor vorher aus (beachten Sie, wie this auf beiden Seiten übereinstimmt, obwohl die Übereinstimmung nicht hilfreich ist)

So sieht er jetzt mit den heuristischen Verbesserungen aus (beachten Sie, dass es weniger nicht zusammenhängende Übereinstimmungen gibt)

Seiten wechseln
Bei der nebeneinanderliegenden Ansicht des neuen Diff-Editors gibt es nun einen neuen Befehl Diff-Editor: Seiten wechseln, der es Ihnen ermöglicht, von einer Seite zur anderen zu springen. Beim Wechseln der Seiten werden die Cursorposition und die aktuelle Auswahl im aktiven Editor auf die andere Seite abgebildet.
Und es gibt noch mehr
Schauen Sie sich die Release Notes von Version 1.80 an, um eine detailliertere Beschreibung der Änderungen im neuen Diff-Editor zu erhalten!
Terminal
Benutzerdefiniertes Hover im Inline-Terminal-Tab
Der Inline-Terminal-Tab im Panel, der angezeigt wird, wenn nur ein Terminal vorhanden ist, verwendet nun das benutzerdefinierte Hover-Element für ein konsistenteres Erscheinungsbild und zur Unterstützung von eingebetteten Links.

Quellcodeverwaltung
Unterstützung für Git-Repositorys mit symbolischen Links
Aufgrund von Community-Feedback gibt es nun Unterstützung für Git-Repositorys, die symbolische Links in ihrem Pfad haben, indem die Option --path-format verwendet wird, die dem Git-Befehl rev-parse in Version 2.31 hinzugefügt wurde. Ab dieser Version sollten alle Funktionen zur Quellcodeverwaltung (z. B. die Ansicht Quellcodeverwaltung, Repository-Erkennung, Dekorationen für hinzugefügte/geänderte/gelöschte Zeilen im Editor usw.) ordnungsgemäß funktionieren, wenn ein solches Repository geöffnet wird.
Debuggen
JavaScript-Debugger
Unterstützung für den Fast Node (Version) Manager
Der JavaScript-Debugger unterstützt nun den Fast Node Manager (fnm) bei der Laufzeitversion. Benutzer von fnm können nun die Eigenschaft runtimeVersion von launch.json einstellen, um die Node.js-Version auszuwählen.
Notebooks
Suche nach Rich Content in geschlossenen Notebooks
In einer früheren Version haben wir die Workspace-Suche nach Rich Content für offene Notebooks eingeführt. Es gibt nun eine Vorschauunterstützung, um Rich Content-Ergebnisse auch für geschlossene Notebooks anzuzeigen.
Wenn Sie im Suchbereich nach Text suchen, sollten die Ergebnis-Vorschauen von Notebooks so aussehen, wie der String aussieht, wenn Sie den Notebook-Editor öffnen. Beachten Sie, dass dies nur Ergebnisse für Eingaben anzeigt, wenn ein Notebook geschlossen ist. Um dies zu testen, aktivieren Sie search.experimental.closedNotebookRichContentResults in Ihren Einstellungen.
Verbesserte Leistung für große Streaming-Ausgaben
Wir haben Leistungsverbesserungen für große Zellenausgaben vorgenommen, die während der Ausführung gestreamt werden. Dies reduziert die Renderaktivität, gilt aber derzeit nur für scrollbare Zellenausgaben.
Notebook Sticky Scroll
Diese Version bringt die erste Iteration von "Sticky Scroll" für den Notebook-Editor. Die Sticky Scroll-Anzeige am oberen Rand des Notebook-Editors zeigt die Markdown-Header für die gerade sichtbare Zelle oder Zellenausgabe an. Das Auswählen einer Sticky Scroll-"Zeile" fokussiert diese Zelle, sodass Sie das Notebook schnell navigieren können. Diese Funktion wird über die Einstellung notebook.stickyScroll.enabled oder den Befehl Ansicht: Notebook Sticky Scroll umschalten aktiviert.
VS Code für das Web
Immer neueste Versionen von integrierten Erweiterungen laden
vscode.dev lädt jetzt immer die neuesten Versionen der integrierten Erweiterungen. Das bedeutet, dass Sie die Benachrichtigung "Neustart erforderlich", um integrierte Erweiterungen auf die neueste Version zu aktualisieren, nicht mehr sehen, wenn Sie vscode.dev öffnen.
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
- Remote Tunnels als Dienst von VS Code aus installieren.
- Vereinfachte Installation von @devcontainers/cli.
- Aufzeichnung von Abhängigkeiten von Dev Container-Features in einer Lockfile.
Neue Funktionen und Fehlerbehebungen für Erweiterungen finden Sie in den Release Notes für Remote Development.
Beiträge zu Erweiterungen
GitHub Copilot
Verbesserungen der Quick Chat UX
Das Quick Chat-Erlebnis wurde in dieser Iteration überarbeitet.
Wie bisher können Sie diese Ansicht mit ⇧⌥⌘L (Windows, Linux Ctrl+Shift+Alt+L) umschalten. Spezifische Verbesserungen sind:
- Konversationeller Chat: Das Quick Chat-Erlebnis zeigt jetzt Ihre vollständige Konversation an, wobei die letzte Frage und Antwort weiterhin im Fokus bleiben.
- Slash-Befehl-Vervollständigung: Es gibt jetzt Vervollständigungen für Slash-Befehle, wenn Sie
/eingeben.
Zusätzlich gibt es eine experimentelle Einstellung, chat.experimental.defaultMode, um zu steuern, welche Teile des Chats angezeigt werden. Sie hat drei Optionen:
chatView- Zeigt das Chat-Symbol in der Aktivitätsleiste an, um den Chat in der Chat-Ansicht zu starten (Standard).quickQuestion- Zeigt das Chat-Symbol in der Titelleiste an, um Quick Chat zu starten.both- Beide Chat-Symbole sind sichtbar, sodass Sie eine beliebige Chat-UI öffnen können.
Wir möchten Ihre Meinung zu dieser Einstellung und zum Quick Chat-Erlebnis im Allgemeinen erfahren. Zögern Sie also nicht, Probleme mit Feedback zu melden.
Verbesserungen an Slash-Befehlen
Wir haben die folgenden Benutzerfreundlichkeitsverbesserungen an Slash-Befehlen in Panel, Inline und Quick Chat vorgenommen:
- Slash-Befehle werden jetzt als Blöcke gerendert und können mit einer einzigen Rücktaste gelöscht werden.
- Das Akzeptieren von Slash-Befehlen aus der Vorschlagsliste, wie z. B.
/clearund/help, führt nun den Befehl aus, wodurch die Notwendigkeit entfällt, die Chat-Anfrage nach dem Akzeptieren einer Vervollständigung explizit zu übermitteln. - Der Panel-Chat-Slash-Befehl
/createWorkspacewird nach seiner ersten Verwendung in einer Frage im Chat-Eingabefeld wieder aufgefüllt, was das Stellen von Folgefragen zu Ihrem Arbeitsbereich erleichtert.
Die folgende Aufzeichnung illustriert alle drei Verbesserungen.
Iterative Korrektur
Bei der Verwendung des /fix-Befehls können Sie die iterative Korrektur mit der Einstellung github.copilot.editor.iterativeFixing aktivieren. Wenn die iterative Korrektur aktiviert ist und nach der ersten Korrektur immer noch Diagnosefehler in der Auswahl vorhanden sind, wird die Korrektur ein zweites Mal ausgeführt. Diese Einstellung ist standardmäßig aktiviert.
Verbesserungen bei der Notebook-Generierung
Beim Generieren eines Notebooks gibt es zusätzliche Schritte, um die Qualität des generierten Codes zu verbessern und Diagnosen zu beheben, die von Sprachspezialerweiterungen im generierten Code erkannt werden. Dies ist standardmäßig deaktiviert, kann aber mit folgenden Einstellungen aktiviert werden:
"github.copilot.notebook": {
"iterativeFixing": true,
"iterativeImproving": true
}
Inline-Chat
Bei der Verwendung des Inline-Chats können Sie jetzt die Diff-Ansicht mit der Einstellung inlineChat.showDiff ein- und ausschalten. Sie können mit der rechten Maustaste auf den Inline-Chat klicken, um ein Kontextmenü anzuzeigen, mit dem Sie diese Einstellung ändern können.
Terminal-Kontext
Copilot Chat kennt nun den Inhalt des aktiven Terminals und die Auswahl.
Python
Fehlerverzeihende Pytest-Erkennung
Als Teil des Rollouts unserer neuen Testarchitektur unterstützt das Test Explorer-Panel die fehlerverzeihende Pytest-Erkennung. Wenn Pytest während der Erkennung einen Fehler auslöst, der behandelt werden kann, z. B. einen Fehler aus einem unbekannten Import, werden alle anderen Tests außerhalb der Datei mit dem Fehler trotzdem gefunden. Diese Funktion ist nur in der neuen Test-Rewrite verfügbar, die noch experimentell ist. Die Rewrite ist derzeit für 100 % der Insiders und 25 % der Stable-Benutzer aktiv, wird aber bald universell übernommen. In der Zwischenzeit können Sie sie mit der Einstellung pythonTestAdapter ein- oder ausschalten.
Debugger-Konfiguration zum Ausführen von Dateien mit Argumenten
Die neue Erweiterung Debugpy bietet nun eine launch.json-Konfiguration Python-Datei mit Argumenten, die nützlich ist, wenn Sie unterschiedliche Eingabewerte für Ihre Python-Datei bereitstellen möchten, ohne Ihren Code oder die Debugger-Konfiguration jedes Mal zu ändern, wenn Sie sie ausführen.
Um diese Konfiguration zu verwenden, stellen Sie sicher, dass Sie die Erweiterung Debugpy installiert haben. Öffnen Sie die Ansicht Ausführen und Debuggen, indem Sie ⇧⌘D (Windows, Linux Ctrl+Shift+D) drücken und wählen Sie entweder Eine launch.json-Datei erstellen oder das Zahnradsymbol, um auf die launch.json-Datei zuzugreifen. Wählen Sie Debugpy und dann Python: Datei mit Argumenten aus den verfügbaren Konfigurationen.
Wenn Sie nun eine Python-Datei debuggen (F5), die Kommandozeilenargumente benötigt, erscheint eine Eingabeaufforderung, die Sie auffordert, die gewünschten Argumente für die Python-Datei einzugeben.
Nachdem Sie Ihre Argumente eingegeben haben, drücken Sie Enter, und der Debugger startet, sodass Sie Ihren Code durchlaufen können.
Theme: Catppuccin Macchiato (Vorschau auf vscode.dev)
NPM-Paket für die Python-Erweiterungs-API
Die Python-Erweiterung stellt nun ein NPM-Paket zur Verfügung, das es anderen Erweiterungsautoren erleichtert, auf die Python-Erweiterungs-API zuzugreifen und Änderungen daran zu verfolgen. Schauen Sie sich das @vscode/python-extension NPM-Modul an, um mit den auf dem Computer des Benutzers verfügbaren Python-Umgebungen zu arbeiten.
Dev Container für die Python-Erweiterung
Es gibt nun einen Dev Container für die Python-Erweiterung mit einem offiziellen Node.js-Image von Microsoft. Mit diesem benutzerdefinierten Dev Container können Benutzer das Repository der Python-Erweiterung in einem GitHub Codespace öffnen und sofort mit der Entwicklung und dem Testen der Python-Erweiterung beginnen, ohne Installation. Python-Versionen 3.7, 3.8, 3.9, 3.10 und 3.11 sind vorinstalliert, sodass Benutzer mit pyenv leicht zwischen Python-Versionen wechseln können.
Jupyter
Verbindung zu Jupyter-Server auf Codespace
Beim Arbeiten mit Jupyter-Notebooks auf github.dev können Sie nun über die Kernel-Auswahl eine Verbindung zu einem Jupyter-Server herstellen, der auf einer GitHub Codespace-Instanz läuft.
Weiter mit unbestätigten Änderungen
Sie können zum zugrunde liegenden Codespace wechseln, indem Sie die Schaltfläche Weiter mit in der Notebook-Symbolleiste auswählen. Alle unbestätigten Änderungen im Workspace werden in den Codespace übernommen.
GitHub Pull Requests und Issues
Es gab weitere Fortschritte bei der GitHub Pull Requests und Issues-Erweiterung, die es Ihnen ermöglicht, Pull Requests und Issues zu bearbeiten, zu erstellen und zu verwalten. In dieser Iteration haben wir uns auf die Aktualisierung der Erstellen-Ansicht konzentriert, um sie übersichtlicher und nützlicher zu gestalten.
Zu den Verbesserungen der Erstellen-Ansicht gehören:
- Die Ansicht versucht, den bestmöglichen Basis-Branch für Ihren PR zu erkennen, anstatt immer den Standard-Branch zu verwenden.
- Sie können Prüfer, Zuweisungsempfänger, Labels und Meilensteine zu Ihrem PR über die Erstellen-Ansicht hinzufügen.
- Standardmäßig wird Ihre letzte "Erstellungsoption" gespeichert (z. B. Entwurf oder automatische Zusammenführung).
- Die Leistung der Ansicht ist viel schneller.
- Sie können Diffs anzeigen, bevor Sie Ihren Branch veröffentlichen.
- Nachdem der Branch veröffentlicht wurde, können Sie auch Commits anzeigen (dies ist bald für unveröffentlichte Branches verfügbar).

Lesen Sie das Changelog für die Version 0.70.0 der Erweiterung, um die anderen Highlights zu erfahren.
GitHub-Authentifizierung
Entzug von GitHub OAuth-Token beim Abmelden
Zuvor wurden beim Abmelden von einem GitHub-Konto in VS Code nur OAuth-Token aus dem Speicher entfernt. Das Token war immer noch gültig und konnte Anfragen an die GitHub-APIs stellen. Um die Sicherheit der Token-Verwaltung zu verbessern, versuchen wir nun, das Token im Backend zu löschen, wodurch das Token nach der Abmeldung ungültig wird.
Erweiterungs-Authoring
revealSetting und focusSearch zu IOpenSettingsActionOptions hinzugefügt
Erweiterungen können nun das revealSetting-Objekt und den focusSearch-Boolean an Befehle wie workbench.action.openSettingsJson übergeben, die IOpenSettingsActionOptions-Argumente akzeptieren.
Zum Beispiel der folgende Befehl
vscode.commands.executeCommand('workbench.action.openSettingsJson', {
revealSetting: { key: 'editor.renderWhitespace' }
});
öffnet die JSON-Datei der Benutzereinstellungen und zeigt dann die Einstellung editor.renderWhitespace an, falls sie existiert.
Neue Methode TestController.invalidateTestResults
Test-Erweiterungen können die neue Methode TestController.invalidateTestResults aufrufen, um dem Benutzer anzuzeigen, dass Ergebnisse für einen oder mehrere Tests möglicherweise nicht mehr gültig sind. Eine Erweiterung könnte zum Beispiel so etwas tun:
onFileChange(uri => {
// invalidate tests in a file when a file changes:
testController.invalidateTestResults(getTestsInFile(uri));
});
onConfigurationChange(() => {
// invalidate results for all tests:
testController.invalidateTestResults();
});
Kerberos-Authentifizierung für Netzwerkproxy
Erweiterungen, die das Node.js-Modul https verwenden, können nun Netzwerk-Proxys nutzen, die Kerberos-Authentifizierung erfordern. Die lokale Maschine muss Kerberos konfiguriert haben, aber Erweiterungen müssen nichts tun, um diese Funktion zu nutzen.
In Fällen, in denen der automatisch ausgewählte Service Principal Name nicht funktioniert, kann der Benutzer einen mit der Einstellung http.proxyKerberosServicePrincipal angeben.

Icons in QuickPickItem finalisiert
Die API für Icons in QuickPickItem wurde finalisiert. Sie können nun die Eigenschaft iconPath verwenden, um Icons in QuickPickItems anzuzeigen.
![]()
Technik
VS Code schrumpfen mit Name Mangling
Eine kürzliche technische Anstrengung hat die Größe von VS Codes JavaScript um 20 % reduziert. Im Blog-Beitrag Shrinking VS Code with name mangling erfahren Sie, wie die VS Code-Entwickler Matt Bierner und Johannes Rieken die Bezeichner-Namens-Mangling erforscht haben, um die Code-Größe zu optimieren, und eine effektive Lösung mit TypeScript gefunden haben.
Weitere Verbesserungen am PTY-Host
Fortsetzung der Verbesserungen des PTY-Hosts vom letzten Monat, die folgenden Verbesserungen wurden vorgenommen:
- Leistung
- Der PTY-Host wird nun nur gestartet, wenn er benötigt wird. Benutzer, die das Terminal nie öffnen, sparen daher etwa 50-100 MB.
- Weitere Parallelisierung der Terminal-Wiederverbindung, wodurch die Initialisierungszeit des Terminals beschleunigt wird.
- Terminal-Ausgabenachrichten werden nun gepuffert, wodurch der Datenverkehr vom PTY-Host und dem Fenster, das das Terminal hostet, reduziert wird.
- Diagnosen
- Latenzstatistiken zwischen den einzelnen Prozessen werden im Trace-Log-Level protokolliert.
- Die Fenster-ID wird in allen Protokollen im Ausgabekanals Terminal protokolliert.
- PTY-Host-RPC-Protokollierung protokolliert nun Antworten, die aufgrund einer Ausnahme fehlgeschlagen sind.
Bemerkenswerte Fehlerbehebungen
- 133542 Falsch an das Terminal angehängt
- 168021 Bessere Objekt-Vervollständigungen im JavaScript-Debugger
- 184894 Scrollbalken im Terminal kann nicht per Drag & Drop gezogen werden
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): Maximale Breite von Aktions-Widgets auf 80 % der Browserbreite erhöhen PR #186157
- @abhijit-chikane (Abhijit Chikane): Fall des Haltertextes für Breakpoints korrigieren PR #185753
- @andrewbranch (Andrew Branch): [typescript-language-features] Beschreibung von autoImportFileExcludePatterns aktualisieren PR #186528
- @colombod (Diego Colombo): Proposed API zum automatischen Schließen von Klammern anhand von Sprachkonfigurationen hinzufügen PR #186567
- @Dromantor (Andreas Pareis): Behoben #173858 Minimap-Schieberegler scrollt nicht zum oberen Ende PR #180728
- @EhabY (Ehab Younes): Fokussiertes Element und Änderungsereignis in der TreeView-API verfügbar machen PR #184268
- @gjsjohnmurray (John Murray)
go-to-fileCodicon für Testausgabe-Inline-Aktion verwenden (Fix #186369) PR #188472- Platzhaltertext im Testansicht-Fortschrittsbereich anzeigen (Fix #141181) PR #188484
- @hsfzxjy
- Strg+Pfeil nach unten und Strg+Pfeil nach oben für die meisten Eingabe-/Ergebnis-Widgets verallgemeinern (Fix #179967) PR #187077
- Fehler bei der Positionierung des Kontextmenüs beheben PR #187157
- @jeanp413 (Jean Pierre)
- Behebt Fehler bei der Aktivierung von Erweiterungen nach Upgrade mit Error: Cannot find module 'vscode' PR #187090
- Problem: cmd+up/down im Terminal nach Schließen des Suchfelds kann nicht verwendet werden PR #187781
- Fehlende Tooltips für Terminal-Suchfeldschlüsselkürzel beheben PR #187787
- @lkct (Rickey K. Liang): Python-Docstring-Farbe zurücksetzen PR #184938
- @m-ou-se (Mara Bos): Ein abschließendes Doppelpunktzeichen im --goto-Format akzeptieren. PR #186174
- @mwerschy (Malte Werschy): Optionen zur Farbgebung von Einrückungsleitern implementieren. PR #178112
- @rielAsh24 (Ashriel): Fix #182014: ISO-Datumsformat PR #185587
- @ssigwart (Stephen Sigwart): Einzeilige if/else- und Schleifen-Einrückungen für Typescript und PHP korrigieren PR #136577
- @SvanT (Svante Boberg): TerminalWordLinkDetector-Listener freigeben PR #187083
- @weartist (Hans): Fix #187223 PR #188144
- @yiliang114 (易良)
- Fix: Tippfehler PR #186607
- Fix: Schließt #187788, Status der Wiederherstellungs-Tree-Ansicht PR #187902
- @yshaojun
- Fix: Farbsuggestionen werden möglicherweise doppelt angezeigt (#_175476) PR #186926
- Fix: Verhindert doppelte Gründe (#_186206) PR #187985
- Fix: Breite des geänderten Editors (#_175397) PR #188012
Beiträge zu vscode-extension-samples
- @dsanders11 (David Sanders): Fehlercode-Name EACCES korrigieren PR #847
Beiträge zu vscode-hexeditor
Beiträge zu vscode-js-debug
- @zardoy (Vitaly): Fix von Member-Ausdrucks-Vervollständigungen PR #1758
Beiträge zu vscode-pull-request-github
- @mgyucht (Miles Yucht): Rückwärts durch Diffs über Dateien hinweg korrekt iterieren PR #5036
Beiträge zu vscode-vsce
- @drewbrokke (Drew Brokke): (#_868) die Option --skip-duplicate beim Veröffentlichen berücksichtigt die Zielplattformen nicht PR #873
Beiträge zu inno-updater
- @panekj (Jakub Panek): feat: veraltetes winapi durch windows-sys ersetzen PR #18
Beiträge zu language-server-protocol
- @c-claeys (Cristopher Claeys): Hinzufügen von Multirange-Formatierung über
textDocument/rangesFormattingzur Spezifikation PR #1759 - @gundermanc (Christian Gunderman): Spezifikation für semantische Token LSIF. PR #1754
- @semanticart (Jeffrey Chupp): Tippfehler beheben PR #1774
Beiträge zu monaco-editor
- @claylibrarymarket: Twigs einfacher Textklassenausdruck korrigieren PR #4063
- @FossPrime (Ray Foss): Neuen GitHub-Pages-Workflow verwenden PR #4000
- @leandrocp (Leandro Pereira): Elixir - Unterstützung für mehrbuchstabige Großbuchstaben-Sigils hinzufügen PR #4041
- @philippleidig (PhilippLe): TwinCAT-Dateiunterstützung für strukturierte Textsprache (st) hinzufügen PR #3315
- @remcohaszing (Remco Haszing)