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

Februar 2023 (Version 1.76)

Update 1.76.1: Das Update behebt diese Issues.

Update 1.76.2: Das Update behebt diese Issues.

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


Willkommen zur Februar 2023-Version von Visual Studio Code. Es gibt viele Updates in dieser Version, die Ihnen hoffentlich gefallen werden. Einige der wichtigsten Highlights sind:

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

Audio-Hinweis für Terminal-Befehlsfehler

Wenn ein Befehl mit einem Nicht-Null-Code in einem Terminal mit Shell-Integration beendet wird, können sehende Benutzer auf die Befehlsdekoration schauen, um schnell zu erkennen, dass ein Fehler aufgetreten ist. Um einen Fehler für Screenreader-Benutzer zu signalisieren, spielt VS Code jetzt den Audio-Hinweis audioCues.terminalCommandFailed ab.

Sie können sich die verfügbaren Audio-Hinweis-Sounds anhören, indem Sie durch das Dropdown-Menü Hilfe: Audio-Hinweise auflisten scrollen.

List Audio Cues dropdown with Terminal Command Failed cue selected

Verbesserte Reaktionsfähigkeit des Audio-Hinweises für Fehler

Der Audio-Hinweis audioCues.lineHasError wird jetzt während der Zeichennavigation abgespielt, damit Screenreader-Benutzer eine bessere Einsicht haben, wo sich die Fehler im Editor befinden.

Verbesserungen am zugänglichen Puffer des Terminals

In der letzten Iteration haben wir den zugänglichen Terminalpuffer eingeführt, der Screenreader-Benutzern über den Befehl Terminal: Zugänglichen Puffer fokussieren Zugriff auf die Terminalinhalte bietet.

In dieser Iteration haben wir den zugänglichen Puffer durch Hinzufügen von Auswahl- und Linkunterstützung verbessert, ihn schreibgeschützt gemacht und Einblicke in die Shell-Integration genutzt, um die Ausgabe auf nur den wichtigen Inhalt des Terminals zu beschränken – den ausgeführten Befehl, den Exit-Code (falls vorhanden) und die Ausgabe. Wir planen, diese Funktion in der nächsten Iteration zu konfigurieren.

Kontextabhängiger Tab-Fokusmodus

Der Befehl Tab-Taste verschiebt Fokus umschalten ist nützlich, um zu bestimmen, ob die Workbench oder der Editor/das Terminal die Eingabe der Tab-Taste erhält.

Die neue Einstellung editor.tabFocusMode ermöglicht es Benutzern, das Standardverhalten festzulegen. Wenn der Wert auf true gesetzt ist, empfängt die Workbench die Eingabe der Tab-Taste anstelle des Editors oder Terminals.

Unterstützung für Screenreader-Shell-Integration unter Windows

Die Shell-Integration wurde zuvor deaktiviert, wenn ein Screenreader unter Windows erkannt wurde, aufgrund von Problemen mit der PowerShell-Unterstützung in diesem Kontext. Wir haben festgestellt, dass dies in den meisten Fällen kein Problem mehr darstellt und haben sie daher aktiviert.

Zusätzliche Hilfe für Terminal-Zugänglichkeit

Diskussionen mit der Screenreader-Community haben zu Ergänzungen im Dialogfeld Terminal-Barrierefreiheits-Hilfe () geführt, wie z. B. die Erwähnung der Befehle Neues Terminal erstellen (mit Profil) und Einstellungen: Barrierefreiheits-Einstellungen öffnen.

Profile

Profile, die im letzten Meilenstein als stabil veröffentlicht wurden, ermöglichen es Ihnen, VS Code-Konfigurationen schnell an Ihren aktuellen Workflow und Ihr Projekt anzupassen. Sie können eine Reihe von Anpassungen wie Einstellungen, Erweiterungen und Tastenkombinationen speichern, sie geräteübergreifend synchronisieren und einfach mit Kollegen teilen.

Profil-Badge

VS Code zeigt jetzt das aktuelle benutzerdefinierte Profil an, indem es die ersten beiden Buchstaben des Profilnamens als Profil-Badge auf dem Verwalten-Symbol der Aktivitätsleiste anzeigt.

Two profile badges showing the first two letters of the profiles

Themes können die Hintergrund- und Vordergrundfarben des Profil-Badges anpassen, indem sie die beiden neuen Theme-Farben konfigurieren

  • profileBadge.background
  • profileBadge.foreground

