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

August 2022 (Version 1.71)

Update 1.71.1: Das Update behebt dieses Sicherheitsproblem Issue.

Update 1.71.2: Das Update behebt diese Issues.

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


Willkommen zur August 2022-Version von Visual Studio Code. Im August machen viele Ingenieure bei VS Code Urlaub, aber es gibt dennoch viele Updates in dieser Version, die Ihnen hoffentlich gefallen werden.

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.

Workbench

Verbesserungen am Merge-Editor

Öffnen des Merge-Editors aus Dateien mit Konflikten

Eine Datei mit einem Konflikt zeigt nun automatisch eine Schaltfläche Im Merge-Editor öffnen an, um zwischen dem Text- und dem Merge-Editor zu wechseln.

Merge-Editor-Datei wird beim Öffnen nicht geändert

VS Code ändert die Ergebnisdatei beim Öffnen im Merge-Editor nicht mehr (konfliktierende Bereiche wurden durch die Basis ersetzt). Stattdessen bleiben die Konfliktmarker in der Datei erhalten, sind aber in der Ergebnisansicht ausgeblendet. Die Kontrollkästchen können verwendet werden, um die Konfliktmarker durch eine der beiden Seiten, eine Kombination aus beiden Seiten oder durch Deaktivieren durch die Basis zu ersetzen.

Wiederherstellung alter Konfliktdekorationen

Die alten Inline-Konfliktdekorationen sind nicht mehr deaktiviert, sodass der Merge-Editor und die Inline-Erfahrung zusammen verwendet werden können. Wenn der Merge-Editor geöffnet wird, können Sie mit einem einzigen Klick in der Editor-Symbolleiste zur vorherigen Erfahrung zurückkehren.

Durch Klicken auf dasselbe Symbol neben dem Dateinamen in der Source Control-Ansicht können Sie den Merge-Editor vollständig überspringen.

Sie können jedoch jederzeit zwischen der neuen und der alten Erfahrung wechseln und sie sogar parallel nutzen.

Verbesserungen bei Kontrollkästchen

Wir stellen nun sicher, dass die Kontrollkästchen eines Konflikts immer sichtbar sind, auch wenn der Konflikt größer als der Ansichtsbereich ist. Farben werden verwendet, um die Kontrollkästchen für unbearbeitete Konflikte hervorzuheben.

Verbesserungen des Diff-Algorithmus

Wir haben begonnen, alternative Diff-Algorithmen zu erforschen, um die Qualität von Konflikten zu verbessern. Ein neuer experimenteller Diff-Algorithmus kann mit der folgenden Einstellung aktiviert werden.

"mergeEditor.diffAlgorithm": "experimental",

Dieser neue Algorithmus ist noch nicht für die Leistung optimiert, verbessert aber das Erlebnis des Merge-Editors in vielen Randfällen.

Weiterführend

In dieser Version haben wir uns auf die wichtigsten UX-Probleme des Merge-Editors konzentriert und viele Fehler behoben. Wenn Sie vom neuen Merge-Editor immer noch verwirrt sind, würden wir uns freuen, von Ihnen zu hören! Bitte erstellen Sie ein neues Issue in unserem Repository, teilen Sie einen Screenshot und Ihren Merge-Editor-Status (mit dem Befehl Merge-Editor-Status als JSON kopieren). Wir schätzen das bisherige Feedback sehr, und weiteres Feedback hilft uns, die Merge-Editor-Erfahrung für alle großartig zu machen.

Unsere zukünftige Arbeit wird sich auf eine separate Basisansicht, Konfliktminimierung, Verfeinerung des Diff-Algorithmus und weitere Verbesserungen konzentrieren.

FFmpeg-Codec-Unterstützung

