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

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:

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.

Create New Profile dropdown with keyboard shortcuts unchecked

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.

Create a profile by copying from a Project Template or existing profile

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.

Edit Profile dropdown with Keyboard Shortcuts unchecked

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.

Profile view with Keyboard Shortcuts unchecked and Export button visible

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.

Apply Setting to all Profiles context menu item in the Settings editor

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.

Apply Extension to all Profiles context menu item in the Extensions view

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

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.

A screenshot of the "Collapse Unchanged Regions" feature in the new diff editor

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)

A side by side diff without diff region alignment

Nachher (mit Ausrichtung der Diff-Regionen)

A side by side diff with diff region alignment

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)

Before using the new diff algorithm

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

After using the new diff algorithm heuristics

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.

Hovering the inline terminal tab will show information about the terminal

Quellcodeverwaltung

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:

  1. Slash-Befehle werden jetzt als Blöcke gerendert und können mit einer einzigen Rücktaste gelöscht werden.
  2. Das Akzeptieren von Slash-Befehlen aus der Vorschlagsliste, wie z. B. /clear und /help, führt nun den Befehl aus, wodurch die Notwendigkeit entfällt, die Chat-Anfrage nach dem Akzeptieren einer Vervollständigung explizit zu übermitteln.
  3. Der Panel-Chat-Slash-Befehl /createWorkspace wird 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).

GitHub Pull Request and Issues extension Create view

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.

Kerberos Service Principal setting

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.

A quick pick with GitHub avatars as the item icons

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

Beiträge zu vscode-extension-samples

Beiträge zu vscode-hexeditor

  • @lorsanta
    • Fix: Zum Anfang scrollen, wenn die Home-Taste gedrückt wird PR #448
    • Fix: Die Anzahl der Auswahlen wird beim Wechseln zwischen Tab-Gruppen aktualisiert. PR #449

Beiträge zu vscode-js-debug

Beiträge zu vscode-pull-request-github

Beiträge zu vscode-vsce

Beiträge zu inno-updater

Beiträge zu language-server-protocol

Beiträge zu monaco-editor

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