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

Januar 2024 (Version 1.86)

Update 1.86.2: Das Update behebt diese Probleme.

Update 1.86.1: Das Update behebt diese Probleme.

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

Willkommen zur Januar 2024-Version von Visual Studio Code. In dieser Version gibt es viele 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.

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

Benachrichtigungen

Bildschirmlesegeräte und Braille-Benutzer haben jetzt konfigurierbarere Benachrichtigungen, z. B. wenn Debug-Breakpoints erreicht werden, wenn Fehler in der aktuellen Zeile vorhanden sind und mehr. Diese können über Einstellungen, die mit accessibility.alert beginnen, konfiguriert oder mit dem Befehl Hilfe: Benachrichtigungen auflisten erkundet und konfiguriert werden.

Verwenden Sie den Sprachbefehl "Hey Code"

Mit der neuen Einstellung accessibility.voice.keywordActivation können Sie VS Code so einstellen, dass es auf den Sprachbefehl "Hey Code" hört, um eine Sprachsitzung mit Copilot Chat zu starten. Die Spracherkennung wird lokal auf Ihrem Computer durchgeführt und niemals an einen Server gesendet.

Verfügbare Optionen sind

  • chatInView: Sprachchat aus der Chat-Ansicht starten
  • quickChat: Schnellen Sprachchat über die Schnelleingabe starten
  • inlineChat: Sprachchat aus dem Inline-Chat im Editor starten
  • chatInContext: Sprache aus dem Inline-Chat starten, wenn der Fokus im Editor liegt, ansonsten Sprachchat aus der Chat-Ansicht

Das folgende Beispiel zeigt "Hey Code" mit der konfigurierten Option inlineChat

Ein kleines Mikrofonsymbol in der Statusleiste zeigt an, wann VS Code das Mikrofon zur Erkennung von "Hey Code" verwendet.

Sobald die Sprachchatsitzung abgeschlossen ist, hört VS Code wieder auf "Hey Code", um sie erneut zu starten.

Um diese neue Funktion nutzen zu können, sind die folgenden Erweiterungen erforderlich:

Hinweis: Die Spracherkennung läuft lokal auf Ihrem Computer und wird niemals an einen Server gesendet.

Workbench

Wiederherstellung von Hilfsfenstern

Mit dieser Version werden alle geöffneten schwebenden Fenster, die mit einem Hauptfenster verbunden sind, beim Neustart der Anwendung wiederhergestellt. Dies umfasst geöffnete Editoren sowie Größe und Position des Hilfsfensters.

Sticky Scroll in Baumansichten

Aufbauend auf dem Erfolg von Sticky Scroll im Editor haben wir diese Funktion auf alle Baumansichten erweitert, um Benutzern die Navigation in Projektbäumen zu erleichtern. Sticky Scroll für Baumansichten kann mit der Einstellung workbench.tree.enableStickyScroll aktiviert oder deaktiviert werden.

Um sicherzustellen, dass Sticky Scroll nicht zu viel Platz einnimmt, ist es auf maximal 40 % der Ansichthöhe begrenzt. Zusätzlich können Benutzer die maximale Anzahl von Sticky-Elementen konfigurieren, indem sie workbench.tree.stickyScrollMaxItemCount festlegen, was standardmäßig auf 7 gesetzt ist. Wenn es mehr Sticky-Elemente gibt, als angezeigt werden können, werden die letzten Sticky-Elemente zusammengefasst, falls die Baumansicht dies unterstützt.

Für eine verbesserte Baumnavigation können Sie ein Sticky-Element auswählen, um direkt zu dem Element im Baum zu springen. Alternativ können Sie den Pfeil eines übergeordneten Elements drücken, um alle seine untergeordneten Elemente auszublenden. Darüber hinaus ist der Zugriff auf Kontrollkästchen und Aktionsschaltflächen einfacher, wenn Sticky Scroll aktiviert ist.

Zoomebenen pro Fenster konfigurieren

Die neue Einstellung window.zoomPerWindow, die standardmäßig aktiviert ist, ermöglicht es Ihnen, die Zoom-Befehle (Zoomen, Herauszoomen, Zoom zurücksetzen) nur auf das aktive Fenster anzuwenden und nicht auf alle geöffneten Fenster. Zuvor hatten diese Befehle nicht nur auf alle geöffneten Fenster angewendet, sondern auch die Einstellung window.zoomLevel aktualisiert.

Wir glauben, dass die Verwendung dieser Befehle eher eine ad-hoc-Geste ist, beispielsweise bei Präsentationen, und daher nur auf das Fenster angewendet werden sollte, von dem sie aufgerufen werden.

Wie Sie in diesem Beispiel sehen können, ändert sich nur die Zoomebene des aktiven Fensters, nicht die des anderen Fensters

Eine Zoomebenenanzeige wird in der Statusleiste angezeigt, wenn die benutzerdefinierte Zoomebene eines Fensters nicht mit dem Wert der Einstellung window.zoomLevel übereinstimmt. Wählen Sie die Anzeige in der Statusleiste aus, um Steuerelemente zum Ändern der Zoomebenen, zum Zurücksetzen der Zoomebene oder zum schnellen Aufrufen der zugehörigen Einstellungen zu finden.

Zoom indicator and controls in the Status Bar.

Ein Fenster mit einer benutzerdefinierten Zoomebene behält diese Zoomebene über Neustarts und Workspace-Änderungen hinweg bei.

Hinweis: Konfigurieren Sie window.zoomPerWindow auf false, um das vorherige Verhalten der Zoomebene wiederherzustellen.

Leistungsfähigere und flexiblere Auto-Save-Optionen

VS Code bietet seit langem Auto-Save-Optionen. In dieser Version machen wir diese Funktion wesentlich leistungsfähiger.

Auto-Save pro Ressource oder Sprache konfigurieren

Alle Auto-Save-Einstellungen können jetzt pro Ordner oder Sprache konfiguriert werden, was es Ihnen ermöglicht, Auto-Save selektiv nur für bestimmte Sprachen oder Ordner zu aktivieren.

Im folgenden Beispiel sind die Einstellungen wie folgt konfiguriert:

{
  "[markdown]": {
    "files.autoSave": "afterDelay"
  }
}

Wie Sie sehen, wird die bearbeitete Markdown-Datei sofort gespeichert, während die TypeScript-Datei schmutzig bleibt.

