März 2021 (Version 1.55)
Update 1.55.1: Das Update behebt diese Probleme.
Update 1.55.2: Das Update behebt diese Sicherheitsprobleme.
Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Willkommen zur Veröffentlichung von Visual Studio Code im März 2021. Diese Version enthält eine Reihe von Updates, die Ihnen hoffentlich gefallen werden. Zu den wichtigsten Highlights gehören:
- Verbesserungen der Barrierefreiheit - Unterstützung für mehrere Cursor und erhöhte Zeilenbegrenzung.
- Aktualisierte Marken-Icons für macOS Big Sur - Marken-Icons, die zum visuellen Stil von Big Sur passen.
- Verbesserungen bei Haltepunkten - Inline-Menü für Haltepunkte und mehr.
- Editor-Statusdekorationen standardmäßig aktiviert - Statusdekorationen für Editor-Tabs sind standardmäßig aktiviert.
- Anpassen des Editors für Tastenkombinationen - Spalten im Editor für Tastenkombinationen können in der Größe verändert werden.
- Verbessertes Management von Remote-Ports - Automatische Erkennung von Port-Weiterleitungen, Regex-Benennung und mehr.
- Terminalprofile - Definieren Sie Profile im Terminal, um Nicht-Standard-Shells bequem zu starten.
- Notebook-Verbesserungen - Mehrfachauswahl von Zellen und besser anpassbarer Diff-Editor.
- VS Code auf dem Raspberry Pi - Neues Thema, das erklärt, wie VS Code auf Raspberry Pi-Geräten installiert wird.
Wenn Sie diese Release Notes online lesen möchten, gehen Sie zu Updates auf code.visualstudio.com.
Seien Sie live dabei im Livestream des VS Code-Teams am Donnerstag, den 8. April um 8 Uhr Pazifikzeit (16 Uhr London), um eine Demo der Neuerungen dieser Version zu sehen und uns live Fragen zu stellen.
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
Unterstützung für mehrere Cursor
Wir haben eine erstmalige Unterstützung für Bildschirmsprachausgaben für mehrere Cursor hinzugefügt. Bei jedem Hinzufügen eines neuen Cursors gibt VS Code dies zusammen mit der Zeilen- und Spaltenposition des Cursors bekannt. VS Code gibt auch bekannt, wenn sekundäre Cursor entfernt wurden. Wir planen, die Barrierefreiheit für mehrere Cursor weiter zu verbessern, sobald wir mehr Feedback erhalten.
Erhöhte Zeilenbegrenzung auf 1000 für Bildschirmsprachausgabe
Dank der Behebung von Problemen in Upstream-Projekten haben wir die Anzahl der Zeilen erhöht, die ein "Alle sagen"-Befehl lesen kann. Zuvor gab es eine harte Grenze von 100 Zeilen, die gleichzeitig von einer Bildschirmsprachausgabe angesagt werden konnten, und wir haben diese Grenze nun auf 1000 erhöht. Weitere Upstream-Korrekturen sind erforderlich, damit wir überhaupt keine Begrenzung mehr haben.
Aufgrund dieser Änderung ist die Einstellung editor.accessibilityPageSize nun veraltet. Wir werden diese Einstellung noch in den nächsten paar Versionen unterstützen, planen jedoch, sie zukünftig vollständig zu entfernen.
Workbench
Verschlüsselungsupdate unter Windows
Wir haben die Art und Weise geändert, wie wir Geheimnisse unter Windows verschlüsseln, was sich auf die Einstellungssynchronisierung und Erweiterungen auswirkt, die die secrets-API verwenden. Benutzer unter Windows werden beim Update automatisch abgemeldet und müssen sich erneut authentifizieren.
Aktualisierte Marken-Icons für macOS Big Sur
![]()
Wir haben daran gearbeitet, die VS Code-Marken-Icons unter macOS zu aktualisieren, um sie an den neuen visuellen Stil von Big Sur anzupassen. Wir haben uns über das Feedback der Community gefreut und sind glücklich, die neuen Logos für Stable und Insiders zu veröffentlichen. Wir verwenden die gleichen Logos auch auf allen Plattformen.
| Stable | Insiders | Exploration |
|---|---|---|
Verbesserte Sash-Anpassung
Eine neue Einstellung workbench.sash.hoverDelay ermöglicht es Ihnen, die Verzögerung für das Hover-Feedback von Sashes zu definieren. Die bestehende Einstellung workbench.sash.size wurde verbessert, um weiterhin eine große Greiffläche für Touch-Geräte zu bieten und gleichzeitig die Benutzeroberfläche sauber zu halten.
Verbesserte Listen-/Baum-Navigation
Listen und Bäume unterstützen jetzt einen benutzerdefinierten Modus für die Tastaturnavigation, der sich in bestimmten Bereichen wie Notebooks natürlicher verhält.
Darüber hinaus verhalten sich Shift+Klick-Bereichsauswahlen deterministischer.
Tab-Dekorationen standardmäßig aktiviert
Tab-Dekorationen für Editoren sind jetzt standardmäßig aktiviert. Zur Konfiguration verwenden Sie workbench.editor.decorations.colors und workbench.editor.decorations.badges
Thema: GitHub Light Theme
Spalten im Editor für Tastenkombinationen in der Größe ändern
Der Editor für Tastenkombinationen wurde nun refaktorisiert, um das neue Tabellen-Widget zu verwenden, wodurch Benutzer die Spalten im Editor in der Größe ändern können.
Verbesserungen der Erweiterungsverwaltung
-
VS Code erkennt nun Erweiterungen, die über die VS Code CLI installiert/deinstalliert wurden. Erweiterungen können im aktiven Fenster (Instanz) aktiviert/deaktiviert und korrekt in der Erweiterungsansicht angezeigt werden.
-
VS Code zeigt nun die Gruppe von Erweiterungen, die in einer Erweiterung enthalten sind, die die Eigenschaft
extensionPackfestlegt, in einem separaten Tab Extension Pack an, auch wenn die Erweiterung nicht als Extension Packs kategorisiert ist.