Profile wechseln

Sie können jetzt schnell zwischen Profilen wechseln mit dem Befehl Profile: Profil wechseln in der Befehlspalette (⇧⌘P (Windows, Linux Ctrl+Shift+P)), der eine Dropdown-Liste mit Ihren verfügbaren Profilen anzeigt.

Switch Profile command dropdown listing available profiles

Profile in Remote-Arbeitsbereichen

Sie können jetzt Profile erstellen und anpassen, die Remote-Erweiterungen enthalten und zwischen ihnen in Remote Development-Arbeitsbereichen wechseln.

Unten sind zwei verschiedene Profile ("Dokumenten-Schreiben" und "Code") aktiv in zwei Instanzen über Remote - SSH.

Profiles active in two Remote - SSH instances

Profile-Dokumentation

Sehen Sie sich das neue Thema Profile in Visual Studio Code an, wenn Sie mehr über Profile und Szenarien erfahren möchten, in denen sie nützlich sind. Dieser Artikel beschreibt im Detail, wie Sie Profile erstellen, ändern, teilen und wiederverwenden können.

Workbench

Verschiebbares Explorer-Fenster

Die meisten Ansichten und Ansichtscontainer in VS Code sind verschiebbar, mit Ausnahme einiger integrierter. In dieser Version ist der Explorer-Ansichtscontainer (⇧⌘E (Windows, Linux Ctrl+Shift+E)) nun verschiebbar und kann in der sekundären Seitenleiste oder im unteren Panel platziert werden, um eine weitere Anpassung der Workbench zu ermöglichen.

Unten wurde die Dateiexplorer-Ansicht in den Panel-Bereich verschoben.

File Explorer view moved to the panel area

Wenn Sie alle Ansichten auf das Standardlayout zurücksetzen möchten, können Sie den Befehl Ansichten: Ansichtspositionen zurücksetzen aus der Befehlspalette ausführen.

Festbreiten-zentriertes Layout

Der Befehl Ansicht: Zentriertes Layout umschalten (workbench.action.toggleCenteredLayout) verfügt nun über eine Option für ein Festbreiten-Layout. Diese Option wird mit der neuen Einstellung workbench.editor.centeredLayoutFixedWidth aktiviert. Wenn sie aktiviert ist und das zentrierte Layout aktiv ist, wird der Editor zentriert und versucht, seine Breite über Fenster- und Panelgrößenänderungen hinweg beizubehalten.

Mehrere Quick-Diffs

Mit der Einführung der vorgeschlagenen API für mehrere Quick-Diffs können mehrere Erweiterungen einen Quick-Diff bereitstellen. Wenn mehrere Quick-Diffs in einer Datei vorhanden sind, wird jetzt ein Dropdown-Menü angezeigt, in dem Sie die zu verwendende Diff-Basis auswählen können.

Multiple quick diffs and diff base dropdown

Kommentare

Die Ansicht Kommentare verfügt über einen neuen Befehl Alle erweitern, der zu dem vorhandenen Befehl Alle reduzieren passt. Das Symbol in der Leiste für ungelöste Kommentare ist nun dasselbe Symbol, das in der Ansicht Kommentare verwendet wird.

Standard-Protokollierungsstufe konfigurieren

Sie können jetzt die Standard-Protokollierungsstufe für VS Code oder für eine Erweiterung über den Befehl Entwickler: Protokollierungsstufe festlegen... konfigurieren. Dies wird über Neustarts hinweg beibehalten und geräteübergreifend synchronisiert.

Default log level dropdown with several extensions listed

Die Auswahl einer Erweiterung zeigt dasselbe Protokollierungsstufen-Dropdown wie für die Standard-Protokollierungsstufe.

Verifizierter Publisher-Domain im Erweiterungseditor

Der Erweiterungseditor zeigt nun die verifizierte Publisher-Domain neben dem Verifizierungsindikator an. Unten wird die Domain prettier.io rechts neben dem Verifizierungsabzeichen angezeigt.

Prettier extension in the extension editor displaying verified publisher domain prettier.io

Editor

Sortierung von JSONC-Dokumenten

Es ist nun möglich, JSONC-Dateien (JSON-Dokumente mit Kommentaren) nach Schlüssel zu sortieren. Um diese Funktion zu nutzen, wählen Sie JSON: Dokument sortieren aus der Befehlspalette.