Auto-Save bei Fehlern deaktivieren

Eine neue Einstellung files.autoSaveWhenNoErrors ermöglicht es Ihnen, Auto-Save zu deaktivieren, wenn im Datei Fehler-Marker vorhanden sind, wenn Auto-Save normalerweise den Editor speichern würde.

Dies kann nützlich sein, wenn Sie externe Tools haben, die auf Dateiänderungen achten, und Sie vermeiden möchten, dass diese Tools auf eine geänderte Datei mit Fehlern reagieren.

Auto-Save nur für Workspace-Dateien

Schließlich beschränkt eine neue Einstellung files.autoSaveWorkspaceFilesOnly Auto-Save nur auf Dateien, die sich innerhalb des Workspaces befinden.

Benachrichtigungen pro Erweiterung deaktivieren

Wir bieten nun eine fein granularisierte Kontrolle zum Deaktivieren von Benachrichtigungen von Erweiterungen. Von einem Benachrichtigungs-Toast aus können Sie Benachrichtigungen für die Erweiterung deaktivieren.

Turn off notifications for an extension.

Im Benachrichtigungszentrum gibt es einen zentralen Ort, um die Aktivierung von Benachrichtigungen für alle Erweiterungen zu verwalten, die eine Benachrichtigung ausgelöst haben.

Manage notifications for extensions.

Diese neue Funktion ergänzt unseren bestehenden "Nicht stören"-Modus, der alle Benachrichtigungen global deaktiviert. Wie beim globalen Schalter werden Fehlermeldungen immer angezeigt und können nicht deaktiviert werden.

Vertauschen von linken und rechten Diff-Editoren zulassen

Wenn Sie zwei Dateien vergleichen (z. B. aus dem Datei-Explorer), erscheint eine neue Aktion, um die linke und rechte Seite des Diff-Editors zu vertauschen.

Hinweis: Das Vergleichen zweier bearbeitbarer Dateien ermöglicht es Ihnen, Änderungen auf beiden Seiten vorzunehmen.

--wait beim Lesen von stdin von der Kommandozeile nicht erzwingen

Bei Verwendung eines Terminals können Sie die Ausgabe eines Prozesses direkt an VS Code übergeben, um sie als Editor zu öffnen, zum Beispiel:

  • ps aux | grep code | code - unter Linux oder macOS
  • echo Hello World | code - unter Windows

Bisher bedeutete dies auch das Flag --wait, was bedeutete, dass Sie erst dann zur Terminal-Eingabeaufforderung zurückkehren konnten, bis Sie das Editorfenster oder VS Code vollständig geschlossen hatten. In diesem Meilenstein erzwingen wir --wait nicht mehr, wenn von stdin gelesen wird, sodass Sie sofort zur Terminal-Eingabeaufforderung zurückkehren.

Hinweis: Um das vorherige Verhalten wiederherzustellen, fügen Sie einfach --wait an den Kommandozeilenaufruf an.

Unterstützung für benutzerdefinierte Titelleiste mit nativer Titelleiste

Wir führen die Einstellung window.customTitleBarVisibility ein, die die Anzeige der benutzerdefinierten Titelleiste auch bei Verwendung der nativen Titelleiste ermöglicht. Dies ist besonders vorteilhaft für macOS-Benutzer, die native Tabs bevorzugen. Mit dieser neuen Einstellung können Benutzer der nativen Titelleiste nun auf Funktionen der benutzerdefinierten Titelleiste zugreifen, wie zum Beispiel:

  • Befehlscenter: Einfacher Zugriff auf das Befehlscenter direkt aus der benutzerdefinierten Titelleiste.
  • Layout-Steuerelemente: Passen Sie Ihr Workspace-Layout flexibler an.
  • Aktivitätsleisten-Anpassung: Verschieben Sie die Aktionen der Aktivitätsleiste nach oben.
  • Editor-Aktionen-Anpassung: Verschieben Sie Editor-Aktionen in die benutzerdefinierte Titelleiste.

Darüber hinaus ermöglicht die Option window.customTitleBarVisibility: "windowed" für Benutzer, die eine aufgeräumte Ansicht im Vollbildmodus bevorzugen, das Ausblenden der benutzerdefinierten Titelleiste im Vollbildmodus. Diese Funktion sorgt für eine fokussiertere und ablenkungsfreie Codierumgebung, während gleichzeitig die Möglichkeit besteht, benutzerdefinierte Titelleistenfunktionen zu nutzen, wenn Sie sich nicht im Vollbildmodus befinden.

The 'Window: Custom Title Bar Visibility' setting in the Settings editor.

Neue Einstellung zur Erzwingung des Systemfarbschemas

Eine neue Einstellung window.systemColorTheme ermöglicht es Ihnen, das Systemfarbschema, das für native Elemente in VS Code gilt (wie Menüs oder Dialogfelder unter macOS), explizit zu überschreiben. Die Einstellung unterstützt die folgenden Werte:

  • default: Das Farbschema entspricht dem des Betriebssystems (Standardoption).
  • auto: Wählen Sie light oder dark, abhängig vom VS Code-Theme
  • light: Wählen Sie das helle Systemthema
  • dark: Wählen Sie das dunkle Systemthema

Im Folgenden sehen Sie ein Beispiel, wie dies für macOS-Kontextmenüs gilt, mit light im oberen Teil und dark im unteren Teil

Showing both 'light' and 'dark' system theme applied to a context menu.

Ungespeicherte Workspaces ohne Bestätigung schließen

Eine neue Einstellung window.confirmSaveUntitledWorkspace ermöglicht es Ihnen, die Anzeige eines Bestätigungsdialogs beim Schließen eines Fensters mit einem ungespeicherten Workspace zu deaktivieren. Es gibt jetzt auch ein Kontrollkästchen im Dialog, um die Anzeige zu deaktivieren. Die Einstellung window.confirmSaveUntitledWorkspace ist standardmäßig aktiviert, um das aktuelle Verhalten beizubehalten.

Untitled workspace confirmation dialog showing checkbox to always discard changes.

Hinweis: Erfahren Sie mehr über ungespeicherte Workspaces in unserer Dokumentation.

Wortumbruch im Ausgabe-Panel umschalten