Thema: GitHub Light Theme
Negative Textfilterung in der Probleme-Ansicht
Sie können nun Probleme filtern, die keinen bestimmten Text enthalten, aus der Probleme-Ansicht, indem Sie ein ! vor den Filtertext stellen.
Berichterstattung über Marketplace-Probleme
Letzten Monat haben wir darauf hingewiesen, dass es ein neues öffentliches Repository für Probleme im Zusammenhang mit dem Extension Marketplace gibt. Nun unterstützt der Issue Reporter von VS Code das Erstellen von Problemen in diesem Repository.
Konfigurieren der Baum-Hover-Verzögerung
Die Hover-Verzögerung für von Erweiterungen beigesteuerte Baumansichten kann nun mit workbench.hover.delay konfiguriert werden.
Emmet
Die Einstellung emmet.extensionsPath akzeptiert nun nur noch String-Arrays und kann direkt im Einstellungseditor bearbeitet werden.
Suche in geöffneten Editoren
Sie können nun das Kontrollkästchen Nur in geöffneten Editoren suchen in der Arbeitsbereichssuche umschalten, um von der Suche im gesamten Arbeitsbereich zu einer Suche nur in Dateien zu wechseln, die in Editor-Tabs geöffnet wurden. Dies war zuvor über eine Opt-in-Funktion aktiviert, in dieser Iteration haben wir das Verhalten mit noch nicht geladenen Dateien in der VS Code-Sitzung verbessert und es standardmäßig aktiviert.
Steuern der Schriftgröße der Source Control Eingabe
Sie können nun die Schriftgröße der Source Control Eingabe über die neue Einstellung scm.inputFontSize ändern.
Integriertes Terminal
Terminalprofile
Das Terminal unterstützt nun definierte Profile, die im Dropdown-Menü des Terminals erscheinen, um Nicht-Standard-Shells bequem zu starten.

VS Code erkennt und zeigt automatisch einige der am häufigsten verwendeten Shells über dieses Menü an, sie können aber auch über die Einstellung terminal.integrated.profiles.<platform> konfiguriert werden. Mit dieser Einstellung ist es möglich, neue Profile hinzuzufügen, bestehende Profile zu ändern und Standardprofile zu entfernen. Zum Beispiel:
"terminal.integrated.profiles.windows": {
// Add a PowerShell profile that doesn't run the profile
"PowerShell (No Profile)": {
// Some sources are available which auto detect complex cases
"source": "PowerShell",
"args": ["-NoProfile"],
// Name the terminal "PowerShell (No Profile)" to differentiate it
"overrideName": true
},
// Remove the builtin Git Bash profile
"Git Bash": null,
// Add a Cygwin profile
"Cygwin": {
"path": "C:\\cygwin64\\bin\\bash.exe",
"args": ["--login"]
}
}
Der empfohlene Weg, ein Profil initial hinzuzufügen, ist über den Befehl Standardprofil auswählen, der die Erstellung von Profilen basierend auf einem bestehenden Profil oder anderen erkannten Shells ermöglicht.