Die FFmpeg-Shared-Library, die als Teil von VS Code ausgeliefert wird, hatte bisher nur Unterstützung für den FLAC-Codec. Mit dieser Version wurde die Bibliothek aktualisiert, um die folgende Liste von Codecs und Containern zu unterstützen. Dies ermöglicht die Wiedergabe von mehr Audio- und Videodateien aus Notebooks oder von Erweiterungen, die Audio und Video in Webviews einbetten.

  • Vorbis
  • Flac
  • H.264
  • VP8
  • WAV
  • MP3
  • Ogg

Thema: fairyfloss (Vorschau auf vscode.dev)

Verbesserungen bei der Dateiumbenennung im Explorer

Nachdem eine Umbenennungsaktion für eine Datei eingeleitet wurde, durchläuft das Drücken der Taste F2 den Dateinamen, die gesamte Auswahl und die Dateierweiterung, um eine flexiblere Interaktion nur mit der Tastatur zu ermöglichen.

Abgerundete Schaltflächen

Wir haben alle unsere Schaltflächen aktualisiert, um eine leichte Rundung zu erhalten, die besser zu unserer Designästhetik passt.

An example of a button with rounded corners

Thema: Material Theme Palenight High Contrast

Window Controls Overlay unter Windows

In Version 1.68 hat VS Code die Unterstützung für die Window Controls Overlay-Funktion von Electron hinter einem experimentellen Flag übernommen, die standardmäßig deaktiviert war. Wir haben die verbleibenden Probleme im Zusammenhang mit dieser Funktion, die VS Code betreffen, behoben, sodass wir sie jetzt standardmäßig für alle Benutzer unter Windows aktivieren können.

Die Window Controls Overlay-Funktion ermöglicht es VS Code-Benutzern unter Windows 11, Snap Layouts auszuwählen, um VS Code auf ihrem Desktop zu platzieren.

Windows Snap Layouts control in the right of the VS Code title bar

Erweiterungsmodus der Baumansicht

Die Einstellung Workbench > Baum: Erweiterungsmodus (workbench.tree.expandMode), die steuert, ob Baumknoten mit einem einzelnen Klick oder einem Doppelklick erweitert werden, wird nun von Baumansichten berücksichtigt, die von Erweiterungen beigesteuert werden.

Editor

Sticky Scroll

Der Sticky Scroll zeigt den aktuellen Geltungsbereich am oberen Rand des Ansichtsbereichs an. Die Funktion ist nicht mehr experimentell und kann über die Einstellungen mit editor.stickyScroll.enabled aktiviert werden. Weitere Verbesserungen sind

  • Die maximale Anzahl der anzuzeigenden Zeilen kann mit der Einstellung Editor > Sticky Scroll: Maximale Zeilenanzahl (editor.stickyScroll.maxLineCount) festgelegt werden. Das Standardmaximum beträgt 5 Zeilen.
  • Sie können Strg/Cmd + Klick im Sticky Scroll verwenden, um zu einer Definition zu navigieren.

Neue Code-Aktionssteuerung

Wir haben die Code-Aktionssteuerung komplett überarbeitet. Anstelle eines einfachen Menüs von Code-Aktionen gibt es nun eine benutzerdefinierte Steuerung, die es einfacher macht, die gewünschte Code-Aktion zu finden.

The new Code Action control showing Quick Fixes and refactorings

Die neue Steuerung ermöglicht es VS Code auch, zusätzliche Informationen anzuzeigen. Sie können beispielsweise mit der Maus über deaktivierte Code-Aktionen fahren, um zu erfahren, warum sie deaktiviert sind.

Hovering over a disabled Code Action to understand why it is disabled

Sie können auch die Tastenkombinationen zum Navigieren durch die Code-Aktionsliste anpassen, indem Sie die Tastenkombinationen für die folgenden Befehle ändern:

  • selectNextCodeAction
  • selectPrevCodeAction
  • acceptSelectedCodeAction

Zukünftig bietet die neue UI für Code-Aktionen eine großartige Grundlage für weitere UX-Verbesserungen. Lassen Sie uns wissen, wenn Sie Vorschläge haben!