Unabhängige Klammerpaare für Abgleich und Farbgebung

In dieser Iteration haben wir das Verhalten geändert, wenn sowohl editor.language.brackets als auch editor.language.colorizedBracketPairs konfiguriert sind. Zuvor überschrieb die Einstellung von editor.language.colorizedBracketPairs editor.language.brackets für den Klammerabgleich (da beide denselben Klammerpaarbaum verwenden). Jetzt wird die Vereinigung beider Einstellungen für den Klammerabgleich verwendet, aber nur die in editor.language.colorizedBracketPairs konfigurierten Klammern werden farblich hervorgehoben.

Quellcodeverwaltung

Git-Commit-Syntaxhervorhebung

VS Code hat eine neue Git-Grammatik übernommen, die Syntaxhervorhebung für Git-Commit-Nachrichtendateien bietet. Die neue Grammatik bietet eine bessere Unterstützung für Sprachen außerhalb des Englischen.

Git und GitHub-Dokumentation

Ob Sie neu in der Quellcodeverwaltung sind oder ein erfahrener Git-Benutzer, Sie können mehr über die Git-Integration von VS Code im Abschnitt Quellcodeverwaltung unserer Dokumentation erfahren. Artikel beinhalten:

Notebooks

Kernel-Auswahl Standardmodus: MRU

Der Kernel-Auswähler zeigt jetzt standardmäßig den zuletzt verwendeten (MRU) Kernel an. Dies ist eine Änderung gegenüber dem früheren Verhalten, das alle verfügbaren Kernel anzeigte. Sie können immer noch alle Kernel über einen sekundären Auswähler Anderen Kernel auswählen... anzeigen, der Kernel nach ihrer Quelle gruppiert (z. B. Jupyter Kernel, Python-Umgebung usw.), wenn Sie die neuesten Jupyter- und Python-Erweiterungen installiert haben.

Notebook kernel picker with MRU list and using the Select Another Kernel option

Notebook-Renderer-Leistungsdiagnose

Beim Ausführen von Notebook-Zellen können einige Notebook-Ausgabe-Renderer lange zum Rendern benötigen. Um diese Renderer zu identifizieren, haben wir Diagnoseinformationen zum Hover in der Statusleiste der Notebook-Zelle hinzugefügt. Diese Ansicht zeigt die Zeit, die jeder Renderer für die Ausführung benötigt hat, und die gesamte Ausführungszeit. Darüber hinaus öffnen die Links im Hover den Issue Reporter mit dem Namen des Renderers und der Ausführungszeit, sodass Sie einfach ein Problem melden können, wenn Sie feststellen, dass der Renderer zu lange zur Ausführung benötigt.

Image showing the cell Status bar hover with renderer execution times

Der integrierte Fehler-Renderer unterstützt jetzt Links zu Dateien und Zeilennummern. Dies ermöglicht es Ihnen, auf einen Dateipfad in der Fehlermeldung zu klicken und die Datei im Editor zu öffnen.

Der Fehler-Renderer der Jupyter-Erweiterung wurde zugunsten des integrierten Fehler-Renderers eingestellt.

Notebook built-in error renderer

Sprachen

Müssen Sie auf einen Header in einem anderen Markdown-Dokument verlinken, aber Sie erinnern sich nicht oder möchten nicht den vollständigen Dateipfad eingeben? Versuchen Sie, Arbeitsbereich-Header-Vervollständigungen zu verwenden! Geben Sie zunächst einfach ## in einen Markdown-Link ein, um eine Liste aller Markdown-Header aus dem aktuellen Arbeitsbereich anzuzeigen.

Suggestions for all Markdown headers in the current workspace

Akzeptieren Sie eine dieser Vervollständigungen, um den vollständigen Link zu diesem Header einzufügen, auch wenn er sich in einer anderen Datei befindet.

Adding a link to the selected header in another file

Sie können konfigurieren, ob/wann Arbeitsbereich-Header-Vervollständigungen angezeigt werden, mit der Einstellung Markdown > Vorschlagen > Pfade: Arbeitsbereich-Header-Vervollständigungen einschließen (markdown.suggest.paths.includeWorkspaceHeaderCompletions).