Automatisch erkannte WSL-Profile und verbesserte Standardeinstellungen unter Windows
Neben der neuen Profilfunktion erkennen wir nun automatisch WSL-Profile und zeigen sie standardmäßig in der Liste an. Dies kann mit der Einstellung terminal.integrated.useWslProfiles deaktiviert werden.
Cygwin wird nun ebenfalls automatisch erkannt und im Befehl Standardprofil auswählen angezeigt, und Git Bash wird als Login-Shell ausgeführt (~/.bash_profile wird ausgeführt).
WebGL-Renderer ist der neue Standard
Der WebGL-Renderer wurde erstmals im November 2019 Release experimentell eingeführt und könnte nach unseren damaligen Berechnungen die Leistung um bis zu 900 % steigern, und noch mehr, wenn Ihre Umgebung Probleme mit dem Rendering über einen Standard-2D-Canvas-Kontext hatte.
Seitdem hat sich der WebGL-Renderer schrittweise in Bezug auf Stabilität verbessert und seine Funktionslücken wurden geschlossen. Wir haben uns entschieden, jetzt den Übergang zu machen, werden aber auf alle Fehlerberichte achten.
Als Teil dieser Arbeit haben wir auch einige Fallback-Logiken hinzugefügt. Wenn "terminal.integrated.rendererType": "auto" gesetzt ist, geschieht Folgendes:
- Der WebGL-Renderer versucht zu starten.
- Wenn er fehlschlägt, z. B. aufgrund fehlender Betriebssystem-/Browserunterstützung
- Der Canvas-Renderer wird aktiviert und die Zeit für das Rendern eines Frames wird gemessen.
- Wenn die ersten 20 Frames langsam gerendert werden, z. B. aufgrund von Hardwareproblemen oder deaktivierter GPU-Beschleunigung
- Der DOM-Renderer wird aktiviert.
In der nächsten Version planen wir, die Einstellung rendererType vollständig zu entfernen und stattdessen "terminal.integrated.gpuAcceleration": "auto" | "on" | "off" zu verwenden, was viel verständlicher ist.
Nahtloses Neustarten von Terminals
In der letzten Version haben wir das automatische Neustarten von Terminals eingeführt, wenn eine Erweiterung die Umgebung ändern möchte. Diese Version verhindert nun das Flackern, das zuvor beim Neustart auftrat. Wenn die Ausgabe des neuen Terminals identisch mit der vorherigen ist, gibt es keine Rückmeldung oder Ablenkungen durch den Neustart.
Es gibt auch eine neue Einstellung, um diesen automatischen Neustart komplett zu deaktivieren: terminal.integrated.environmentChangesRelaunch.
Editor
Neues automatisches Löschen von schließenden Klammern
Das Verhalten beim Drücken von Backspace innerhalb von automatisch schließenden Klammern wurde geändert. Der Editor löscht nun die passende schließende Klammer oder das passende schließende Anführungszeichen nur dann, wenn der Editor dieses Zeichen automatisch eingefügt hat. Dieses Verhalten wird über eine neu eingeführte Einstellung namens editor.autoClosingDelete gesteuert, die auf "always" konfiguriert werden kann, um das vorherige Verhalten zu erhalten.
Debugging
Verbesserungen bei Haltepunkten
Inline-Menü zum Bearbeiten von Bedingungen und Trefferzählungen
Wir zeigen nun ein Inline-Menü zum Bearbeiten von Bedingungen und Trefferzählungen für Funktionshaltepunkte an. Zuvor wählte der Inline-Bearbeiten-Button automatisch aus, welche Bedingung bearbeitet werden sollte. Jetzt sollte das Menü den Ablauf erleichtern und dem Benutzer mehr Kontrolle geben.

Unterstützung für alle Zugriffstypen von Datenhaltepunkten
Nun unterstützt die generische Debugger-Benutzeroberfläche von VS Code alle von der Debug Adapter Protocol definierten Datenhaltepunkt-Zugriffstypen als Kontextmenü-Aktionen in der Variablenansicht.
- Unterbrechen bei Wertlesen: Der Haltepunkt wird jedes Mal ausgelöst, wenn eine Variable gelesen wird.
- Unterbrechen bei Wertänderung: Der Haltepunkt wird jedes Mal ausgelöst, wenn eine Variable geändert wird (diese Aktion war zuvor verfügbar).
- Unterbrechen bei Wertzugriff: Der Haltepunkt wird jedes Mal ausgelöst, wenn eine Variable gelesen oder geändert wird.
Bitte beachten Sie, dass Debug-Erweiterungen sich für diese Funktion entscheiden müssen, um einzelne Aktionen verfügbar zu machen. Bisher hat nur die Mock Debug-Erweiterung (simulierte) Unterstützung für alle drei Zugriffstypen, aber wir erwarten, dass andere Debug-Erweiterungen bald folgen werden – wie z. B. die Java-Erweiterung.