IntelliSense-Übereinstimmung konfigurieren

Es gibt eine neue Einstellung zur Konfiguration des IntelliSense-Filterns. Standardmäßig muss das erste Zeichen mit dem Wortanfang übereinstimmen, z. B. muss c mit console oder WebContext übereinstimmen, aber nicht mit description. Die Einstellung editor.suggest.matchOnWordStartOnly ändert dieses Verhalten. Wenn sie deaktiviert ist, berücksichtigt das Filtern jede Übereinstimmung – dies führt zu mehr Ergebnissen, aber das Filtern erfolgt weiterhin nach Übereinstimmungsqualität.

Im kurzen Video unten sehen Sie, dass bei deaktiviertem matchOnWordStartOnly Vorschläge für 'dir' mehr Elemente enthalten, z. B. 'mkdir' und 'makedirs'.

Quellcodeverwaltung

Verbesserungen der Commit-Aktionsschaltfläche

Benutzer können die sekundäre Aktion (z. B. pull, sync), die nach einer erfolgreichen Commit-Operation ausgeführt wird, global über die Einstellung git.postCommitCommand steuern. In diesem Meilenstein haben wir eine neue Einstellung git.rememberPostCommitCommand hinzugefügt, die aktiviert werden kann, um die zuletzt ausgeführte sekundäre Aktion pro Repository zu speichern.

Terminal

Verbesserungen der Shell-Integration

Die folgenden Verbesserungen an der Shell-Integration wurden in dieser Version vorgenommen:

  • Die Fish-Shell-Integration ist nur als experimentelle manuelle Installation verfügbar. Informationen zur Installation finden Sie in der Dokumentation zur Shell-Integration.
  • Die Git-Bash-Shell-Integration für Windows ist nur als experimentelle manuelle Installation verfügbar. Details finden Sie im Abschnitt zur manuellen Installation.
  • Unterstützung für gängige alternative Sequenzen des aktuellen Arbeitsverzeichnisses: OSC 6 ; scheme://<cwd> ST, OSC 1337 ; CurrentDir=<cwd> ST, OSC 9 ; 9 ; <cwd> ST
  • Bessere Handhabung von verschiedenen Shell-Integrations-Randfällen.

Sanftes Scrollen

Das Terminal unterstützt jetzt sanftes Scrollen, das das Scrollen für kurze Zeit animiert, um Ihnen nach dem Scrollen Ihre Position anzuzeigen, ähnlich wie im Editor und in Listen. Um sanftes Scrollen zu aktivieren, setzen Sie

"terminal.integrated.smoothScrolling": true

Unterstreichungsstile und -farben

Unterstreichungsstile und -farben werden jetzt über Escape-Sequenzen unterstützt, die ursprünglich vom Kitty-Terminal eingeführt wurden. Für unterstützende Programme werden diese neuen Unterstreichungen automatisch angezeigt, vorausgesetzt, sie senden diese Sequenzen an das VS Code-Terminal.

The terminal can now display straight, double, curly, dotted, and dashed underlines in any color

In dieser Änderung enthalten ist eine verbesserte Unterstreichungsdarstellung, wenn GPU-Beschleunigung aktiviert ist, was verhindert, dass Glyphen mit langen Absteigern und die Unterstreichung überlappen.

An example showing that characters with descenders such as 'g' and 'p' no longer overlap with underlines

Unterstreichungsstile und -farben werden unter Windows derzeit aufgrund eines offenen Problems in ConPTY nicht unterstützt.

Rendering-Verbesserungen