Gültige Einstellungswerte sind:

  • onDoubleHash (Standard) - Zeigt Arbeitsbereich-Header-Vervollständigungen nur nach der Eingabe von ## an.
  • onSingleOrDoubleHash - Zeigt Arbeitsbereich-Header-Vervollständigungen nach der Eingabe von # oder ## an.
  • never - Zeigt niemals Arbeitsbereich-Header-Vervollständigungen an.

Beachten Sie, dass das Finden aller Header im aktuellen Arbeitsbereich aufwendig sein kann, sodass beim ersten Anfordern eine leichte Verzögerung auftreten kann, insbesondere bei Arbeitsbereichen mit vielen Markdown-Dateien.

Die neue Einstellung markdown.preferredMdPathExtensionStyle konfiguriert, ob VS Code die Verwendung von Dateierweiterungen für Links zu Markdown-Dateien bevorzugt. Diese Präferenz wird für Sprachwerkzeuge wie Pfad-Vervollständigungen und Link-Umbenennungen verwendet.

Gültige Einstellungswerte sind:

  • auto - Versucht, den vorhandenen Stil der Dateierweiterung beizubehalten.
  • includeExtension - Schließt die nachgestellte .md-Erweiterung in den Link ein.
  • removeExtension - Entfernt die nachgestellte .md-Erweiterung aus dem Link.

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.

Sie können sich über neue Erweiterungsfunktionen und behobene Fehler in den Release Notes für Remote Development informieren.

Remote-Menü

In diesem Meilenstein haben wir mehrere Usability-Verbesserungen am Remote-Menü vorgenommen, das durch Klicken auf den Remote-Indikator unten links in der Statusleiste aufgerufen werden kann.

  1. Es gibt jetzt eine Standard-Tastenkombination zum Öffnen des Remote-Menüs: ⌥⌘O (Windows, Linux Ctrl+Alt+O).

  2. Wir haben die Beiträge unserer Remote-Erweiterungen zum Remote-Menü reduziert, um alle Aktionen für die Verbindung zu einem Remote-Fenster auf einen Blick leicht zugänglich zu machen.

    • Grundlegende Aktionen zum Öffnen eines Remote-Fensters sind jetzt immer im Remote-Menü verfügbar, sodass Sie Aktionen zum Verbinden mit einem anderen Remote-Host entdecken können, auch wenn Sie sich bereits in einem Remote-Fenster befinden.
    • Die meisten Aktionen zur Konfiguration oder zum Einstieg in eine Remote-Umgebung wurden aus dem Remote-Menü in die Befehlspalette verschoben, um Platz im Remote-Menü zu sparen.
  3. Die Option Zusätzliche Remote-Erweiterungen installieren im Remote-Menü verweist nun auf eine Liste kuratierter Remote Development-Erweiterungen und ist im Remote-Menü ausgeblendet, wenn alle solchen Erweiterungen bereits installiert sind.

Remote Repositories

In diesem Meilenstein haben wir den Walkthrough Remote-Repositories durchsuchen und bearbeiten, ohne zu klonen in der Remote Repositories-Erweiterung eingeführt, um Ihnen beim Suchen, Bearbeiten und Erstellen von schnellen Commits in GitHub und Azure Repos zu helfen, ohne lokal zu klonen.

Sie können auch das Tutorial zu Remote Repositories ansehen, um Ihnen den Einstieg zu erleichtern.

VS Code für das Web

In diesem Meilenstein haben wir experimentelle Read-Only-Unterstützung für Git LFS-verfolgte Dateien hinzugefügt, die in GitHub- und Azure Repos-Repositorys auf vscode.dev gehostet werden.

Im folgenden kurzen Video sind Bilder, die auf Git LFS im vscode-docs-Repository gespeichert sind, beim Scrollen der Markdown-Vorschau auf vscode.dev sichtbar.

Wenn Sie eine Datei in einem GitHub- oder Azure Repos-Repository anzeigen, erkennen wir basierend auf Ihrer .gitattributes-Konfiguration, ob die Datei LFS-verfolgt ist und von den LFS-Servern von GitHub oder Azure Repos abgerufen werden muss.

Sie können auch die Erweiterungen GitHub Repositories und Azure Repos mit VS Code Desktop verwenden, um Repositorys mit Git LFS-verfolgten Dateien ohne Klonen zu durchsuchen.

Dieses Verhalten kann mit den folgenden Einstellungen deaktiviert werden:

  • "githubRepositories.experimental.lfs.read.enabled": false
  • "azureRepos.experimental.lfs.read.enabled": false