Löschen eines Terminals vor dem Starten eines Debug-Ziels
Einige Debug-Erweiterungen erlauben Ihnen, Debug-Ziele im integrierten Terminal von VS Code zu starten. Um die Anzahl der integrierten Terminals gering zu halten, versucht VS Code, ein Terminal wiederzuverwenden, wenn es nicht durch einen noch laufenden Befehl blockiert ist. Eine Folge dieses Ansatzes ist, dass frühere Befehle und Programmausgaben im Terminal sichtbar bleiben, was manchmal verwirrend ist.
In dieser Version haben wir eine neue Funktion eingeführt, um das integrierte Terminal automatisch zu löschen, bevor eine neue Debug-Sitzung gestartet wird. Die Funktion wird durch die neue Einstellung debug.terminal.clearBeforeReusing gesteuert.
JavaScript-Debugging
Wie üblich finden Sie die vollständige Liste der Änderungen im Changelog von vscode-js-debug.
Debuggen starten und bei Eintritt stoppen
Als wir letztes Jahr zu unserem neuen Debugger wechselten, blieb Debuggen starten und bei Eintritt stoppen auf der Strecke. Es funktioniert wieder und fordert den Debugger auf, bei der ersten Zeile Ihres Node.js-Programms anzuhalten. Standardmäßig ist es mit F10 gebunden.
Verbesserte Handhabung von symbolischen Links
Das Debuggen von Node.js-Programmen mit symbolischen Links kann spezielle Flags erfordern, die an das Programm übergeben werden müssen. Ohne diese Flags blieben Haltepunkte ungebunden und es war schwierig herauszufinden, was schiefging. Nun erkennt der Debugger diese Fälle automatisch und gibt eine hilfreiche Benachrichtigung aus.

Notebooks
Mehrfachauswahl von Zellen
Wir unterstützen nun die Auswahl mehrerer Zellen in einem Notebook mit der Maus (Shift+Klick) oder Tastenkombinationen (Shift+Pfeil). Sobald mehrere Zellen ausgewählt sind, können Sie die ausgewählten Zellen kopieren/ausschneiden/einfügen/verschieben/duplizieren.

Sie können auch mehrere Zellen gemeinsam per Drag & Drop verschieben.

Einschränkungen: Wenn mehrere unterschiedliche Zellbereiche ausgewählt sind, werden die meisten Befehle nur gegen den ersten Bereich oder den fokussierten Bereich ausgeführt. Wir werden diese Erfahrung in zukünftigen Versionen weiter verbessern.
Wir haben auch ein neues Farbtoken hinzugefügt, notebook.inactiveSelectedCellBorder, das keine Standardfarbe hat, aber für Themen verfügbar ist, die Ränder für Mehrfachauswahlen anstelle von Hintergrundfarben bevorzugen.

Ausgabe- und Metadatenunterschiede im Diff-Editor anzeigen/ausblenden
Wir haben von Benutzern gehört, dass bei der Überprüfung von Änderungen in einem Notebook die Änderungen an Notebook-Zellenmetadaten oder Ausgaben ablenkend oder irrelevant sein können. VS Code erlaubt Ihnen nun, die Sichtbarkeit von Metadaten- oder Ausgabeänderungen im Diff-Editor über die Einstellungen notebook.diff.ignoreMetadata und notebook.diff.ignoreOutputs zu steuern. Sie können auch umgeschaltet werden, indem Sie den Befehl Ausgabe-/Metadatenunterschiede anzeigen aus der Werkzeugleiste des Editors verwenden.

Vorschau-Funktionen
Fortgesetzte Verbesserungen an erweiterbaren Markdown-Renderern in Notebooks
Wir haben unsere Unterstützung für die Erweiterung des Markdown-Renderers in Notebooks weiter verbessert. Unser Fokus in dieser Iteration lag auf der Leistungsverbesserung der neuen Renderer. Wir haben auch viele Regressionen behoben, die die neuen Renderer mit sich brachten.