Mehrere Verbesserungen wurden am Terminal-Rendering vorgenommen:

  • Ein langjähriger Fehler, der manchmal zu Unschärfe führte, wenn die Benutzeroberfläche vergrößert oder verkleinert wurde, wurde behoben!

    Text is now more crisp as canvas is no longer stretched, which caused anti-aliasing to look poorly

  • Wenn das minimale Kontrastverhältnis aktiviert ist und die Leuchtdichte des Textes umgekehrt werden muss, um das Verhältnis sicherzustellen, wird der Farbton des Textes nun beibehalten.

    Bold yellow text on red in some themes will now display as dark yellow instead dark grey

  • Der neue Theme-Schlüssel terminal.inactiveSelectionBackground ist verfügbar, um eine andere Hintergrundfarbe für die Auswahl anzuzeigen, unabhängig davon, ob das Terminal fokussiert ist oder nicht, um besser mit dem Editor übereinzustimmen.

    Most themes now dim the selection background color when not focused

  • Benutzerdefinierte Powerline-Glyphen-Darstellung wurde mit verbesserter Kantenschneidung versehen. Dies ist besonders bei den Halbkreiszeichen bemerkbar, die nun eine glatte Kurve darstellen sollten.

    Powerline glyphs are no longer cut off on the edges

Aufgaben

Wiederverbindung nach Fensterneuladen

Watch-Aufgaben werden nun beim Neuladen des Fensters wieder verbunden, was unterbrechungsfreies Arbeiten ermöglicht, wenn VS Code aktualisiert wird oder sich der Zustand einer Erweiterung ändert. Die Aufgabenwiederverbindung ist standardmäßig aktiviert, kann aber mit der Einstellung task.reconnection deaktiviert werden.

Debugging

suppressMultipleSessionWarning-Option in launch.json

Wenn Sie versuchen, mit einer Startkonfiguration zu debuggen, aber bereits eine aktive Debug-Sitzung für diese Konfiguration besteht, zeigt VS Code ein Warnungsdialogfeld an, bevor die zweite Instanz gestartet wird. Dies geschieht leicht versehentlich und ist normalerweise nicht beabsichtigt. Wenn das Ausführen mehrerer Instanzen derselben Konfiguration jedoch Teil Ihres Workflows ist, können Sie diese Warnung jetzt deaktivieren, indem Sie "suppressMultipleSessionWarning": true zu Ihrer launch.json-Konfigurationsdatei hinzufügen.

Kommentare

Filtern

Die Kommentare-Ansicht verfügt über einen neuen Filter, mit dem Sie nach Kommentartext und nach aufgelöstem/nicht aufgelöstem Status filtern können.

Editor-Dekoration

Die Dekoration des Kommentare-Editors am Rand verwendet nun Codicons und hat ein neues Styling.

Sprachen

TypeScript 4.8

VS Code wird jetzt mit TypeScript 4.8.2 ausgeliefert. Dieses wichtige Update bringt Sprachverbesserungen für die Typüberprüfung und -ableitung. Auf der Werkzeugseite sollten Sie auch einige schöne Leistungsverbesserungen und Fehlerbehebungen sehen!

Lesen Sie die TypeScript 4.8-Ankündigung für weitere Details zu diesem Update.

TypeScript-Livestreams

Und wenn Sie die VS Code Livestreams zu TypeScript verpasst haben, werfen Sie einen Blick auf zwei aktuelle Sitzungen mit Matt Pocock.

VS Code livestreams page

Beiträge zu Erweiterungen

Jupyter

Einfügen von Notebook-Bildern

Die Jupyter-Erweiterung ermöglicht es Benutzern jetzt, Screenshots oder Bilddateien in Markdown-Zellen in ihren Notebooks einzufügen. Derzeit nur für den image/png-Mimetyp unterstützt. Um die Funktion zu nutzen, fügen Sie die folgenden Einstellungen hinzu/aktivieren Sie sie:

"ipynb.experimental.pasteImages.enabled": true
"editor.experimental.pasteActions.enabled": true

Verbesserte IntelliSense für Jupyter-Notebooks mit Pylance

Die IntelliSense-Unterstützung für Jupyter-Notebooks mit Python-Kerneln ist jetzt deutlich besser, wenn Pylance verwendet wird, dank der Updates im Language Server Protocol, die die Notebook-Unterstützung beinhalten.