VS Code unterstützt noch nicht das Committen von Git LFS-verfolgten Dateien, und github.dev hat keine Git LFS-Leseunterstützung.

Erweiterungen

Verbesserte Relevanz der Erweiterungssuche

Wir haben die Relevanz der Erweiterungssuchergebnisse in der Erweiterungsansicht und auf der Marketplace-Galerie verbessert. Die Ergebnisse sollten jetzt passender sein, insbesondere für mehrwortige Abfragen.

Vorher Nachher
Search results for "mono debugger" showing Java debugger extension as the top result Search results for "mono debugger" showing Mono debug extension as the top result

Beiträge zu Erweiterungen

Jupyter

IPyWidgets

Die Jupyter-Erweiterung unterstützt jetzt Version 8 von IPyWidgets. Python-Widgets, die auf IPyWidgets 7.* angewiesen sind, funktionieren weiterhin, da sowohl Versionen 7.* als auch 8.* unterstützt werden.

Kernel-Auswahl für das interaktive Fenster

Die automatische Auswahl eines Kernels für das interaktive Fenster wurde modifiziert, um besser mit der neuen Kernel-Auswähler-Benutzeroberfläche zu funktionieren. Der aktuell aktive Interpreter wird verwendet, es sei denn, ein anderer Kernel wurde zuvor für ein interaktives Fenster in diesem Arbeitsbereich ausgewählt. In diesem Fall wird der zuvor ausgewählte Kernel verwendet.

Python

Verbesserte IntelliSense-Unterstützung für pytest

Die Pylance-Erweiterung bietet jetzt leistungsstarke Funktionen, die Ihnen helfen können, effizienter und effektiver zu arbeiten, wenn Sie klare, prägnante und leicht verständliche Tests mit pytest schreiben.

  • Unterstützung für Vervollständigungen, Zur Definition springen, Alle Referenzen finden und Symbol umbenennen (F2) für pytest-Fixtures und parametrisierte Argumente.
  • Unterstützung für Typannotationen für pytest-Parameter durch Inlay-Hinweise (aktiviert durch die Einstellung "python.analysis.inlayHints.pytestParameters") und über Code Actions.
  • Typinferenz von parametrisierten pytest-Argumenten basierend auf den Werten der Parameter, die dem Dekorator übergeben werden.

Das folgende kurze Video hebt diese neuen pytest-Funktionen hervor.

GitHub Pull Requests und Issues

Es gab weitere Fortschritte bei der GitHub Pull Requests and Issues-Erweiterung, die es Ihnen ermöglicht, Pull-Anfragen und Probleme zu bearbeiten, zu erstellen und zu verwalten. Zu den Highlights gehören

  • Permalink-Rendering in der PR-Beschreibung und in Kommentaren.
  • Erneutes Anfordern von Überprüfungen von der Beschreibungsseite.
  • Quick-Diffs für Dateien in einem ausgecheckten PR.

Sehen Sie sich die Changelog für Version 0.60.0 der Erweiterung an, um die weiteren Highlights zu sehen.

Vorschau-Funktionen

Die globale Suche unterstützt jetzt die Anzeige von Ergebnissen aus Notebooks, wie sie im Notebook-Editor angezeigt würden. Aktivieren Sie search.experimental.notebookSearch, um dies auszuprobieren, und lassen Sie uns über Fehler wissen, auf die Sie stoßen! Dies unterstützt derzeit nur die Suche in Zelleneingaben und Markdown-Quellen in Zellen.

Theme: Community Material Theme (Vorschau auf vscode.dev)

Asynchrone Tokenisierung

Diese Version liefert die experimentelle Funktion der asynchronen Tokenisierung. Diese Funktion ermöglicht es dem Editor, Dokumente in einem separaten Web-Worker zu tokenisieren, was die Reaktionsfähigkeit des Editors bei großen Dokumenten verbessern kann.

Vorerst ist die asynchrone Tokenisierung standardmäßig deaktiviert, kann aber durch Setzen von editor.experimental.asyncTokenization auf true aktiviert werden.

TypeScript 5.0 Unterstützung