Die neuen Renderer sind immer noch standardmäßig deaktiviert, aber wir sind nun zuversichtlicher, dass wir sie bald aktivieren können. Sie können die neuen erweiterbaren Markdown-Renderer noch heute mit der undokumentierten Einstellung notebook.experimental.useMarkdownRenderer: true ausprobieren. Nachdem Sie diese Einstellung aktiviert und VS Code neu gestartet haben, sollten Sie :emoji: und KaTeX $math$ Formeln in Markdown-Zellen verwenden können.
Erste Schritte
Wir führen eine Überholung unseres standardmäßigen Starteditors durch, um relevante, von Erweiterungen bereitgestellte Tipps und Anleitungen bereitzustellen, die darauf abzielen, sowohl Kernfunktionen von VS Code als auch Erweiterungsbeiträge für neue Benutzer zugänglicher zu machen. Viele Insider-Benutzer haben dies möglicherweise bereits gesehen, und es wird im Laufe dieser Iteration langsam an mehr Stable-Benutzer ausgerollt. Sie können das neue Verhalten jederzeit ein- oder ausschalten, indem Sie die Einstellung workbench.startupEditor auf gettingStarted oder davon weg ändern.
Thema: GitHub Light
Beiträge zu Erweiterungen
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.
Funktionshighlights in 1.55 beinhalten
- Doppelklick zum Benennen von Ports
- Konfigurieren des Standardverhaltens zur Port-Erkennung
- Aktualisierte Erfahrung für das Klonen eines Repositorys in einem Container-Volume
Sie können sich über neue Erweiterungsfunktionen und Fehlerbehebungen in den Remote Development Release Notes informieren.
GitHub Pull Requests und Issues
Die Arbeit an der GitHub Pull Requests and Issues-Erweiterung wird fortgesetzt, die es Ihnen ermöglicht, Pull Requests und Issues zu bearbeiten, zu erstellen und zu verwalten.
Um alle neuen Funktionen und Updates kennenzulernen, können Sie die vollständigen Changelogs für die Version 0.25.0 der Erweiterung einsehen.
Erweiterungs-Authoring
API für unbenannte Dateien für benutzerdefinierte Editoren & Notebooks
Benutzerdefinierte Editoren und Notebooks enthalten nun eine Eigenschaft untitledDocumentData im Öffnungskontext, die den Puffer der Daten enthält, der in der unbenannten Datei enthalten ist, auf die der Benutzer Erneut öffnen mit angewendet hat. Diese Eigenschaft sollte anstelle der URI gelesen werden, wenn sie gefüllt ist, da die URI im Fall einer unbenannten Datei nicht auf eine Datei auf der Festplatte verweist.
Inline-Werte-Provider-API
Die vorgeschlagene Inline-Werte-Provider-API, die im letzten Meilenstein eingeführt wurde, wurde finalisiert und kann nun in Erweiterungen verwendet werden, die auf dem Marketplace veröffentlicht werden.
Neue "Kopieren als"-Untermenüs
Es gibt zwei neue Menüpositionen, die in der Benutzeroberfläche als Untermenü Kopieren als erscheinen.
menuBar/edit/copy- für das Menü Bearbeiten in der Titelleisteeditor/context/copy- für das Kontextmenü des Editors