Sie erhalten nicht nur verbesserte Autovervollständigungsoptionen beim Schreiben von Python-Code in Notebook-Dateien, sondern können auch Refactoring-Funktionen wie Variable extrahieren, Methode extrahieren und Symbol umbenennen nutzen, sowie automatische Importe und semantisches Hervorheben.

Thema: Horizon Extended (Vorschau auf vscode.dev)

Live-Vorschau

Die Live Preview-Erweiterung unterstützt nun offiziell Multi-Root-Arbeitsbereiche! Obwohl Benutzer Live Preview technisch in Multi-Root-Arbeitsbereichen zuvor verwenden konnten, gibt es nun eine sauberere Implementierung, die sie unterstützt.

Die Live Preview-Erweiterung startet nun einen neuen Server für jede Wurzel in Ihrem Multi-Root-Arbeitsbereich. Daher funktionieren Links, die relativ zur Wurzel Ihres Projekts sind (die mit einem / beginnen), ordnungsgemäß beim Vorschauen von Multi-Root-Arbeitsbereichen.

Thema: GitHub Dark Dimmed (Vorschau auf vscode.dev)

Sie können die von der Erweiterung geöffneten Server anzeigen, indem Sie mit der Maus über den Statusleistenindikator von Live Preview (unten rechts) fahren. Im Bild unten wurde ein Server für jeden Arbeitsbereich gestartet (auf den Ports 3000 und 3002) und ein weiterer Server für eine Datei, die nicht zu einem offenen Arbeitsbereich gehörte, gestartet (auf Port 3004).

Live Preview multi-root ports displayed from the Status bar indicator

Installieren Sie die Live Preview-Erweiterung und probieren Sie sie noch heute aus! 📡✨🔎

GitHub Pull Requests und Issues

Es wurden weitere Fortschritte bei der GitHub Pull Requests and Issues-Erweiterung erzielt, die es Ihnen ermöglicht, Pull-Anfragen und Issues zu bearbeiten, zu erstellen und zu verwalten. Highlights dieser Version sind:

  • Benachrichtigungen für Pull Requests.
  • Überprüfungs-Kommentare können direkt aus der Pull Request-Übersicht aufgelöst/nicht aufgelöst werden.

Schauen Sie sich das Changelog für Version 0.50.0 der Erweiterung an, um die anderen Highlights zu sehen.

Remote-Entwicklung

Die Arbeit an den Remote Development-Erweiterungen wird fortgesetzt. Diese ermöglichen es Ihnen, einen Container, eine Remote-Maschine oder das Windows Subsystem for Linux (WSL) als voll ausgestattete Entwicklungsumgebung zu nutzen.

Sie können mehr über neue Erweiterungsfunktionen und Fehlerbehebungen in den Release Notes für Remote Development erfahren.

Vorschau-Funktionen

Sind Sie es leid, versehentlich Links oder Bilder in Ihrem Markdown zu beschädigen, wenn Sie Dateien verschieben oder umbenennen? Probieren Sie die neue Einstellung markdown.experimental.updateLinksOnFileMove.enabled aus!

Mit dieser neuen experimentellen Einstellung werden Links und Bilder in Markdown automatisch aktualisiert, wenn Dateien im VS Code Explorer verschoben oder umbenannt werden.

Dieses neue Verhalten kann über die Einstellung markdown.experimental.updateLinksOnFileMove.enabled aktiviert werden. Sie können die betroffenen Dateitypen über markdown.experimental.updateLinksOnFileMove.externalFileGlobs steuern.

Probieren Sie diese neue Funktion aus und geben Sie uns Feedback.

Einstellungsprofile