Das Ausgabe-Panel unterstützt jetzt das Umschalten des Wortumbruchs mit dem Befehl Ansicht: Wortumbruch umschalten. Dies ist nützlich für die Anzeige langer Textzeilen im Ausgabe-Panel.

Ausgabe-Panel in einem neuen Fenster öffnen

Das Ausgabe-Panel verfügt nun über eine Aktion Ausgabe in neuem Fenster öffnen im Menü des Panel-Titels, um das Ausgabe-Panel in einem separaten Fenster anzuzeigen.

Erweiterungen von der CLI aktualisieren

Sie können Erweiterungen jetzt von der Kommandozeile aus mit dem Argument --update-extensions aktualisieren. Dies aktualisiert alle installierten Erweiterungen auf ihre neueste Version.

Hover-Texte im Schnellwahldialog verwenden jetzt benutzerdefinierte Hover-Texte

Wir haben mehrere Hover-Texte im Schnellwahldialog auf die Verwendung benutzerdefinierter Hover-Texte anstelle der nativen Darstellung umgestellt. Dies ermöglicht eine reichhaltigere Darstellung und mehr Konsistenz im Produkt.

Quick Pick hover rendered with custom hover instead of native.

Mehrere Dateien im Diff-Editor überprüfen

Mit dieser Version ist der Multi-Diff-Editor für alle Benutzer aktiviert. Der Multi-Diff-Editor ermöglicht es Ihnen, Änderungen über mehrere Dateien hinweg in einer scrollbaren Ansicht anzuzeigen.

Derzeit kann der Multi-Diff-Editor für die Überprüfung lokaler Änderungen, gestagter Änderungen, eingehender/ausgehender Änderungen, Stashes und Änderungen von Pull Requests verwendet werden. Er kann durch Auswahl der verschiedenen neuen Aktionen Änderungen anzeigen geöffnet werden, die durch das Multi-File-Diff-Symbol erkennbar sind.

Wenn der Diff-Editor aus der Source Control-Ansicht geöffnet wird, aktualisiert er die Ansicht dynamisch, wenn Dateien geändert oder gestagt werden.

Der Multi-Diff-Editor befindet sich noch in der Entwicklung, daher sind in den kommenden Versionen weitere Verbesserungen und Fehlerbehebungen zu erwarten.

Mehrdatei-Diffs in der GitHub Pull Requests-Erweiterung

Wenn die GitHub Pull Requests and Issues-Erweiterung installiert ist, können Sie "githubPullRequests.focusedMode": "multiDiff" einstellen, um den Multi-File-Diff-Editor automatisch beim Öffnen eines Pull Requests zu öffnen.

Wenn Sie für github.dev eingerichtet sind, können Sie auf einem Pull Request auf GitHub die Taste . drücken und github.dev öffnet sich mit dem Multi-File-Diff-Editor zur Überprüfung der Änderungen.

Editor

Text-/HTML-Inhalte einfügen

Der Befehl Als einfügen... ermöglicht Ihnen jetzt das Einfügen von text/html-Inhalten aus der Zwischenablage.

Using 'Paste As' to paste HTML content.

Wenn Sie beispielsweise Inhalte von einer Webseite kopieren, können Sie diese verwenden, um den HTML-Code des Inhalts einzufügen, anstatt ihn als reinen Text einzufügen.

Quellcodeverwaltung

Anpassungen der Commit-Eingabe

In diesem Meilenstein haben wir eine neue Einstellung, scm.inputMinLineCount, hinzugefügt, mit der die anfängliche Höhe des Commit-Eingabefeldes gesteuert werden kann. Die Einstellung, die die maximale Größe des Commit-Eingabefeldes steuert, wurde von scm.inputMaxLines in scm.inputMaxLineCount umbenannt, um die Namenskonvention ähnlicher Einstellungen zu wahren.

Benutzer können jetzt sprachspezifische Editor-Einstellungen verwenden, um das Commit-Eingabefeld weiter anzupassen. Sprachspezifische Editor-Einstellungen können verwendet werden, um Editor-Regeln zu definieren und den Zeilenumbruch zu deaktivieren.

"[scminput]": {
    "editor.rulers": [
      50,
      72
    ],
    "editor.wordWrap": "off"
  }

Verbesserungen der Source Control Repositories-Ansicht

Um die Verwaltung von Workspaces mit einer großen Anzahl von Repositories zu erleichtern, haben wir dem Repository-Kontextmenü einen neuen Befehl hinzugefügt: Andere Repositories schließen. Wir haben auch die Mehrfachauswahl für die Befehle Repository schließen und Andere Repositories schließen hinzugefügt, sodass Benutzer mehrere Repositories auf einmal schließen oder alle Repositories bis auf wenige schließen können.

Die Source Control Repositories-Ansicht kann aufgrund von von Erweiterungen beigesteuerten Aktionen überfüllt sein. Um dies zu erleichtern, haben wir die Möglichkeit hinzugefügt, beigesteuerte Aktionen auszublenden, indem wir mit der rechten Maustaste auf die Aktion klicken und Ausblenden wählen. Die ausgeblendeten Aktionen werden in das Menü ... verschoben. Alle Aktionen außer Checkout und Sync können ausgeblendet werden.

Verbesserungen bei eingehenden/ausgehenden Änderungen

Wir polieren weiterhin den Abschnitt "Eingehende/ausgehende Änderungen" in der Source Control-Ansicht. In diesem Meilenstein haben wir Änderungen vorgenommen, sodass der Knoten Eingehende Änderungen nur angezeigt wird, wenn der aktuelle Branch einen Remote-Tracking-Branch hat.

Wir haben die Aktionen Abrufen und Ziehen zum Knoten Eingehende Änderungen und die Aktion Senden zum Knoten Ausgehende Änderungen hinzugefügt.

Wir haben Aktionen hinzugefügt, um jeden einzelnen Commit und alle eingehenden/ausgehenden Änderungen anzuzeigen, die den Multi-File-Diff-Editor nutzen.

Benutzer können jetzt eine neue Einstellung, scm.showChangesSummary, verwenden, um den Eintrag Alle Änderungen auszublenden.

Fähigkeit, Tags zu mergen

Wir haben eine langjährige Funktionsanfrage erfüllt, indem wir die Möglichkeit zum Mergen von Tags hinzugefügt haben. Der Befehls-Palette wurde ein neuer Befehl hinzugefügt: Git: Mergen..., der den Befehl Git: Branch mergen... ersetzt. Das Aufrufen des Befehls Git: Mergen... zeigt eine Schnellwahlanzeige, die sowohl Branches als auch Tags auflistet.