Neue Erweiterungseigenschaft auf ExtensionContext
Erweiterungsautoren können nun die neue Eigenschaft extension auf ExtensionContext verwenden, die an die activate-Funktion der Erweiterung übergeben wird. Diese gibt dieselbe Extension-Instanz zurück, die vscode.extensions.getExtension(<extension-id>) zurückgibt und Eigenschaften wie die ID der Erweiterung, die Version und eine serialisierte packageJSON-Eigenschaft enthält, über die Sie direkt auf Daten aus der package.json-Datei Ihrer Erweiterung zugreifen können.
Docker Compose Sprache
Eine neue Docker Compose-Sprache wurde hinzugefügt. Dies wird keine großen Änderungen für den Benutzer mit sich bringen; Erweiterungsautoren können dies jedoch nun verwenden, um Docker Compose-Dateien gezielt anzusprechen. Die Sprach-ID ist dockercompose.
Telemetry-Aktivierungs-API
Erweiterungen konnten schon immer prüfen, ob der Benutzer Telemetrie über den Konfigurationswert telemetry.telemetryLevel deaktiviert hatte, aber es war nicht möglich zu prüfen, ob der Benutzer das CLI-Flag --disable-telemetry verwendet hatte. In diesem Meilenstein haben wir zwei weitere Eigenschaften zum env-Objekt der Extension API hinzugefügt: isTelemetryEnabled und onDidChangeTelemetryEnabled. Die erstere berücksichtigt das CLI-Flag und den aktuellen Konfigurationswert. Letzteres ist ein Ereignis, das jedes Mal ausgelöst wird, wenn sich isTelemetryEnabled ändert.
Workspace Trust Entwicklung
Seit mehreren Iterationen erforschen wir eine Sicherheitsfunktion, die wir als Workspace Trust bezeichnen. Da wir ihrer Veröffentlichung nahe sind, möchten wir Erweiterungsautoren einbinden, damit sie mit ihrem Onboarding-Prozess beginnen und Feedback geben können. Derzeit erben Erweiterungen, die nicht für Workspace Trust aktualisiert wurden, sichere Standardwerte. Für eine optimale Benutzererfahrung bitten wir die Erweiterungsautoren jedoch, weitere Informationen in Issue #106488 zu lesen und sich für Updates zu registrieren, während wir die nächste Iteration durchlaufen.
Vorgeschlagene Erweiterungs-APIs
Jeder Meilenstein bringt neue vorgeschlagene APIs mit sich und Erweiterungsautoren können sie ausprobieren. Wie immer wünschen wir uns Ihr Feedback. Hier erfahren Sie, wie Sie eine vorgeschlagene API ausprobieren können
- Sie müssen Insiders verwenden, da sich vorgeschlagene APIs häufig ändern.
- Sie müssen diese Zeile in der Datei
package.jsonIhrer Erweiterung haben:"enableProposedApi": true. - Kopieren Sie die neueste Version der Datei vscode.proposed.d.ts in den Quellcode-Speicherort Ihres Projekts.
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.
Testen
In diesem Monat konzentrierten sich unsere Arbeiten auf die Auflösung des Provider-Teils der Testing-APIs. Hauptsächlich der Übergang zu einem Ansatz, der das Laden von Tests bei Bedarf und asynchron ermöglicht. Der Wechsel zu einem asynchronen Ansatz brachte Herausforderungen mit sich, die neue Semantik für die Extension Host API erforderte, um gelöst zu werden. In dieser Iteration haben wir die Änderungen zusammengeführt und werden sie im kommenden Monat verfeinern. Wir hoffen, Teile der Testing API in unserer April-Iteration fertigstellen zu können.
CodeActionContext.triggerKind
Die vorgeschlagene Eigenschaft triggerKind in CodeActionContext verfolgt, warum Code-Aktionen von einem CodeActionProvider angefordert werden. Die möglichen Werte dieser Eigenschaft sind:
-
Invoke: Code-Aktionen wurden explizit angefordert, entweder mit einer Tastenkombination oder einem Befehl. -
Automatic: Code-Aktionen wurden ohne explizite Benutzeraktion angefordert. Dazu gehört die Anforderung von Code-Aktionen, wenn sich der Inhalt eines Dokuments ändert.
Anbieter können triggerKind verwenden, um unterschiedliche Ergebnismengen zurückzugeben, je nachdem, wie Code-Aktionen angefordert werden. Beispielsweise kann ein Refactoring-Code-Aktionsanbieter, der automatisch ausgelöst wird, nur Refactorings für die genaue aktuelle Auswahl zurückgeben, um zu begrenzen, wie oft die Glühbirne für Code-Aktionen angezeigt wird. Wenn Code-Aktionen jedoch explizit angefordert werden, kann derselbe Anbieter die aktuelle Auswahl automatisch erweitern, um zu versuchen, alle Refactorings anzuzeigen, an denen ein Benutzer am aktuellen Speicherort interessiert sein könnte.
PortsAttributesProvider
Jede Erweiterung, die Prozesse startet, die auf Ports lauschen, und die eine hervorragende Erfahrung bei der Verwendung mit einer VS Code Remote-Erweiterung wünscht, sollte erwägen, Feedback zu geben und die neue API PortsAttributesProvider zu übernehmen. Da VS Code beim Verwenden einer der Remote-Erweiterungen automatisch Ports erkennt und weiterleitet, werden alle Ports, auf denen eine Erweiterung lauscht, automatisch weitergeleitet. Oft sind diese Ports jedoch nur für die internen Arbeitsabläufe der Erweiterung wichtig, und es ist für den Benutzer nicht nützlich, diese Ports weiterzuleiten. Diese API kann verwendet werden, um das Verhalten festzulegen, wenn ein Port erkannt wird, um unerwünschte automatische Weiterleitung von Ports zu verhindern, die nicht benutzerseitig sichtbar sein sollten.
Titel für Quick-Input-Optionen
Die für showQuickPick übergebenen QuickPickOptions und die für showInputBox übergebenen InputBoxOptions verfügen nun über eine optionale Eigenschaft title, die bisher nur in der createQuickPick-API verfügbar war. Diese Eigenschaft zeigt, wenn sie gesetzt ist, eine Titelleiste im Quick-Input mit dem von Ihnen angegebenen Titel an.
Language Server Protocol
Eine Entwurfsversion der Spezifikation für das diagonostische Pull-Modell ist nun für Feedback verfügbar.
Debug Adapter Protocol
Das `stopped`-Ereignis kann nun die ausgelösten Haltepunkte melden
Ein optionales Attribut hitBreakpointIds wurde dem `stopped`-Ereignis hinzugefügt, das die IDs der Haltepunkte enthält, die das Ereignis ausgelöst haben.
Beachten Sie, dass VS Code diese Informationen noch nicht auf irgendeine Weise anzeigt. Wir diskutieren mögliche UI-Ideen in Issue #118743.
Technik
Schnellerer Snap-Start
Das Snap-Paket verwendet nun den lzo-Kompressionsalgorithmus, der schnellere Startzeiten ermöglicht. Weitere Informationen finden Sie im Blogbeitrag von Ubuntu über den Algorithmus.
Fortschritte beim Electron-Sandbox
In diesem Meilenstein haben wir das VS Code-Fenster weiterhin für die Aktivierung der Funktionen Sandbox und Kontextisolierung von Electron vorbereitet.
Insbesondere
- Wir konnten einige der nativen Modulanforderungen, die wir im Renderer haben, in andere Prozesse verschieben.
- Wir konnten mehr Komponenten und Dienste verfügbar machen, wenn die Sandbox-Option aktiviert ist.
Dokumentation
VS Code und JavaScript im Unterricht
Lesen Sie die Fallstudie eines Dozenten für Informatik an der Naresuan University in Thailand, der VS Code in seinen Einführungskursen für Webentwicklung mit JavaScript und Node.js verwendet. Erfahren Sie mehr über die Einstellungen und Erweiterungen, die er seinen Studenten empfiehlt, sowie über ein hilfreiches Node.js und JavaScript Education Extension Pack.
Raspberry Pi
Es gibt ein neues Thema, das beschreibt, wie VS Code auf Raspberry Pi-Geräten installiert wird.