Dieses Update enthält Unterstützung für die kommende Version von TypeScript 5.0. Lesen Sie den TypeScript 5.0 Beta Blogpost und den TypeScript 5.0 Iterationsplan für weitere Details darüber, woran das TypeScript-Team derzeit arbeitet. Einige Highlights der Editor-Tools:

  • Neue switch- und case-Vervollständigungen helfen Ihnen, beide Teile von switch-Anweisungen schneller auszufüllen.
  • Arbeiten an der Aktivierung von projektweitem IntelliSense auf github.dev und vscode.dev.

Um mit den TypeScript 5.0 Nightly Builds zu beginnen, installieren Sie die TypeScript Nightly-Erweiterung oder installieren Sie den neuesten VS Code 1.76+ Insiders Build.

Erweiterungs-Authoring

In dieser Iteration haben wir die Unterstützung für Links in InputBox-Eingabeaufforderungen und Validierungsnachrichten eingeführt. In diesen Zeichenfolgen können Sie jetzt die folgende Syntax verwenden, um Links zu erstellen:

[link text](link target)

Das Linkziel kann eine URL oder eine Befehls-ID sein. Wenn der Benutzer auf den Link klickt, wird das Linkziel im Browser geöffnet bzw. als Befehl ausgeführt.

Beispiel

const result = await vscode.window.showInputBox({
  prompt:
    'Please enter a valid email address [more info](https://aka.ms/vscode-email-validation)',
  validateInput: text => {
    if (text.indexOf('@') === -1) {
      return 'Please enter a valid email address, [more info](https://aka.ms/vscode-email-validation)';
    }
    return undefined;
  }
});

was zu folgender Eingabeaufforderung führt:

Prompt contains a link that is underlined

und folgender Validierungsnachricht:

Validation message contains a link that is underlined

Thema: Panda Theme (Vorschau auf vscode.dev)

Dieses Verhalten funktioniert sowohl für die APIs showInputBox als auch für createInputBox.

Informationsdiagnose für die * Aktivierungsereignis

Wenn eine Erweiterung das * (Sternchen) Aktivierungsereignis verwendet, wird sie aktiviert, während VS Code gestartet wird. Dies kann den Start von VS Code verzögern. Um Erweiterungsautoren zu helfen, die Auswirkungen der Verwendung des * Aktivierungsereignisses zu verstehen, haben wir eine Informationsdiagnose hinzugefügt, die angezeigt wird, wenn eine Erweiterung das * Aktivierungsereignis verwendet. Die Diagnose wird in der Problemansicht angezeigt und ist auch im Erweiterungseditor sichtbar.

Diagnostic for * activation event

Weitere Informationen zu * (Sternchen) Aktivierung finden Sie in der Dokumentation zu Aktivierungsereignissen.

Bevorstehende Änderungen bei der Analyse von "when clause"-Kontexten

When clauses, die in Erweiterungsmanifestdateien (package.json) verwendet werden, ermöglichen es Erweiterungen, Beiträge wie Befehle und UI-Elemente (z. B. Menüs oder Ansichten) selektiv zu aktivieren und zu deaktivieren. Die nächste VS Code-Version wird voraussichtlich einen neuen Parser für "when clauses" enthalten. Der neue Parser bietet mehr Funktionen und Korrektheit, erzwingt aber auch strengere Regeln für "when clauses" und kann zu einigen Unterbrechungen bei bestehenden "when clauses" führen. Überprüfen Sie Issue #175540, um mehr über die Unterbrechungen und neuen Funktionen zu erfahren. Sie werden auch ermutigt, dieses Issue für Updates zum neuen Parser zu abonnieren, einschließlich neuer Funktionen, Unterbrechungen und Migrationsrichtlinien.

Bevorstehendes Electron-Update kann obligatorische Änderungen an nativen Modulen erfordern

Wir planen, in unserer nächsten stabilen Version auf Electron 22 zu aktualisieren. Dies hat Auswirkungen auf Erweiterungen, die native Module verwenden, aufgrund der Aktivierung des V8-Speicherkäfigs: ArrayBuffers, die auf externen ("off-heap") Speicher zeigen, sind nicht mehr zulässig. Das bedeutet, dass native Module, die sich auf diese Funktionalität in V8 verlassen, refaktorisiert werden müssen, um auch in VS Code 1.77 und höher zu funktionieren.

Bitte befolgen Sie die Ratschläge im Electron Blogpost, um Ihr natives Modul für zukünftige Versionen von VS Code lauffähig zu machen.

Language Server Protocol