Wir haben in den letzten Monaten daran gearbeitet, Einstellungen-Profile in VS Code zu unterstützen, was eine der gefragtesten Funktionen der Community ist. Diese Funktion ist über die Einstellung workbench.experimental.settingsProfiles.enabled zur Vorschau verfügbar. Probieren Sie sie aus und geben Sie uns Ihr Feedback, indem Sie Issues im vscode-Repository erstellen oder in Issue #116740 kommentieren.

Kommandozeilenschnittstelle

In diesem Meilenstein haben wir Unterstützung für die Kommandozeilenschnittstelle (CLI) für Einstellungen-Profile hinzugefügt. Sie können nun den Namen des Profils mit dem Argument --profile übergeben und einen Ordner oder Arbeitsbereich mit diesem Profil öffnen. Der folgende Befehl öffnet den Ordner web-sample mit dem Profil "Web Development".

code ~/projects/web-sample --profile "Web Development"

Wenn das angegebene Profil nicht existiert, wird ein neues leeres Profil mit dem angegebenen Namen erstellt.

Temporäres Einstellungen-Profil

Es gibt nun auch Unterstützung für ein Temporäres Einstellungen-Profil, das erstellt und vorübergehend einem Ordner oder Arbeitsbereich zugeordnet werden kann. Ein temporäres Profil wird automatisch gelöscht, sobald es keinem Ordner oder Arbeitsbereich mehr zugeordnet ist.

Im kurzen Video unten sehen Sie, wie beim Öffnen eines Ordners und Auswählen des Befehls Einstellungen-Profile: Temporäres Einstellungen-Profil erstellen ein neues Profil 'Temp 1' erstellt wird, das in der Profiliste sichtbar ist. Wenn der Ordner geschlossen wird, wird das Profil 'Temp 1' gelöscht.

Sie können auch ein temporäres Einstellungen-Profil erstellen und es über die CLI mit dem Schalter --profile-temp einem Ordner oder Arbeitsbereich zuordnen. Die folgende Befehlszeile öffnet den Ordner try-out-sample mit einem temporären Profil, das nach dem Schließen des Ordners gelöscht wird.

code ~/projects/try-out-sample --profile-temp

Nehmen Sie Ihre Änderungen mit, wenn Sie zwischen Entwicklungsumgebungen wechseln

Wenn Sie ein GitHub- oder Azure Repos-Repository durchsuchen, wie z. B. https://vscode.dev/github/microsoft/vscode, können Sie den Befehl Weiterarbeiten an verwenden, um eine andere Entwicklungsumgebung für Ihr Repository auszuwählen.

Zuvor mussten Sie, wenn Sie unbestätigte Änderungen in Ihrem virtuellen Arbeitsbereich hatten, diese zu GitHub oder Azure Repos pushen, um sie anderswo anzuzeigen. In diesem Meilenstein haben wir die Integration von Edit Sessions in die Funktion Weiterarbeiten an integriert, sodass Ihre unbestätigten Änderungen Sie automatisch zu Ihrer Zielentwicklungsumgebung, wie z. B. einem GitHub Codespace, mitnehmen.

Im folgenden Video werden die Änderungen des Benutzers an einer TypeScript-Datei, die bei der Verwendung von VS Code für das Web vorgenommen wurden, übernommen, wenn er einen neuen GitHub Codespace erstellt und zu diesem wechselt.

Um dies auszuprobieren, stellen Sie "workbench.experimental.editSessions.enabled": true in Ihren Einstellungen ein, aktivieren Sie die Einstellungen-Synchronisierung und führen Sie den Befehl Edit Sessions: Anmelden in VS Code für das Web oder Desktop aus.

Wenn Sie VS Code für das Web verwenden, werden Ihre unbestätigten Änderungen mit Ihnen mitgenommen, wenn Sie Weiterarbeiten an in

  • Eine neue Cloud-gehostete Umgebung in GitHub Codespaces
  • Ein neuer lokaler Klon Ihres GitHub-Repositorys
  • Eine lokale VS Code-Instanz mit demselben virtuellen GitHub-Repository

