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.
- Verbesserungen am Merge-Editor - Einfacherer Übergang zwischen Text- und Merge-Editor.
- Erweiterte Codec-Unterstützung - Zur Anzeige von eingebettetem Audio und Video in Notebooks und Webviews.
- Dateiumbenennungs-Auswahl - Durch Drücken von F2 wird der Dateiname, der gesamte Name oder die Dateierweiterung ausgewählt.
- Neue Benutzeroberfläche für Code-Aktionen - Finden Sie schnell die gewünschte Code-Aktion.
- Terminal-Updates - Shell-Integration für Fish und Git Bash, neues sanftes Scrollen.
- Einfügen von Jupyter-Notebook-Bildern - Bilddateien in Markdown-Zellen von Notebooks einfügen und vorab anzeigen.
- TypeScript-Livestreams - Sehen Sie sich den TS "Crashkurs" oder "Tipps und Tricks" auf YouTube an.
- Live Preview-Erweiterung - Live Preview unterstützt jetzt Multi-Root-Webprojekte.
- Blogbeitrag zum Markdown-Sprachserver - Erfahren Sie, wie die Markdown-Unterstützung zu einem Sprachserver wurde.
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.

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.

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 + Klickim 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.

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.

Sie können auch die Tastenkombinationen zum Navigieren durch die Code-Aktionsliste anpassen, indem Sie die Tastenkombinationen für die folgenden Befehle ändern:
selectNextCodeActionselectPrevCodeActionacceptSelectedCodeAction
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.

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

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!

-
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.

-
Der neue Theme-Schlüssel
terminal.inactiveSelectionBackgroundist 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.
-
Benutzerdefinierte Powerline-Glyphen-Darstellung wurde mit verbesserter Kantenschneidung versehen. Dies ist besonders bei den Halbkreiszeichen bemerkbar, die nun eine glatte Kurve darstellen sollten.

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.

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).

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
Aktualisierung von Markdown-Links bei Datei-Verschiebung und Umbenennung
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.

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 -
lshängt--color=autoan 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
- John Murray (@gjsjohnmurray)
- Andrii Dieiev (@IllusionMH)
- Simon Chan (@yume-chan)
- RedCMD (@RedCMD)
- ArturoDent (@ArturoDent)
Pull-Anfragen
Beiträge zu vscode
- @babakks (Babak K. Shandiz)
- 🎁 Unterstützung für
fish-Shell-Verlauf hinzugefügt PR #156058 - 🎁 Unterstützung für die CWD-Escape-Sequenz anderer Terminals PR #157783
- 🎁 Unterstützung für
- @Balastrong (Leonardo Montini): Mauszeiger im Monaco-Auswahlfeld für Konsistenz hinzugefügt PR #152976
- @ChaseKnowlden
offline_accesszur Liste der Standard-Scopes hinzufügen PR #157453- Tippfehler im geheimen Zustand behoben PR #157559
- @CsCherrYY (Shi Chen): Unterstützung für das Wechseln zwischen benutzerdefinierten Ansichten in der Referenzansicht-API PR #152008
- @DingWeizhe (DingWeizhe): Korrigiere die Startzeilennummer für den Sticky-Scroll PR #157466
- @dirondin (Mikhail Po): Korrigiere #147912 (Debug-Option für multipleSessionWarning) PR #147914
- @emeric-martineau (Emeric MARTINEAU): Korrigiere Commit für Vereinfachung der PROMPT_COMMAND-Verarbeitung in Bash PR #157631
- @etriebe (Eric Triebe): Füge eine Option hinzu, um allowMidWordMatch als Einstellung verfügbar zu machen PR #152292
- @Evpok (Evpok): Aktiviere Wayland-Build für Snaps PR #156551
- @FantasqueX (FantasqueX)
- Ersetze das veraltete "canceled" durch "Cancellation Error" in ipc.ts PR #156965
- Korrigiere Tippfehler in files.ts PR #157280
- @ferdnyc (Frank Dana): RPM-Paketierung: Verwende Standardmakros PR #153247
- @gjsjohnmurray (John Murray)
- Korrigiere die anfängliche Fenstergröße auf dem sekundären Anzeigegerät unter Windows mit unterschiedlichem Skalierungsfaktor (#_146499) PR #155589
- Zeige das Problem melden-Fenster in der Taskleiste an (#_130497) PR #156141
- Verweise nicht auf veraltete
terminal.integrated.automationShell.*-Einstellungen (#_156481) PR #156486 - Stelle einen gültigen markdown-spezifischen Standard für die Einstellung
editor.quickSuggestionsbereit (#_156686) PR #156689 - Füge eine Schaltfläche zum Schließen der SCM-Editor-Validierungsnachricht hinzu (#_143036) PR #158131
- @juihanamshet1 (Jui Hanamshet): Wenn Klammern entfernt werden, reduziere den Bereich. Wenn Klammern hinzugefügt werden, erhöhe den Bereich. PR #156313
- @kidonng (Kid): Korrigiere das Fish-Integrationsskript, wenn die Befehlszeile leer ist PR #157778
- @MaddyDev (Maddy): Prüfe den Kleinbuchstabenwert bei validExtensions PR #158319
- @MonadChains (MonadChains): Korrigiere die Auswahl, wenn die Grenzen des Terminals erreicht sind PR #156071
- @pingren (Ping)
- Korrigiere isStandalone, wenn PWA in den Vollbildmodus wechselt PR #156424
- Füge Umgebungsvariable für terminalProcess getCwd Unicode-Pfad auf macOS hinzu PR #157377
- @r3m0t (Tomer Chachamu): Erbe mehr Einstellungen während der Erweiterungsentwicklung PR #151872
- @Semesse (Semesse)
- Überspringe die Prüfung des zusammengeklappten Zustands für verschachtelte Kinder beim Ablegen von Dateien im Explorer PR #156759
- Korrigiere den Test für Sprachfunktionen in exthost PR #158782
- @ssigwart (Stephen Sigwart): Korrigiere die nicht aktualisierte Titelleiste des Sucheditors PR #156011
- @SvanT (Svante Boberg): Bereinige entsorgte Terminals PR #156326
- @zgracem (Amy Grace)
- Füge das Shell-Integrationsskript für Fish hinzu PR #157291
- Verbessere die Fish-Shell-Integration im Vi-Modus PR #158127
- @zhuowei: simpleFileDialog: Frage den Benutzer, ob das Verzeichnis erstellt werden soll, wenn es beim Speichern nicht existiert PR #152536
Beiträge zu vscode-extension-samples
- @gjsjohnmurray (John Murray): lsp-embedded-request-forwarding: URI nicht kodieren, die in der Map verwendet wird (Korrektur #682) PR #683
Beiträge zu devcontainers/cli
- @leopoldsedev (Christian Leopoldseder): Implementiere optionale Standardwerte in den lokalen/Container-Umgebungsexpansionen PR #51