Bemerkenswerte Fehlerbehebungen
- 74505: Emmet integriertes Plugin-Cheats, das mit @ beginnt, nur innerhalb von Blöcken erweitert
- 97632: Emmet wird beim Bearbeiten von reinen XML-Dokumenten aktiviert
- 107506: Debug-Variablenansicht zeigt keine mehreren Variablen vom Debug-Adapter an, wenn die Namen nicht eindeutig sind
- 112675: Emmet-Abkürzungen funktionieren nicht in .scss-Dateien
- 113801: Tab-Zeilenumbruch - Tab sollte nicht den gesamten freien Platz einnehmen, wenn der Zeilenumbruch zur neuen Zeile erfolgt
- 115814: Kann nicht auf Chinesisch in das integrierte Terminal schreiben
- 117350: Sollten Home/End, PageUp/PageDown auch in Aktionen navigieren?
- 117967: Kopieren + Einfügen öffnet automatisch Datei in neuem Tab
- 118210: Debug-Konsole sollte Nachrichten nicht einklappen, wenn sie unterschiedliche Quellorte haben
- 118557: Seltsames Verhalten von files.exclude in einem Arbeitsbereich mit verschachtelten Ordnern
- 118839: Meine Bildschirmsprachausgabe findet keine Informationen über eine Remote-Verbindung in der Statusleiste
- 119585: Alle Probleme verschwinden beim Schließen einer Datei
Vielen Dank
Last but certainly not least, ein großes Danke an die folgenden Personen, die diesen Monat zu VS Code beigetragen haben
Beiträge zu unserer Fehlerverfolgung
- John Murray (@gjsjohnmurray)
- Andrii Dieiev (@IllusionMH)
- Simon Chan (@yume-chan)
- ArturoDent (@ArturoDent)
Beiträge zu vscode
- @abhiajju (ABHIJEET PANDEY): Behebt Emmet-Problem, bei dem eine falsche Abkürzung in einer HTML-Datei angezeigt wird PR #117759
- @abhijeet75 (Abhijeet Joshi): Korrigiert Emmet-Abkürzung für Handlebars-ähnliche Blöcke PR #118832
- @alienvspredator (Danylo Shevchenko): Korrigiert "new Promise" TypeScript-Snippet PR #118596
- @anonymouse64 (Ian Johnson): snap-build-linux.yml: verwendet "snap pack", um LZO zu erhalten PR #119478
- @atscott (Andrew Scott): Korrigiert microsoft/vscode#117095 Duplikate von Referenzergebnissen PR #117424
- @conwnet (netcon): Korrigiert das Readonly-Attribut von Textareas, das die API
vscode.workspace.onDidChangeTextDocumentbricht #117755 PR #117758 - @Daniel-Knights (Daniel Knights): Korrigiert: Tippfehler PR #119012
- @davidanthoff (David Anthoff): Fügt Julia-Einrückungsregeln hinzu PR #118269
- @DonJayamanne (Don Jayamanne): Reproduktion für Fehler https://github.com/microsoft/vscode/issues/118470 PR #118471
- @Flanker32 (Hanxiao Liu): Kommentare hinzugefügt, um Java-Workspace-Tags zum GDPR-Inventar hinzuzufügen PR #117740
- @GitMensch (Simon Sobisch): rpm-spec: Korrektur der falschen Aussage über die Arbeit an EL7 PR #117994
- @gjsjohnmurray (John Murray)
- fix #62531 negative Textfilterung zu Problemen hinzufügen PR #115351
- #101995 Tooltip des Menüpunkts erweitern, der den 'alt'-Befehl definiert PR #116211
- fix #117093 Filter auf Typindikator nach Befehl 'list.toggleFilterOnType' aktualisieren PR #117099
- fix #117718 onDidChangeResources-Ereignis nach Deregistrierung einer Gruppe auslösen PR #117719
- fix #118615 Beschreibungen der Erweiterungspunkte 'scm/resourceXXX/context' PR #118616
- fix #119261 auch nach Beschreibung in "Snippet einfügen" filtern PR #119315
- @hantatsang (Sang): Fix: Readme der Erweiterung rendert keine Bilder mit Breite und Höhe PR #117961
- @jeanp413 (Jean Pierre)
- Fixes: Feature-Beiträge der Erweiterung rendern markdownDescription nicht PR #95882
- Fixes: Lange Ausgabe mit umbrochenen Zeilen in einem schmalen Terminal lässt VSCode abstürzen PR #117734
- Fixes: Das Symbol des Ausgabe-Filterfelds kann nicht mit Tabulator erreicht werden, nur mit Shift+Tabulator PR #117832
- Fix: Fokus-Umriss wird seltsam für einige Aktionssymbole gerendert, wenn das Panel an der Seite ist PR #117834
- Fixes: Markdown-Vorschau wird leer PR #118397
- Fix: Seltsames Verhalten von files.exclude in einem Workspace mit verschachtelten Ordnern PR #118777
- @ko1 (Koichi Sasada): vscode.d.ts aktualisieren PR #117974
- @matthew-haines (Matthew Haines): #97684 Alt-Klick & Aktionen zum Falten/Entfalten umgebender Regionen hinzufügen PR #100027
- @mtaran-google: Tippfehler in IWorkbenchExtensioManagementService korrigiert PR #118071
- @noahbliss (Noah Bliss): "Favours" durch "Favors" ersetzen PR #119250
- @NotWearingPants
- Fix: Cursorposition, wenn am Anfang von RTL-Syntax-Tokens PR #117062
- Fix: Zufälliger Tippfehler im letzten Commit PR #119607
- @pauladams8 (Paul Adams): GitHub-Repository-Suche verbessern PR #117075
- @RPwnage (Luca): "Delete Branch..." zum Abschnitt "Source Control > Branch" hinzufügen PR #118542
- @shskwmt (Shunsuke Iwamoto): Fixes #116822: Leerzeichen-Escaping entfernen PR #117138
- @smorimoto (Sora Morimoto): Weitere OCaml-bezogene Dateiendungen zur OCaml-Gruppe hinzufügen PR #118310
- @soredake: snap: Komprimierung auf lzo setzen, #117852 PR #118116
- @spetrescu (Stefan Petrescu): Tooltip für die Codelens-Sample-Erweiterung korrigieren PR #118468
- @thebinarysearchtree (Andrew Jones): transformToSnakecase korrigieren PR #118400
- @TranquilMarmot (Nate Moore): Seti-UI-Icon-Theme aktualisieren PR #117842
- @wdesgardin (William Desgardin): fix(search): Groß-/Kleinschreibung beibehalten, wenn die Übereinstimmung mit einem Kleinbuchstaben beginnt PR #119373
- @XECDesign: Kein Installieren des Repos auf Raspberry Pi OS PR #118826
- @yannickowow: Unterstützung für DataBreakpointAccessType-Bedingung PR #117835
Beiträge zu vscode-emmet-helper
- @jeanp413 (Jean Pierre): Emmet-Vervollständigungen in SCSS korrigieren PR #61
- @lancewl (Hsuan-An Weng Lin): Fix vscode#118008 PR #59
- @OBITORASU (Souhit Dey): Fixes Issue 117154 - VScode Emmet fehlt der HTML-Tag "hgroup" PR #55
Beiträge zu vscode-eslint
- @9at8 (Aditya Thakral):
additionalProperties: falsezu einigen Einstellungen hinzufügen PR #1004 - @sfj (Silas Fontain): Textformulierungen an die tatsächliche Schaltfläche anpassen PR #1207
- @threehams (David Edmondson): Reload-Befehl hinzufügen. PR #845
Beiträge zu vscode-hexeditor
- @fython: Unterstützung für URIs von Dateien mit unterschiedlichem Schema PR #213
- @natecraddock (Nathan Craddock): Standard-Endianness-Einstellung hinzufügen PR #215
Beiträge zu vscode-html-languageservice
- @aliasliao (Liao Jinyuan): script type="text/html" unterstützen PR #102
- @miladbarazandeh (Milad Barazandeh): Ziel-Feld-Autocomplete hinzugefügt PR #103
Beiträge zu vscode-js-debug
- @lumaxis (Lukas Spieß): Korrekte Schreibweise von npm verwenden PR #928
Beiträge zu vscode-languageserver-node
Beiträge zu vscode-mock-debug
- @Udith (Udith Gunaratna): "compile" als Pre-Launch-Task für "Server"-Run-Konfiguration hinzugefügt PR #50
- @yannickowow (Yanis HAMITI): test.md und mockDebug modifizieren, um DataBreakpoint-Zugriffstypen zu testen PR #50
Beiträge zu vscode-textmate
- @msftrncs (Carl Morris): Scope-Capture-Substitutions-Regex global machen PR #148
Beiträge zu vscode-vsce
- @felipecrs (Felipe Santos): HEAD als Standardbranch anstelle von master verwenden PR #540
- @jamesgeorge007 (James George): chore: Fehlermeldung verbessern PR #546
Beiträge zu debug-adapter-protocol
- @EvilBeaver (Andrei Ovsiankin): Implementierung des OneScript (BSL)-Debuggers hinzugefügt PR #183
Beiträge zu language-server-protocol
- @reznikmm (Maxim Reznik): Tippfehler in LSP 3.16 korrigieren PR #1218