Wenn Sie Desktop-VS Code mit der Remote Repositories-Erweiterung verwenden, werden Ihre unbestätigten Änderungen mit Ihnen mitgenommen, wenn Sie Weiterarbeiten an in

  • Eine Cloud-gehostete Umgebung in GitHub Codespaces (verfügbar über die GitHub Codespaces-Erweiterung)
  • Ein neuer lokaler Klon Ihres GitHub-Repositorys
  • Ein neuer Klon Ihres GitHub-Repositorys in einem Container-Volume (verfügbar über die Dev Containers-Erweiterung)
  • https://vscode.dev
  • Ein vorhandener lokaler Ordner, der einen Klon Ihres Repositorys enthält

Erweiterungsentwicklung

TerminalExitStatus.reason

Erweiterungsautoren erhalten nun durch die neue API TerminalExitReason einen besseren Einblick in den Grund für das Beenden eines Terminals.

export enum TerminalExitReason {
  Unknown = 0,
  Shutdown = 1,
  Process = 2,
  User = 3,
  Extension = 4
}

Dokumentation für Enum-Einstellungen enumItemLabels

Enum-Einstellungen im Einstellungseditor unterstützen den Schlüssel enumItemLabels, mit dem der Erweiterungsautor die anzuzeigenden Werte in den Dropdownlisten für die enum-Werte festlegen kann.

Example of enumItemLabels with a mock setting. The select box displays the label value, and the dropdown options display both the label value and the enum value, though the enum values are rendered less prominently.

Thema: Light Pink (Vorschau auf vscode.dev)

Neuer Kontextschlüssel activeWebviewPanelId

Der neue Kontextschlüssel activeWebviewPanelId verfolgt den viewType des aktuell fokussierten Webview-Panels. Sie können ihn in when-Klauseln verwenden, um Befehle oder Menüeinträge zu aktivieren, wenn Ihr Webview fokussiert ist.

"when": "activeWebviewPanelId == 'markdown.preview'"

TypeScript-Server-Plugins im Web

TypeScript-Sprachdienst-Plugins werden nun im Web unterstützt. Dies gilt für Plugins, die von Erweiterungen über den typescriptServerPlugins-Beitragspunkt beigesteuert werden.

Um loszulegen, müssen Sie TypeScript zunächst mitteilen, dass Ihr Plugin webfähig ist, indem Sie in Ihrer package.json einen browser-Einstiegspunkt zusätzlich zu main hinzufügen.

"main": "out/main.js",
"browser": "out/main.browser.js"

Der browser-Einstiegspunkt muss ein JavaScript-Modul sein, das eine Standardfunktion exportiert, die das Plugin aktiviert.

export default function init(modules: { typescript: typeof import("typescript/lib/tsserverlibrary") }) {
  ...
};

Denken Sie daran, dass Ihr Plugin im Web in einer normalen Web Worker-Umgebung ausgeführt wird. Daher können Sie keine Node.js-APIs wie fs verwenden.

Deaktivierte Baum-Elemente

Baum-Elemente mit Befehlen, deren Aktivierungsbedingung false ergibt, werden als deaktiviert angezeigt.

Markdown-Sprachserver

Die Markdown-Unterstützung in VS Code wurde als vollwertiger Sprachserver neu implementiert. Lesen Sie über den Weg von Matt Bierner in seinem Blogbeitrag über den Markdown-Sprachserver, in dem er das Hinzufügen von Funktionen für Programmiersprachen wie Alle Referenzen suchen, Symbol umbenennen und Erkennung defekter Links für Markdown-Dateien beschreibt.

Bevorstehende Änderung des Kontexts des Menüs 'view/title'

