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

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:

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

Brand icons on 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
Stable icon Insiders icon Exploration icon

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

Editor-Tab mit Dekorationen, die anzeigen, dass die Datei Warnungen enthält und für Git geändert wurde 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 extensionPack festlegt, in einem separaten Tab Extension Pack an, auch wenn die Erweiterung nicht als Extension Packs kategorisiert ist.

Extension that is not an extension pack but includes other extensions

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.

Terminal profiles show up below the terminal processes and above the configuration items

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.

The Select Default Profile command shows all configured and detected profiles

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:

  1. Der WebGL-Renderer versucht zu starten.
  2. 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.
  3. 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.

Breakpoint condition menu

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.

Data breakpoints break on access types

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.

Notification that says "It looks like you have symlinked files. You might need to update your configuration to make this work as expected," with buttons to "Read More" and "Ignore"

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.

Notebook multiple cells selection

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

Notebook multiple cells selection drag and drop

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.

Notebook cells being multi-selected via border instead of background colors

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.

Notebook show metadata/outputs differences

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.

Emoji and a math formula being rendered in a notebook cell

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.

Anleitung für die Getting Started-Erfahrung 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 Titelleiste
  • editor/context/copy - für das Kontextmenü des Editors

Copy As submenu

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

Raspberry Pi logo

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

Beiträge zu vscode

Beiträge zu vscode-emmet-helper

Beiträge zu vscode-eslint

Beiträge zu vscode-hexeditor

Beiträge zu vscode-html-languageservice

Beiträge zu vscode-js-debug

Beiträge zu vscode-languageserver-node

Beiträge zu vscode-mock-debug

Beiträge zu vscode-textmate

Beiträge zu vscode-vsce

Beiträge zu debug-adapter-protocol

Beiträge zu language-server-protocol

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