Stash-Ansichtsbefehl

Wir haben einen neuen Befehl, Git: Stash anzeigen..., hinzugefügt, der es Benutzern ermöglicht, jeden Stash aus dem Repository im Multi-File-Diff-Editor anzuzeigen. Beim Anzeigen eines Git-Stash enthält das Menü des Editors Aktionen zum Anwenden/Poppen oder Löschen des Stash.

Commit-Signierung mit SSH-Schlüsseln

In diesem Meilenstein haben wir die Möglichkeit hinzugefügt, Commits mit einem SSH-Schlüssel mit einer Passphrase zu signieren. Beim Signieren eines Commits mit dem SSH-Schlüssel zeigt VS Code oben auf dem Bildschirm eine Schnellwahlanzeige an, um nach der Passphrase zu fragen. VS Code speichert die Passphrase nicht und fragt jedes Mal nach ihr, wenn ein Commit signiert wird.

Notebooks

Unterstützung für schwebende Fenster

Notebook-Editoren können jetzt in einem schwebenden Fenster geöffnet werden. Sie können den Notebook-Tab aus dem Hauptfenster ziehen, um ihn in einem neuen Fenster zu öffnen, oder den Befehl Ansicht: Editor in neues Fenster verschieben verwenden.

Integrierte Variablenansicht

Wir haben eine experimentelle Variablenansicht zur Run and Debug-Ansicht hinzugefügt, die zur Anzeige von Variablen aus einem Notebook-Kernel verwendet werden kann, wenn die Erweiterung diese bereitstellt. Diese Funktionalität kann mit dieser Einstellung aktiviert werden.

"notebook.experimental.variablesView": true

Notebook Sticky Scroll

Die Sticky-Scroll-Funktion des Notebook-Editors wurde erheblich poliert, um ihren Stil an den Rest der Arbeitsumgebung anzupassen und Folding-Steuerelemente zu jedem Markdown-Element hinzuzufügen.

Terminal

Hintergrund unter der Auswahl angezeigt

Wenn die GPU-Beschleunigung aktiviert ist, werden Zellen mit nicht standardmäßigen Hintergrundfarben jetzt "unter" der regulären Auswahlfarbe gerendert.

Cell background colors in the terminal are now retained, even when selected.

Terminal mit Mausrad zoomen

Das Terminal kann jetzt mit dem Mausrad bei gedrückter Ctrl-Taste gezoomt werden, wenn dies mit dieser Einstellung aktiviert ist.

"terminal.integrated.mouseWheelZoom": true

Verbesserungen der Mehrzeilen-Einfärnungswarnung

In früheren Versionen akzeptierte terminal.integrated.enableMultiLinePasteWarning entweder true (Standard) oder false. Wenn true aktiv war, wurde die Warnung immer angezeigt, es sei denn, der Brackets-Paste-Modus war aktiviert oder die Zeile endete mit einem \n-Zeichen. Diese Einstellung akzeptiert jetzt einen String mit den folgenden Optionen:

  • auto: Früheres Verhalten "true"
  • always: Immer eine Warnung anzeigen
  • never: Niemals eine Warnung anzeigen

Zusätzlich gibt es im Dialogfeld eine neue Schaltfläche, um den String als eine einzelne Zeile einzufügen, die alle \r- und \n-Zeichen entfernt.