Im August haben wir versucht, den Fokus und die Auswahl des Baums einer Ansicht für Befehle, die zum Menü view/title einer Baumansicht beigesteuert werden, zu übergeben. In dieser Version wurde die Änderung rückgängig gemacht, da sie zu Problemen für einige Erweiterungen führte. Wir möchten die Änderung zurückbringen und im September veröffentlichen. Wenn dieses Update Ihre Erweiterung beeinträchtigt oder Sie dieses Verhalten für unerwünscht halten, hinterlassen Sie bitte einen Kommentar in Issue #42903.

Debug Adapter Protocol

Vorschlag für eine 'startDebugging'-Anfrage

Heute unterstützt VS Code mehrere gleichzeitige Debug-Sitzungen, aber das Debug Adapter Protocol (DAP) deckt nur eine einzige Sitzung ab. Das bedeutet, dass das programmgesteuerte Erstellen neuer Debug-Sitzungen kein Teil von DAP ist und nur außerhalb von DAP oder des Debug-Adapters, typischerweise in der Debug-Erweiterung, die den Debug-Adapter enthält, erfolgen kann. Eine Folge davon ist, dass Multi-Sitzungs-Funktionalität, wie das Debuggen von Kindprozessen, für Nicht-VS Code DAP-Clients, die nur den Debug-Adapter und nicht die VS Code-spezifische Debug-Erweiterung wiederverwenden, nicht einfach verfügbar ist.

Um diese Situation zu verbessern, planen wir, eine neue umgekehrte Anfrage an DAP hinzuzufügen, um eine neue Debug-Sitzung aus dem Debug-Adapter heraus zu erstellen. Nach einigen Diskussionsrunden haben wir einen Vorschlag für eine umgekehrte Anfrage startDebugging vorbereitet. Wenn Sie ein Autor einer Debug-Erweiterung oder eines DAP-Clients sind und an dieser DAP-Protokollergänzung interessiert sind, würden wir uns über Ihr Feedback freuen.

Technik

Electron 19 Update

In diesem Meilenstein haben wir die Untersuchung abgeschlossen, Electron 19 in VS Code Desktop zu bündeln, und wir möchten allen danken, die sich an der Selbsthosting auf Insiders beteiligt haben. Dieses Update kommt mit Chromium 102.0.5005.167 und Node.js 16.14.2.

Der Support für Windows 7 wurde eingestellt

Microsoft hat die Unterstützung für Windows 7 im Januar 2020 eingestellt. Electron unterstützte jedoch weiterhin Windows 7, indem die Bibliothek libuv gepatcht wurde. Mit dem Electron 19 Update funktioniert der libuv-Patch nicht mehr, und wir empfehlen den Benutzern, auf eine neuere Windows-Version zu aktualisieren, um die VS Code Desktop-Version nutzen zu können. VS Code wird keine Produktupdates und Sicherheitspatches mehr für Windows 7 bereitstellen. Weitere Informationen zur Aktualisierung von Windows finden Sie unter support.microsoft.com.

Bemerkenswerte Fehlerbehebungen

  • 115768 Windows: Unterschiedliche Zoomstufen auf verschiedenen Monitoren können Fenster nicht an der richtigen Stelle wiederherstellen
  • 133444 Ziehen des Einstellungs-Tabs in eine andere Editor-Gruppe löscht die Suchanfrage
  • 140305 Das Hauptfenster, das sich über mehrere Bildschirme erstreckt, stellt die Position beim erneuten Öffnen nicht wieder her
  • 146683 Fehler im Layoutstil des Fensters beim Öffnen
  • 148492 Plattformunabhängige Pfade für die Arbeitsbereichsdatei verwenden
  • 154963 Codicon-Unterstützung in Erweiterungs-Walkthroughs behoben
  • 155341 Piping in VS Code schlägt fehl, wenn Daten verzögert geschrieben werden
  • 156075 [Emmet] sprachspezifisches "Erweiterung beim Tippen auslösen"
  • 156385 "Zuletzt ausgeführter Befehl" zeigt aufgelöste Aliase an - ls hängt --color=auto an den ausgeführten Befehl an

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 devcontainers/cli

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