Neue Versionen der npm-Pakete Language Server Protocol (LSP) Client (8.1.0) und Server (8.1.0) wurden veröffentlicht. Dies sind Bugfix-Releases (hauptsächlich zur Behebung von Problemen mit der Request-Reihenfolge bei der Verwendung der vollständigen Textdokumentensynchronisation) und enthalten API-Ergänzungen für die benutzerdefinierte Nachrichtenverarbeitung für die JSON-RPC-Bibliothek.

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:

  1. Suchen Sie nach einem Vorschlag, den Sie ausprobieren möchten, und fügen Sie dessen Namen zu package.json#enabledApiProposals hinzu.
  2. Verwenden Sie das neueste vscode-dts und führen Sie vscode-dts dev aus. Es lädt die entsprechenden d.ts-Dateien in Ihren Arbeitsbereich herunter.
  3. 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.

OpenDialogOptions allowUIResources

Erweiterungen, die erkennen, wann sie in einem Remote-Erweiterungshost ausgeführt werden, können allowUIResources verwenden, um den Button Lokal anzeigen in den Dialogfeldern zum Öffnen von Dateien anzuzeigen. Erweiterungen, die allowUIResources verwenden, sollten immer das Schema der zurückgegebenen URI überprüfen.

Tooltips für QuickPickItems

In dieser Iteration führen wir eine neue vorgeschlagene API für eine tooltip-Eigenschaft auf QuickPickItems ein. Diese Eigenschaft ermöglicht es Ihnen, einen Tooltip für jedes Element in einer Quick Pick anzugeben. Der Tooltip wird angezeigt, wenn der Benutzer mit der Maus über das Element fährt, oder er kann mit Ctrl+Space umgeschaltet werden.

Beispiel

await vscode.window.showQuickPick(
  [
    {
      label: 'label',
      tooltip: 'tooltip'
    },
    {
      label: 'label2',
      tooltip: new vscode.MarkdownString('tooltip2 [link](https://github.com)')
    }
  ],
  {
    placeHolder: 'placeholder'
  }
);

was zu folgender Quick Pick führt:

Thema: Panda Theme (Vorschau auf vscode.dev)

Offensichtlich ist dies ein einfaches Beispiel, das keinen Tooltip benötigt. Tooltips sind nützlich, wenn Sie lange Beschreibungen bereitstellen möchten, die mehrere Zeilen oder Links zu zusätzlichen Ressourcen enthalten könnten.

Wir denken, dass diese Eigenschaft eine gute Ergänzung zur Quick Pick API ist und wir freuen uns auf Ihr Feedback.

Technik

Mehr Electron UtilityProcess-Adoption

Im Rahmen unserer Prozess-Sandbox-Reise möchten wir sicherstellen, dass es keine Node.js-aktivierten Browserfenster mehr in unserer Anwendung gibt. In diesem Meilenstein haben wir damit begonnen, unseren letzten verbleibenden Prozess von einem versteckten Node.js-Browserfenster in einen Electron UtilityProcess umzuwandeln. Als Teil dieser Arbeit musste auch der Datei-Watcher-Prozess in seinen eigenen Utility-Prozess ausgelagert werden.

Eine neue Einstellung window.experimental.sharedProcessUseUtilityProcess ermöglicht die Verwendung von UtilityProcess und wir planen, dies in der nächsten Version zur Standardeinstellung zu machen.

Unterstützung für macOS 10.11 und 10.12 wurde beendet

Wie in unseren Release Notes für 1.75 erwähnt, ist 1.76 die letzte Version, die macOS 10.11 (OS X El Capitan) und 10.12 (macOS Sierra) unterstützt. Weitere Informationen finden Sie in unserer FAQ.

Bemerkenswerte Fehlerbehebungen

  • 168939 Status des Ausblendens von Badges über Neuberechnungen und Ansichtsbewegungen hinweg beibehalten.
  • 164397 Layout-Steuerung an falscher Stelle für RTL macOS.

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-pull-request-github

  • @joshuaobrien
    • Einheitlichen Stil des Buttons "Überprüfung erneut anfordern" PR #4539
    • Sicherstellen, dass der Befehl re-request-review in activityBarViewProvider behandelt wird PR #4540
    • Verhindern, dass Zeitstempel in Kommentaren überlaufen PR #4541
  • @kabel (Kevin Abel): Mehr Dateien aus dem VSIX ignorieren PR #4530

Beiträge zu vscode-vsce

Beiträge zu monaco-editor

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