Dateiprotokoll-URIs (file://) unterstützen jetzt Zeilen- und Spaltennummernerweiterungen am Ende, wie die meisten anderen Links. Das neue Format #<line> wird ebenfalls unterstützt.

Terminal-Sprachbefehle

Die neuen Befehle Terminal: Terminal-Sprache starten und Terminal: Terminal-Sprache stoppen ermöglichen Spracherkennungs-zu-Text-Sitzungen im Terminal.

Um diese neue Funktion nutzen zu können, installieren Sie die VS Code Speech-Erweiterung.

Aufgaben

Kurzschreibweise für Pfadtrennervariable

Die neue Variable ${/} kann als Kurzschreibweise für die vorhandene Variable ${pathSeparator} verwendet werden.

Debuggen

Ausgelöste Haltepunkte

Sie können jetzt Breakpoints setzen, die automatisch aktiviert werden, sobald ein anderer Breakpoint erreicht wird. Dies kann beispielsweise nützlich sein, wenn Sie Fehlerfälle im Code diagnostizieren, die nur nach einer bestimmten Vorbedingung auftreten. Ausgelöste Breakpoints funktionieren für alle Sprachen, und bedingte Breakpoints können auch als Auslöser verwendet werden.

Ausgelöste Breakpoints können gesetzt werden, indem Sie mit der rechten Maustaste auf den Glyphenrand klicken, Ausgelösten Breakpoint hinzufügen... auswählen und dann auswählen, welcher andere Breakpoint diesen Breakpoint aktiviert.

Theme: Codesong (Vorschau auf vscode.dev)

Schreibgeschützte Dateien beim Beenden einer Sitzung schließen

Wenn Sie an einen Debugger angehängt sind, kann es interne oder virtuelle Quelldateien geben, die nicht auf der Festplatte vorhanden sind und als schreibgeschützt geöffnet werden. Es gibt eine neue Einstellung, debug.closeReadonlyTabsOnEnd, die bewirkt, dass VS Code automatisch alle geöffneten schreibgeschützten Dateien aus der Debug-Sitzung schließt, wenn die Sitzung endet.

Testen

Mehr Möglichkeiten, Tests auszuführen

Wenn Sie die Alt-Taste gedrückt halten und auf eine Testdekoration klicken, wird dieser Test nun im Debug-Modus ausgeführt, sofern verfügbar.

Es gibt jetzt Kontextmenü-Aktionen in der Explorer-Ansicht, mit denen alle in einer Datei oder einem Ordner deklarierten Tests ausgeführt werden können.

Finalisierung der APIs TestRunProfile.isDefault/onDidChangeDefault für Erweiterungsautoren

Zuvor steuerte TestRunProfile.isDefault nur den anfänglichen Standardzustand eines Testlaufprofils und wurde danach nie geändert oder gelesen.

In dieser Version werden Änderungen des Benutzers an ausgewählten Profilen in der Eigenschaft TestRunProfile.isDefault widergespiegelt und ein entsprechendes Ereignis TestRunProfile.onDidChangeDefault ausgelöst. Ebenso werden, wenn Erweiterungen isDefault ändern, die ausgewählten Profile in der UI aktualisiert.

Sprachen

Möchten Sie den Link, den Sie kopiert haben, in einen Markdown-Link umwandeln? Wenn Sie eine URL in eine Markdown-Datei einfügen und Text auswählen, fügt VS Code jetzt automatisch einen Markdown-Link ein.

Diese Funktion wird durch die Einstellung markdown.editor.pasteUrlAsFormattedLink.enabled gesteuert. Sie können sie ändern, um dieses Verhalten anzupassen.

  • smartWithSelection — Der Standard. Aktiviert die Funktion, wenn Sie Text ausgewählt haben und sich nicht in einem speziellen Element wie einem Codeblock befinden.
  • smart — Dasselbe wie smartWithSelection, erfordert jedoch keine Auswahl.
  • always — URLs immer als Markdown-Links einfügen
  • never — Einfügen als Markdown-Links deaktivieren.

Nachdem Sie einen Wert eingefügt haben, können Sie immer noch zu einer anderen Einfügemethode wechseln, indem Sie die Einfüge-Steuerung verwenden.

Audio-/Videoschnipsel für Markdown konfigurieren

Die neuen Einstellungen markdown.editor.filePaste.audioSnippet und markdown.editor.filePaste.videoSnippet ermöglichen es Ihnen, anzupassen, wie Audio- und Videodateien beim Ablegen oder Einfügen in Markdown eingefügt werden. Der Schnipsel kann die folgenden Variablen verwenden:

  • ${src} — Der aufgelöste Pfad der Audio-/Videodatei.
  • ${title} — Der für Audio/Video verwendete Titel. Für diese Variable wird automatisch ein Schnipsel-Platzhalter erstellt.

Neues Less-Grammatik

Die vorherige Less-Grammatik wurde archiviert und VS Code verwendet nun die Grammatik von Better-Less für die Less-Syntaxhervorhebung.

Neues Go-Grammatik

Die Go-Syntaxhervorhebungsgrammatik wurde geändert, um Go Syntax zu verwenden, das aktiver gepflegt wird als die vorherige Grammatik.

Remote-Entwicklung

Die Remote Development Extensions ermöglichen es Ihnen, einen Dev Container, einen Remote-Computer über SSH oder Remote Tunnels oder das Windows Subsystem for Linux (WSL) als vollwertige Entwicklungsumgebung zu nutzen.

Zu den Highlights gehören

  • Erstellen Sie eine devcontainer.json in Ihrem Benutzerdatenordner.
  • Geben Sie Build-Optionen in devcontainer.json an, wenn Sie einen Dockerfile verwenden.

Weitere Informationen zu diesen Funktionen finden Sie in den Release Notes zur Remote-Entwicklung.

Beiträge zu Erweiterungen

GitHub Copilot

Es ist jetzt möglich, die Schriftfamilie der Inline-Vorschläge mithilfe der Einstellung editor.inlineSuggest.fontFamily zu ändern.

Bestätigung des Inline-Chats vor dem Speichern

Wir legen Wert auf die verantwortungsvolle Nutzung von KI, insbesondere wenn es um Quellcode geht. Daher haben wir eine neue Einstellung hinzugefügt, die Benutzer um Bestätigung bittet, bevor Code gespeichert wird, der von Copilot generiert wurde. Diese Einstellung, inlineChat.acceptedOrDiscardBeforeSave, ist standardmäßig aktiviert.

Inline Chat Speichereinwilligungsnachricht. Thema: GitHub Light Default (Vorschau auf vscode.dev)

Wenn die Einstellung aktiviert ist, wartet ein Dateispeichervorgang auf den Benutzer, um eine ausstehende Inline-Chatsitzung zu akzeptieren oder zu verwerfen. Dies gilt auch, wenn Auto-Save aktiviert ist, das vorübergehend deaktiviert wird, bis der Inline-Chat beendet ist.

Halten-zum-Sprechen-Modus

Vor einiger Zeit haben wir Sprachunterstützung zu VS Code hinzugefügt. Installieren Sie die VS Code Speech-Erweiterung, die Spracherkennung zu Text für Chat-Eingabefelder hinzufügt.

Für den Inline-Chat haben wir jetzt "Halten zum Sprechen" hinzugefügt, das wie folgt funktioniert:

  • Drücken Sie Cmd+I oder Ctrl+I, um den Inline-Chat auszulösen.
  • Halten Sie die Tasten gedrückt und bemerken Sie, wie die Sprachaufzeichnung automatisch startet.
  • Lassen Sie die Tasten los, um die Aufnahme zu beenden und Ihre Anfrage an Copilot zu senden.

Thema: GitHub Light Default (Vorschau auf vscode.dev)

Dieser neue Modus kommt auch mit einer Einstellung, die standardmäßig aktiviert ist, aber mit inlineChat.holdToSpeech deaktiviert werden kann.

Vorschau: Inline Chat Quick Voice

Zusätzlich zu "Halten zum Sprechen" experimentieren wir mit einer leichteren alternativen Benutzeroberfläche für diese Funktionalität. Aktivieren Sie Quick Voice, indem Sie Cmd+K oder Ctrl+K drücken und dann I halten. Während Sie I gedrückt halten, wird eine leichtere Aufnahme-Benutzeroberfläche angezeigt. Nach dem Loslassen wird die Anfrage gesendet.

Quick Voice showing only a microphone indicator and the text of the recorded voice message.

Inline Chat Live-Modus

Die letzte Version enthielt einen neuen experimentellen Inline-Chat-Modus namens live3. Er bietet ein flüssigeres Streaming-Erlebnis und eine leichter verständliche Diff-Ansicht. Dieser hat nun den Übergang geschafft und den früheren live-Modus ersetzt. Standard ist immer noch livePreview, aber wir ermutigen Benutzer, live auszuprobieren. Wir führen auch ein Experiment durch, um herauszufinden, welcher Modus am besten funktioniert.

Glühbirne für KI-Korrekturen (Glitzer)

Um Copilot aufzurufen, können Sie auch die Glühbirnenanzeige im Editor verwenden. Machen Sie eine Auswahl oder bewegen Sie den Cursor in eine neue Zeile, wählen Sie die Glühbirne aus und wählen Sie dann Mit Copilot ändern oder Mit Copilot generieren.

Wenn keine anderen Code-Aktionen vorhanden sind, wird die Glühbirne als Glitzer angezeigt und öffnet direkt den Inline-Chat.

Inline chat opened from the sparkle.

#file Kontextvariable

Es gibt einige Kontextvariablen, die Sie bereits verwenden können, indem Sie # in die Chat-Eingabe tippen, und wir haben #file hinzugefügt, damit Sie eine angegebene Datei in Ihrem Workspace als Kontext für Ihre Chat-Anfrage einfügen können. Wählen Sie #file aus der Vorschlagssteuerung in der Eingabe und wählen Sie dann eine Datei aus dem erscheinenden Schnellwahl-Dialog.

Wenn möglich, wird der vollständige Inhalt der Datei aufgenommen. Wenn dieser zu groß ist, um in das Kontextfenster zu passen, wird eine Gliederung der Datei aufgenommen, die Funktionen und ihre Beschreibungen ohne Implementierungen enthält. Wenn die Gliederung ebenfalls zu groß ist, wird die Datei nicht Teil der Eingabeaufforderung.

File context example in the Copilot Chat View.

Standardkontext im Chat

Zuvor haben wir standardmäßig zwei Arten von Kontext aus dem aktiven Code-Editor in Ihre Chat-Anfragen aufgenommen:

  1. Wenn eine Textauswahl vorhanden war, wurde die Auswahl aufgenommen.
  2. Und wenn keine Auswahl vorhanden war, wurde der Codebereich im sichtbaren Viewport des aktiven Editors aufgenommen.

Wir haben festgestellt, dass der zweite Typ zu Verwirrung führen kann, wenn Sie eine allgemeine Frage stellen möchten, die LLM sie aber als Frage zum Code in Ihrem Editor interpretiert, der als Kontext aufgenommen wurde. Wir experimentieren damit, Code nicht standardmäßig aufzunehmen, sondern nur ausgewählten Code.

Natürlich möchten Sie oft Fragen zum Code stellen, den Sie in Ihrem Editor sehen können. Daher haben wir eine neue Kontextvariable, #editor, hinzugefügt.

Editor context example in the Copilot Chat View.

Befehl "Alle Workspace-Chats löschen" hinzugefügt

Jedes Mal, wenn Sie die +-Schaltfläche verwenden, um einen neuen Chat zu starten, wird Ihr vorheriger Chat in Ihrer Workspace-Chat-Historie gespeichert, auf die Sie über das Uhrensymbol im Header der Chat-Ansicht zugreifen können. Wir haben den Befehl Alle Workspace-Chats löschen hinzugefügt, um Ihren gesamten bisherigen Chat-Verlauf zur Bequemlichkeit zu löschen.

Commit-Nachrichtensprache

Der Code zur Generierung von Git-Commit-Nachrichten verwendet nun die Einstellung github.copilot.chat.localeOverride, um Commit-Nachrichten in einer bestimmten Sprache zu generieren.

Zusätzliche Berechtigungen für private Repositories anfordern

Um zusätzliche Workspace-Suchfunktionen für private Repositories zu ermöglichen, benötigen wir zusätzliche Berechtigungen. Wenn wir feststellen, dass wir diese Berechtigungen noch nicht haben, fragen wir beim Start danach. Sobald diese gewährt wurden, speichern wir die Sitzung sicher für die Zukunft.

Modal window asking for additional authentication for a private repository.

Python

Python Debugger-Erweiterung standardmäßig installiert

Die Python Debugger-Erweiterung wird jetzt standardmäßig neben der Python-Erweiterung installiert.

Die Python Debugger-Erweiterung zielt darauf ab, die Debugging-Funktionalität von der Haupt-Python-Erweiterung zu trennen, um Kompatibilitätsprobleme zu vermeiden. Dies stellt sicher, dass auch wenn die Python-Erweiterung die Unterstützung für ältere Python-Versionen (z. B. Python 3.7) einstellt, Sie Projekte mit diesen Versionen weiterhin debuggen können, ohne Ihre Python-Erweiterung herabstufen zu müssen. Sie liefert auch plattformspezifische Builds, sodass Sie nur die für Ihr spezifisches Betriebssystem relevanten Komponenten erhalten, was die Downloadzeiten und den unnötigen Overhead reduziert.

Diese neue Erweiterung repliziert die gesamte Funktionalität der Haupt-Python-Erweiterung und mehr.

Um sicherzustellen, dass Sie die neue Python Debugger-Erweiterung verwenden, ersetzen Sie "type": "python" durch "type": "debugpy" in Ihrer launch.json-Konfigurationsdatei. Zukünftig wird die Python-Erweiterung keine Debugging-Unterstützung mehr anbieten und wir werden die gesamte Debugging-Unterstützung auf die Python Debugger-Erweiterung für alle Debugging-Funktionen übertragen.

Umgebung erstellen-Option im Python-Interpreter-Schnellwahldialog

Sie können jetzt bequem eine Python-Umgebung aus dem Python-Interpreter-Schnellwahldialog erstellen. Führen Sie den Befehl Python: Interpreter auswählen aus und wählen Sie dann die Option Umgebung erstellen, um eine neue virtuelle Umgebung für Ihr Projekt zu erstellen.

Umgebung erstellen-Option im Python-Interpreter-Schnellwahldialog. Thema: Catppuccin Mocha (Vorschau auf vscode.dev)

Verbesserte Anzeige von Workspace-Conda-Umgebungen

Der Python-Interpreter-Schnellwahldialog zeigt jetzt den Namen von Conda-Umgebungen an, die sich im Workspace befinden, um deren Identifizierung zu erleichtern.

Workspace conda environment names displayed in the Python interpreter Quick Pick.

Unterstützung für mehrstufige Pytest-Klassen

Bei Verwendung von mehrstufigen Pytest-Klassen wird die oberste Klasse nun im Test-Explorer angezeigt. Zuvor wurden nur die unteren Klassen angezeigt.

Mehrstufige Pytest-Klassen im Test-Explorer. Thema: Catppuccin Mocha (Vorschau auf vscode.dev)

Jupyter

Finalisierung der Jupyter-Kernel-Ausführungs-API für Erweiterungsautoren

Die API der Jupyter-Erweiterung zum Ausführen von Code gegen Jupyter-Kernel wurde finalisiert. Erweiterungen können die API zum Ausführen von Code gegen Kernel verwenden.

Beispiele für die API-Nutzung finden Sie im Jupyter Kernel Execution Sample.

Das npm-Paket @vscode/jupyter-extension enthält alle TypeScript-Typdefinitionen.

Wenn eine Erweiterung versucht, auf einen Jupyter-Kernel zuzugreifen, wird der Benutzer aufgefordert, den Zugriff auf die Kernel zu gewähren oder zu verweigern. Der Zugriff auf Jupyter-Kernel wird vom Benutzer pro Erweiterung gewährt. Das bedeutet, dass der Benutzer der Erweiterung A Zugriff gewähren und der Erweiterung B den Zugriff verweigern kann.

Benutzer können den Zugriff auf die Jupyter-Kernel pro Erweiterung über den Befehl Jupyter: Zugriff auf Jupyter-Kernel verwalten verwalten (erteilen/widerrufen).

GitHub Pull Requests und Issues

Es gab weitere Fortschritte bei der Erweiterung GitHub Pull Requests and Issues, mit der Sie Pull-Anfragen und Issues bearbeiten, erstellen und verwalten können. Zu den neuen Funktionen gehören

  • Auflösung von Konflikten für die aktuell ausgecheckte PR.
  • Eine groupBy-Eigenschaft für Issue-Abfragen.
  • Das Klicken auf Permalinks in einer ausgecheckten PR öffnet die Datei im Editor.
  • Das Überfahren von Kommentarreaktionen zeigt an, wer reagiert hat.
  • Das Setzen von "githubPullRequests.focusedMode": "multiDiff" öffnet den Multi-Diff-Editor mit allen Dateien in der PR nach dem Auschecken.

Sehen Sie sich das Changelog für die Version 0.80.0 der Erweiterung an, um mehr über die anderen Highlights zu erfahren.

Vorschau-Features

Unterstützung für TypeScript 5.4 Beta

Wir unterstützen jetzt die Beta-Version von TypeScript 5.4. Weitere Informationen zu dieser Version finden Sie im TypeScript 5.4 Beta-Blogbeitrag und im Iterationsplan. Highlights sind

  • Erste Arbeiten an KI-gestützten Refactorings.
  • Ein neues intrinsisches NoInfer, das Bibliothek- und Typautoren helfen kann, falsche Typinferenzen zu verhindern.
  • Verbesserungen bei Typverfeinerungen und Typüberprüfung.

Um die TypeScript 5.4 Beta nutzen zu können, installieren Sie einfach die TypeScript Nightly-Erweiterung. Bitte geben Sie Feedback und lassen Sie uns wissen, wenn Sie auf Fehler mit TypeScript 5.4 stoßen.

Verbesserungen der Schnellsuchfunktion

In Version 1.82 haben wir die Schnellsuchfunktion für Text ("Quick Search") eingeführt, mit der Benutzer aus einem Picker suchen können. 🔎

Die Schnellsuchfunktion bietet nun die folgenden Funktionen:

  • Editor-Vorschau bei aktiver Auswahl. Sehen Sie das Ergebnis im Kontext des Editors, während Sie durchblättern.
  • Einfachere Navigation von der Schnellsuchfunktion zur Suchansicht. Wählen Sie die Schaltfläche neben der Eingabe oder ein Ergebnis aus, um die Ergebnisse in die Suchansicht zu übertragen.

Theme: Night Owl (Vorschau auf vscode.dev)

Vorgeschlagene APIs

Jeder Meilenstein bringt neue vorgeschlagene APIs mit sich, und Erweiterungsautoren können sie ausprobieren. Wie immer freuen wir uns über Ihr Feedback. Hier sind die Schritte, um eine vorgeschlagene API auszuprobieren:

  1. Suchen Sie nach einem Vorschlag, den Sie ausprobieren möchten, und fügen Sie dessen Namen zu package.json#enabledApiProposals hinzu.
  2. Verwenden Sie die neueste Version von @vscode/dts und führen Sie npx @vscode/dts dev aus. Dies lädt die entsprechenden d.ts-Dateien in Ihren Workspace herunter.
  3. Sie können nun gegen den Vorschlag programmieren.

Sie können keine Erweiterung veröffentlichen, die eine vorgeschlagene API verwendet. Es kann zu Breaking Changes in der nächsten Version kommen und wir möchten niemals bestehende Erweiterungen beeinträchtigen.

Test Coverage API

In diesem Meilenstein haben die Test Coverage API und die In-Editor-Erfahrung den Feature-Complete-Status erreicht. Wir ermutigen Erweiterungsautoren, sie auszuprobieren und Feedback zu geben, bevor sie voraussichtlich in der VS Code 1.87-Version finalisiert werden.

Obwohl die API hierfür zu umfangreich ist, glauben wir, dass sie ziemlich unkompliziert ist, und würden uns über Ihre Eingaben zu dem Vorschlag in Issue #123713 freuen.

Chat Agent API

Wir haben an einer API gearbeitet, mit der Erweiterungsautoren ihre eigenen Chat-Agenten zur Chat-Ansicht in VS Code beitragen können. Wir haben einige Änderungen an der API vorgenommen, darunter:

  • Der an den Chat-Agenten übergebene Verlaufskontext stellt nun korrekt dar, welcher Chat-Agent und welcher Befehl durch eine gegebene Nachricht aufgerufen wurde, die Werte von Variablen in Nachrichtenverläufen und das Ergebnis.
  • ChatAgentTask wurde entfernt, und es ist nun möglich, ChatProgressMessage inmitten des Antwortstroms zu verwenden, um dasselbe Szenario abzudecken.
  • Alle Begriffe im Zusammenhang mit "slashCommand" wurden in "subCommand" umbenannt.

Wenn Sie die API ausprobieren möchten, können Sie mit unserer Beispielerweiterung für Chat-Agenten beginnen und Issue #199908 für Updates zur API abonnieren.

Code Action Highlights API

Bei Refactorings wie "Methode extrahieren" oder "In Datei verschieben" ist nicht immer klar, auf welchen Code die Aktion angewendet wird. Dies gilt insbesondere für Sprachen wie TypeScript, die versuchen, die aktuelle Auswahl des Benutzers intelligent zu erweitern.

Diese API ermöglicht es Codeaktionen, einen oder potenziell mehrere Bereiche (Range[]) anzugeben, auf die sie angewendet werden. Der Bereich wird hervorgehoben, wenn der Benutzer mit der Maus darüber fährt oder durch die Code Action-Liste navigiert.

  • Bei Refactorings wäre dieser Bereich der Code in der aktuellen Datei, der von dem Refactoring betroffen ist.
  • Bei Quick Fixes könnten die zugehörigen Diagnosen hervorgehoben werden. Dies geschieht bereits bei Quick Fixes, die von editor.codeActionWidget.includeNearbyQuickFixes aufgerufen werden.

Issue Reporter API

Kleine Ergänzungen an der vorgeschlagenen API, die es ermöglichen, sowohl IssueUriRequestHandler als auch IssueDataProvider zusammen zu verwenden.

Außerdem Verbesserungen für den Befehl vscode.commands.openIssueReporter, der nun zusätzliche Erweiterungsdaten beitragen und die URL, an die das GitHub-Issue weitergeleitet wird, ändern kann.

Abonnieren Sie Issue #197863 für Updates oder Änderungen an der API und dem Befehl openIssueReporter.

Comment Reaction Reactor API

Die Schnittstelle CommentReaction hat eine neue Eigenschaft reactors, damit Erweiterungen anzeigen können, wer auf einen Kommentar reagiert hat. Diese reactors werden derzeit im Hover-Text einer Kommentarreaktion angezeigt.

Siehe Issue #201131, um den Fortschritt dieser API zu verfolgen.

Finalisierte APIs

Neue APIs workspace.save und workspace.saveAs

Die neuen finalisierten APIs workspace.save und workspace.saveAs ermöglichen es Erweiterungen, den Ablauf des Speicherns eines Editors auszulösen, entweder in seiner Ressource oder indem der Benutzer aufgefordert wird, eine Ressource anzugeben.

Alle Methoden zum Speichern geben die resultierende Uri zurück oder undefined, wenn der Vorgang abgebrochen wurde. Anonyme Dateien fragen den Benutzer immer nach einem Ziel, es sei denn, ein Pfad ist bereits zugeordnet.

Nur-Lese-Nachricht für FileSystemProvider API

Bei der Registrierung eines FileSystemProvider mit registerFileSystemProvider können die options so eingestellt werden, dass das gesamte Dateisystem als schreibgeschützt markiert wird. Wenn die Option isReadonly auf einen MarkdownString gesetzt ist, wird diese Nachricht im Editor angezeigt, wenn der Benutzer versucht, die Datei im Dateisystem zu bearbeiten.

Example of readonly message showing in the editor.

Technik

Haushaltsführung

Anfang Dezember haben wir unseren jährlichen Aufräumprozess durchgeführt. Wir haben eine Netto-Reduzierung von 1891 Issues über unsere Repositories hinweg erreicht. Die folgende Grafik veranschaulicht gut die Notwendigkeit und die Auswirkungen unserer jährlichen Aufräum-Iteration.

Chart of issue counts over the last years

Markdown Language Service 0.4 Release

Das Paket Markdown Language Service treibt die integrierte Markdown-Unterstützung von VS Code an. Die neue Version 0.4 bündelt eine Reihe von Verbesserungen, die wir im letzten halben Jahr vorgenommen haben und von denen andere Tools und Editoren profitieren können. Hier sind einige der Highlights:

  • Aktivieren Sie Dokumentlinks, Referenzen und Umbenennungen für HTML-Fragmente in Markdown.
  • Behebung potenzieller katastrophaler Backtracking-Probleme in einem regulären Ausdruck.
  • Vermeiden Sie das Hinzufügen zusätzlicher Kodierung bei Vervollständigungen.
  • Verwenden Sie Fuzzy-Matching für die Suche nach Workspace-Symbolen.
  • Behebung einer Reihe von Fällen rund um Linkerkennung/Validierung.

Neue Funktion localize2 zur einfacheren Erstellung von ILocalizedStrings

In der Kerncodebasis von VS Code verwenden wir einen Typ namens ILocalizedString, um sowohl eine lokalisierte als auch eine englische Zeichenkette nebeneinander darzustellen. Sie haben dies vielleicht gesehen, wenn Sie ein Sprachpaket verwenden und die Befehlspalette öffnen.

Zuvor mussten wir diese Ausdrücke wie folgt schreiben:

const str = { value: localize('id', 'Hello World'), original: 'Hello World' };

Dies kann nun wie folgt ausgedrückt werden:

const str = localize2('id', 'Hello World');

Unsere Lokalisierungspipeline wird dann diese localize2-Vorkommen erkennen.

Aktualisierung von Electron 27

In diesem Meilenstein fördern wir das Electron 27 Update auf Benutzer unserer stabilen Version. Dieses Update bringt Chromium 118.0.5993.159 und Node.js 18.17.1 mit sich. Wir möchten uns bei allen bedanken, die auf Insiders-Builds selbst gehostet und frühes Feedback gegeben haben.

Aktualisierung der Mindestanforderungen für Linux

In diesem Meilenstein haben wir die Toolchains zum Erstellen unseres Desktop-Clients aktualisiert. Ab dieser Version ist VS Code Desktop nur noch mit Linux-Distributionen kompatibel, die auf glibc 2.28 oder neuer und glibcxx 3.4.25 oder neuer basieren, wie z. B. Debian 10, RHEL 8 oder Ubuntu 20.04.

Wenn Sie Ihre Linux-Distribution nicht aktualisieren können, ist die empfohlene Alternative die Verwendung unseres Webclients. Wenn Sie die Desktop-Version verwenden möchten, können Sie VS Code Version 1.85 herunterladen. Abhängig von Ihrer Plattform stellen Sie sicher, dass Updates deaktiviert sind, um bei dieser Version zu bleiben. Eine gute Empfehlung ist die Einrichtung der Installation mit Portable Mode.

Bemerkenswerte Fehlerbehebungen

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

Beiträge zu vscode-hexeditor

Beiträge zu vscode-languageserver-node

Beiträge zu vscode-pull-request-github

Beiträge zu vscode-vsce

Beiträge zu language-server-protocol

Beiträge zu monaco-editor

Beiträge zu node-jsonc-parser

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