Mai 2022 (Version 1.68)
Update 1.68.1: Das Update behebt diese Probleme.
Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Willkommen zur Mai 2022-Version von Visual Studio Code. Es gibt viele Updates in dieser Version, die Ihnen hoffentlich gefallen werden. Einige der wichtigsten Highlights sind:
- Anzeigesprache konfigurieren - Installierte und verfügbare Sprachpakete in ihrer Sprache anzeigen.
- Probleme-Panel-Tabellenansicht - Fehler und Warnungen als Tabelle anzeigen, um schnell nach Quelle zu filtern.
- Veraltete Erweiterungen - Erfahren Sie, ob eine Erweiterung veraltet ist oder ersetzt werden sollte.
- Erweiterungs-Sponsoring - Unterstützen Sie die Entwickler, die Ihre Lieblingserweiterungen erstellen.
- Explorer-Dateien basierend auf .gitignore ausblenden - Verwenden Sie Ihre vorhandene
.gitignore, um Dateien im Explorer auszublenden. - Terminal-Farb- und Kontrastverbesserungen - Hintergrundfarbe für gefundene Übereinstimmungen, minimales Kontrastverhältnis.
- Git-Branch-Schutz - Branch-Schutz direkt in VS Code verfügbar.
- TypeScript „Zu Quellendefinition wechseln“ - Direkt zur JavaScript-Implementierung eines Symbols springen.
- VS Code for the Web-Lokalisierung - vscode.dev passt sich jetzt an Ihre gewählte Browsersprache an.
- Entwicklungscontainer-Spezifikation - Erfahren Sie mehr über die sich entwickelnde Dev-Container-Spezifikation.
- Vorschau: Markdown-Link-Validierung - Erkennt defekte Links zu Headern, Bildern und Dateien.
Wenn Sie diese Release Notes online lesen möchten, gehen Sie zu Updates auf code.visualstudio.com.
Insiders: Möchten Sie neue Funktionen so schnell wie möglich ausprobieren? Sie können den nächtlichen Insiders-Build herunterladen und die neuesten Updates ausprobieren, sobald sie verfügbar sind.
Workbench
Verbesserungen bei der Konfiguration der Anzeigesprache
Der Befehl Anzeigesprache konfigurieren wurde überarbeitet, um Folgendes einzuschließen:
- Der Name der Sprache in dieser Sprache.
- Ein Abschnitt Verfügbare Sprachen, der anzeigt, welche Sprachen nicht auf Ihrem Computer installiert sind. Die Auswahl einer Sprache installiert diese automatisch und wendet die Sprache an.

Theme: Panda Theme
Dies sollte bei der Entdeckung verfügbarer Sprachpakete helfen. Lassen Sie uns wissen, was Sie davon halten!
Probleme-Panel-Tabellenansicht
In diesem Meilenstein haben wir eine neue Funktion hinzugefügt, mit der Benutzer den Ansichtsmodus des Probleme-Panels zwischen Baum und Tabelle umschalten können. Im Vergleich zur Baumansicht zeigt die Tabelle die Quelle (Sprachdienst oder Erweiterung) jedes Problems an, was es den Benutzern ermöglicht, die Probleme nach ihrer Quelle zu filtern.

Theme: GitHub Dark Dimmed Theme
Sie können die Ansichts-UI mit der Schaltfläche Als Tabelle anzeigen/Als Baum anzeigen oben rechts im Probleme-Panel umschalten oder den Standardansichtsmodus mit der Einstellung Probleme: Standardansichtsmodus (problems.defaultViewMode) ändern.

Veraltete Erweiterungen
In diesem Meilenstein haben wir die Unterstützung für veraltete Erweiterungen in VS Code hinzugefügt. Eine Erweiterung kann einfach veraltet sein oder zugunsten einer anderen Erweiterung veraltet sein, oder wenn ihre Funktionalität in VS Code integriert ist. VS Code rendert veraltete Erweiterungen in der Erweiterungsansicht, wie unten gezeigt.
Eine veraltete Erweiterung, die nicht mehr gepflegt wird.

Eine Erweiterung, die zugunsten einer anderen Erweiterung veraltet ist. In diesem Fall erlaubt VS Code den Benutzern nicht, diese Erweiterung zu installieren.

Eine veraltete Erweiterung, deren Funktionalität in VS Code integriert ist und die durch Konfiguration von Einstellungen aktiviert werden kann.

VS Code wird eine veraltete Erweiterung nicht automatisch migrieren oder deinstallieren. Es wird eine Schaltfläche Migrieren geben, die Sie zur empfohlenen Erweiterung leitet.

Theme: GitHub Dark Dimmed Theme
Hinweis: Die Liste der veralteten Erweiterungen wird von VS Code gepflegt. Wenn Sie eine Erweiterung haben, die Ihrer Meinung nach veraltet sein sollte, kontaktieren Sie uns, indem Sie in dieser Diskussion kommentieren.
Erweiterungs-Sponsoring
VS Code erlaubt es Benutzern jetzt, ihre Lieblingserweiterungen zu sponsern. Wenn eine Erweiterung gesponsert werden kann, rendert VS Code eine Schaltfläche Sponsor auf der Detailseite der Erweiterungsansicht, wie unten gezeigt.

Theme: GitHub Dark Dimmed Theme
Die Schaltfläche Sponsor leitet Sie zur Sponsoring-URL der Erweiterung weiter, wo Sie Ihre Unterstützung leisten können. Lesen Sie Erweiterungs-Sponsoring, um zu erfahren, wie Sie diese Funktion für Ihre Erweiterung aktivieren.
Explorer-Dateien basierend auf .gitignore ausblenden
Der Datei-Explorer unterstützt jetzt das Parsen und Ausblenden von Dateien, die von Ihrer .gitignore-Datei ausgeschlossen werden. Dies kann über die Einstellung Explorer: Git Ignore ausschließen (explorer.excludeGitIgnore) aktiviert werden. Diese Einstellung funktioniert zusammen mit files.exclude, um unerwünschte Dateien aus dem Explorer auszublenden.
Hinweis: Negierte Globs wie !package.json sind derzeit nicht parsebar.
Hover-Position sperren
Einige benutzerdefinierte Hovers sind aufgrund anderer UI-Elemente (z. B. eine Bildlaufleiste) schwer oder unmöglich mit der Maus zu überfahren. Das Halten von Alt, während ein Hover aktiv ist, sperrt ihn jetzt, gibt ihm einen breiteren Rahmen und verhindert, dass Mausbewegungen außerhalb des Hovers ihn ausblenden. Dies ist in erster Linie eine Barrierefreiheitsfunktion, um Hovers besser mit Bildschirmlupe zu machen, aber auch nützlich zum Kopieren von Text aus Hovers. Beachten Sie, dass diese Funktion nur außerhalb des Editors gilt, da Editor-Hovers immer mit der Maus überfahren werden können, es sei denn, dies wird über die Einstellung editor.hover.sticky anders angegeben.
Verbesserungen am Einstellungseditor
Der Einstellungseditor zeigt jetzt eine Anzeige für Standardwertüberschreibungen für sprachspezifische Einstellungen an. Sie können sprachspezifische Einstellungen anzeigen, indem Sie einen Sprachfilter in der Suchleiste des Einstellungseditors hinzufügen, entweder indem Sie ihn explizit eingeben (@lang:javascript) oder indem Sie auf die Filtertaste rechts neben der Suchleiste klicken und die Option Sprache auswählen.
Wenn die Anzeige für Standardwertüberschreibungen angezeigt wird, bedeutet dies, dass der Standardwert der sprachspezifischen Einstellung von einer Erweiterung überschrieben wurde. Die Anzeige zeigt auch an, welche Erweiterung den Standardwert überschrieben hat.
Thema: Light Pink
Diese Iteration behebt auch ein Verhalten, bei dem einige Links im Einstellungseditor nicht richtig weitergeleitet wurden, wenn bereits eine Suchanfrage in der Suchleiste des Einstellungseditors vorhanden war. Die Links haben jetzt auch das richtige Styling, damit deutlicher wird, wenn man mit der Maus darüber fährt.
<video src="/assets/updates/1_68/settings-editor-working-links.mp4" autoplay loop controls muted title="Nachdem nach dem Wort "font" im Einstellungseditor gesucht und die Kategorie Terminal in der Inhaltsübersicht ausgewählt wurde, wird die Einstellung terminal.integrated.fontFamily angezeigt und ihre Beschreibung enthält einen Link zur Einstellung editor.fontFamily. Das Klicken auf den Link führt nun korrekt zur Einstellung.">
Thema: Light Pink
Kommentar-Widget-Primärtaste
Das Kommentar-Widget verwendet die Primärtastenfarbe für die erste (am weitesten rechts befindliche) Aktion.

Terminal
Hintergrundfarbe für gefundene Übereinstimmungen
Im letzten Release wurde die Suche im Terminal implementiert, um einen Rand um alle Übereinstimmungen anzuzeigen. Dies war jedoch eine temporäre Lösung, bis die Unterstützung für die dynamische Änderung des Hintergrunds von Zellen möglich war. Ein farbiger Hintergrund ist jetzt Standard für Themes beim Hervorheben von Übereinstimmungen und die Gesamterfahrung sollte dem Editor ähneln.

Wenn Sie ein Theme-Autor sind, der terminal.findMatchBorder oder terminal.findMatchHighlightBorder verwendet hat, empfehlen wir die Migration zu terminal.findMatchBackground und terminal.findMatchHighlightBackground, wenn dies besser zum Theme passt oder den Kontrast verbessert.
Verbesserungen bei Kontrast und minimalem Kontrastverhältnis
Die Arbeit am Hintergrund der gefundenen Übereinstimmungen hat die Flexibilität des Terminals bei der Arbeit mit Hintergrund- und Vordergrundfarben erheblich erhöht. Aus diesem Grund wurden Kontrastverbesserungen im Terminal vorgenommen, die die visuellen Darstellungen des Terminals näher an den Editor anpassen. Darüber hinaus gibt es jetzt die Funktion für das minimale Kontrastverhältnis, die die Vordergrundfarbe des Textes dynamisch ändert, um die Sichtbarkeit zu verbessern.
-
Die Luminanz geht nun in die andere Richtung, wenn der Kontrast nicht erfüllt ist. Wenn beispielsweise der Kontrast für dunkelgrauen Text auf einem helleren grauen Hintergrund mit reinem Schwarz (#_000000) nicht erfüllt ist, wird die Farbe versuchen, sich auch Weiß anzunähern, und der Wert, der das gewünschte Kontrastverhältnis am besten erfüllt, wird verwendet.

-
Die Auswahl wird nun unter dem Text gezeichnet, wenn die GPU-Beschleunigung deaktiviert ist und opake Farben unterstützt. Zuvor musste dies teilweise transparent sein und die Vordergrundfarbe auswaschen. Dank dieser Änderung verwendet die Auswahlfarbe nun dieselbe Farbe wie im Editor.

-
Nerd Font-Symbole sollten nun das minimale Kontrastverhältnis anwenden, um sich mit dem umliegenden Text zu verbinden, während Powerline-Symbole und Box-Drawing-Zeichen das minimale Kontrastverhältnis nicht anwenden, da sie oft an invertierten Zellen ohne Vordergrundzeichen angrenzen.

-
Themes können nun eine feste Auswahl-Vordergrundfarbe angeben, die standardmäßig in High-Contrast-Themes verwendet wird.

-
Mehrere Fehler wurden behoben, um die resultierende Vordergrundfarbe korrekter zu gestalten.
Zur Erinnerung: Das minimale Kontrastverhältnis kann deaktiviert werden, wenn Sie die Originalfarben bevorzugen, indem Sie "terminal.integrated.minimumContrastRatio": 1 einstellen.
Aufgaben
Glob-Muster für Standardaufgaben
Standard-Build- und Testaufgaben können nun so konfiguriert werden, dass sie nur dann "Standard" sind, wenn die aktive Datei einem Dateinamensmuster entspricht.
{
"version": "2.0.0",
"tasks": [
{
"label": "echo txt",
"type": "shell",
"command": "echo TextFile",
"group": {
"kind": "build",
"isDefault": "**.txt" // This is a glob pattern which will only match when the active file has a .txt extension.
}
},
{
"label": "echo js",
"type": "shell",
"command": "echo JavascriptFile",
"group": {
"kind": "build",
"isDefault": "**.js" // This is a glob pattern which will only match when the active file has a .js extension.
},
}
]
}
Quellcodeverwaltung
Es gab einige Updates für die Git-Erweiterung, die mit unserem neuen Pull-Request-Workflow übereinstimmen.
Git: Branch-Präfix
Um den Prozess der Erstellung eines neuen Branches zu vereinfachen, gibt es eine neue Einstellung, git.branchPrefix, die eine Zeichenfolge angibt, die beim Erstellen eines neuen Branches als Präfix verwendet werden soll.
Git: Generierung von Branch-Namen
Eine neue Einstellung git.branchRandomName.enable lässt VS Code zufällige Branch-Namen vorschlagen, wann immer ein neuer Branch erstellt wird. Die zufälligen Namen werden aus Wörterbüchern generiert, die Sie über die Einstellung git.branchRandomName.dictionary steuern können. Die unterstützten Wörterbücher sind: adjectives (Standard), animals (Standard), colors und numbers.
Git: Branch-Schutz
Mit der neuen Einstellung git.branchProtection können Sie bestimmte Branches als geschützt konfigurieren. VS Code vermeidet direkte Commits auf geschützten Branches und bietet Ihnen stattdessen die Möglichkeit, einen neuen Branch zum Committen zu erstellen. Sie können dieses Verhalten mit der Einstellung git.branchProtectionPrompt feinabstimmen.
GitHub: Unterstützung für Pull-Request-Vorlagen
Die GitHub-Erweiterung versteht nun Pull-Request-Vorlagen und verwendet sie als Basis bei der Erstellung eines PR aus einem neu geforkten Repository.
Notebooks
Änderungen an der Zellen-Anzeige
Wir haben abgestimmt, wie Zellen außerhalb des Ansichtsfensters in einigen Szenarien angezeigt werden.
Wenn Sie auf eine Zelle in der Gliederungsansicht klicken und sich diese Zelle außerhalb des Ansichtsfensters befindet, scrollt das Notebook nun, um diese Zelle etwa im oberen Fünftel des Ansichtsfensters anzuzeigen. Dies entspricht dem Verhalten der Gliederung im Texteditor.
Wenn sich der Cursor in einem Zellen-Editor befindet, können Sie den Cursor über die erste oder letzte Zeile des Editors hinaus bewegen, um ihn in den nächsten Zellen-Editor zu verschieben. Wenn Sie nun den Cursor in einen Editor bewegen, dessen Zelle sich außerhalb des Ansichtsfensters befindet, scrollt das Notebook gerade so weit, um diese Zeile im Editor anzuzeigen, anstatt aufzuspringen, um die Zelle in der Mitte des Ansichtsfensters anzuzeigen.
Suchen und Ersetzen unterstützt das Befüllen der Abfrage aus Cursor/Auswahl
Die Suchfunktion im Notebook-Editor unterstützt jetzt das Befüllen des Suchstrings aus der Editorauswahl. Das Verhalten wird durch die Editor-Einstellung editor.find.seedSearchStringFromSelection gesteuert.
Debugging
Ausführen und Debuggen ohne launch.json
Wenn Sie noch keine launch.json-Konfigurationsdatei eingerichtet haben und F5 drücken oder auf die Schaltfläche Ausführen und Debuggen in der Debug-Ansicht klicken, wählt VS Code einen Debugger basierend auf der Programmiersprache in der aktuell aktiven Datei aus. Wenn Sie keine Datei geöffnet haben, werden Sie gefragt, welchen Debugger Sie verwenden möchten. Diese Erfahrung kann etwas verwirrend sein, daher haben wir einige Verbesserungen vorgenommen.

Wenn eine Erweiterung bereits aktiviert wurde, bevor Sie mit dem Debugging begonnen haben, wird der Debugger dieser Erweiterung nach oben sortiert. Dies kann beispielsweise nützlich sein, wenn die Erweiterung durch das Ausführen eines Befehls dieser Erweiterung, das Öffnen einer Datei einer Sprache, die diese Erweiterung aktiviert, oder durch ein workspaceContains-Muster, das zu Ihrem Arbeitsbereich passt, aktiviert wurde. Wenn Sie den Debugger in dieser Sitzung verwendet haben, wird er ebenfalls nach oben sortiert.
Die Chrome/Edge-Debugger wurden in Web-App (Chrome) und Web-App (Edge) umbenannt, um Verwechslungen mit anderen Debuggern wie der Flutter-Erweiterung zu vermeiden, die ebenfalls Apps im Browser ausführt.
Sprachen
TypeScript 4.7
VS Code bündelt jetzt TypeScript 4.7.3. Dieses große TypeScript bringt neue Sprachfunktionen, darunter verbesserte Kontrollflussanalyse und Unterstützung für ECMAScript-Modulunterstützung in Node.js. Es enthält auch neue Tooling-Funktionen und behebt eine Reihe wichtiger Fehler!
Zu Quellendefinition wechseln
Eine der am längsten bestehenden und am häufigsten gewünschten Funktionsanfragen von VS Code ist es, VS Code dazu zu bringen, zur JavaScript-Implementierung von Funktionen und Symbolen aus externen Bibliotheken zu navigieren. Derzeit springt Zu Definition wechseln zur Typdefinitionsdatei (der .d.ts-Datei), die die Typen für die Ziel Funktion oder das Symbol definiert. Dies ist nützlich, wenn Sie die Typen oder die Dokumentation für diese Symbole überprüfen müssen, aber die tatsächliche Implementierung des Codes verbirgt. Das aktuelle Verhalten verwirrt auch viele JavaScript-Benutzer, die den TypeScript-Typ aus der .d.ts möglicherweise nicht verstehen.
Auch wenn die Änderung von Zu Definition wechseln zur JavaScript-Implementierung eines Symbols navigieren zu lassen, einfach klingt, gibt es einen Grund, warum diese Funktionsanfrage so lange offen ist. JavaScript (und insbesondere das kompilierte JavaScript, das von vielen Bibliotheken ausgeliefert wird) ist wesentlich schwieriger zu analysieren als eine .d.ts. Der Versuch, den gesamten JavaScript-Code unter node_modules zu analysieren, wäre sowohl langsam als auch würde den Speicherverbrauch drastisch erhöhen. Es gibt auch viele JavaScript-Muster, die die VS Code IntelliSense-Engine nicht versteht.
Hier kommt der neue Befehl Zu Quellendefinition wechseln ins Spiel. Wenn Sie diesen Befehl entweder über das Kontextmenü des Editors oder über die Befehlspalette ausführen, versucht TypeScript, die JavaScript-Implementierung des Symbols zu finden und dorthin zu navigieren. Dies kann einige Sekunden dauern und wir erzielen möglicherweise nicht immer das richtige Ergebnis, aber in vielen Fällen sollte es nützlich sein.
Wir arbeiten aktiv daran, diese Funktion zu verbessern. Probieren Sie sie also in Ihrer Codebasis aus und teilen Sie uns Ihr Feedback mit.
Objektmethoden-Snippets
Objektmethoden-Snippets helfen Ihnen, schnell Methoden zu Objektliteralen hinzuzufügen, die eine gegebene Schnittstelle implementieren.
Innerhalb eines Objektliterals sollten Sie zwei Vorschläge für jede mögliche Methode sehen: eine, die nur den Methodennamen einfügt, und eine, die die vollständige Signatur der Methode einfügt. Sie können Objektmethoden-Snippets auch vollständig deaktivieren, indem Sie "typescript.suggest.classMemberSnippets.enabled": false oder "javascript.suggest.classMemberSnippets.enabled": false setzen.
Gruppenbewusstes Organisieren von Importen
Der Befehl Importe organisieren für JavaScript und TypeScript ermöglicht es Ihnen, Ihre Liste von Importen schnell zu bereinigen. Wenn er ausgeführt wird, entfernt er sowohl ungenutzte Importe als auch sortiert die Importe alphabetisch.
Einige Codebasen bevorzugen jedoch ein gewisses Maß an manueller Kontrolle darüber, wie ihre Importe organisiert werden. Die Gruppierung externer vs. interner Importe ist eines der häufigsten Beispiele dafür.
// local code
import * as bbb from './bbb';
import * as ccc from './ccc';
import * as aaa from './aaa';
// built-ins
import * as path from 'path';
import * as child_process from 'child_process';
import * as fs from 'fs';
// some code...
In älteren VS Code-Versionen würde das Ausführen von Importe organisieren hier zu Folgendem führen:
// local code
import * as child_process from 'child_process';
import * as fs from 'fs';
// built-ins
import * as path from 'path';
import * as aaa from './aaa';
import * as bbb from './bbb';
import * as ccc from './ccc';
// some code...
Igitt! Dies geschieht, weil alle Importe alphabetisch sortiert werden und VS Code sogar versucht, Kommentare und Zeilenumbrüche dabei beizubehalten.
Mit TypeScript 4.7 ist Importe organisieren jedoch gruppenbewusst. Das Ausführen auf dem obigen Code sieht etwas mehr so aus, wie Sie es erwarten würden:
// local code
import * as aaa from './aaa';
import * as bbb from './bbb';
import * as ccc from './ccc';
// built-ins
import * as child_process from 'child_process';
import * as fs from 'fs';
import * as path from 'path';
// some code...
Beachten Sie, wie die Importe nun sortiert wurden, während sie immer noch innerhalb ihrer Gruppen verblieben sind. Viel besser!
Strikte Nullprüfungen in impliziten Projekten aktiviert
Strikte Nullprüfungen sind in impliziten Projekten standardmäßig für JavaScript und TypeScript aktiviert. Dies sollte zu genaueren IntelliSense-Ergebnissen und einer verbesserten Typüberprüfung führen, die häufige Programmierfehler erkennen kann.

Dieses neue Verhalten gilt nur für Dateien, die nicht Teil eines jsconfig- oder tsconfig-Projekts sind. Sie können es deaktivieren, indem Sie Folgendes einstellen: "js/ts.implicitProjectConfig.strictNullChecks": false. Für Dateien, die Teil eines jsconfig- oder tsconfig-Projekts sind, müssen Sie weiterhin strikte Nullprüfungen in der Konfigurationsdatei aktivieren.
Zu Definition wechseln für Markdown-Referenzlinks
Sie können jetzt Zu Definition wechseln für Referenzlinks in Markdown-Dateien verwenden. Dies springt von der Referenz zur Linkdefinition in der aktuellen Datei.
Erweiterte JSON-Schema-Unterstützung
Der integrierte JSON-Sprachdienst hat die Unterstützung für JSON Schema Draft 2019-09 und JSON Schema Draft 2020-12 verbessert. Es wird keine Warnung mehr angezeigt, wenn ein solches Schema verwendet wird.
Es gibt immer noch einige Funktionen, die nicht vollständig unterstützt werden. Es wird eine Warnung angezeigt, wenn sie von einem Schema verwendet werden. Die nicht unterstützten Eigenschaften sind:
- Teilschemata mit $id
- $recursiveRef/Anchor (Draft 2019-09)
- $dynamicRef/Anchor (Draft 2020-12)
VS Code für das Web
Kern-Lokalisierungsunterstützung
Wir haben die anfängliche Lokalisierungsunterstützung für VS Code for the Web eingeführt. VS Code wird auf der ganzen Welt verwendet, und für viele Benutzer ist Englisch nicht ihre Muttersprache (oder eine Sprache, mit der sie überhaupt vertraut sind!). Seit Jahren installieren VS Code-Benutzer Sprachpakete aus dem Marketplace, um VS Code in einer anderen Sprache als Englisch zu verwenden. Für VS Code for the Web haben wir uns für einen anderen Ansatz entschieden, der besser mit der heutigen Arbeitsweise des Webs übereinstimmt.
Für Benutzer, die ihren Browser auf eine unserer Kernsprachen eingestellt haben, wendet vscode.dev automatisch Übersetzungen in dieser Sprache an. Die unterstützten Sprachen sind im vscode-loc-Repository dokumentiert.
Um beispielsweise die Anzeigesprache in Microsoft Edge zu konfigurieren, würden Sie Einstellungen > Sprachen verwenden.

Sobald dies eingestellt ist, wird beim Aufruf von vscode.dev (oder insiders.vscode.dev) die Anzeige auf Deutsch erfolgen.

Theme: Panda Theme
In den nächsten Monaten werden wir die Lokalisierung für Erweiterungen (sowohl für die mit VS Code ausgelieferten als auch für die nicht mitgelieferten) aktivieren, damit Erweiterungsautoren auch nicht-englischsprachige Benutzer unterstützen können. Bleiben Sie dran!
Remote Repositories
Wenn Sie den Befehl Remote Repositories > Weiterarbeiten an... verwenden, um ein GitHub- oder Azure Repos-Repository lokal zu klonen und es in Desktop-VS Code zu öffnen, können Sie jetzt remoteHub.gitProtocol so konfigurieren, dass immer mit http- oder ssh-URLs geklont wird.
Entwicklungscontainer-Spezifikation
Unsere Entwicklungs-Container-Teams von Microsoft und GitHub setzen die aktive Entwicklung an der neuen Dev Container Specification fort, und diese Iteration brachte mehrere spannende Highlights.
Referenzimplementierung
Wir haben eine Open-Source-Befehlszeilenschnittstelle (CLI) als Referenzimplementierung für die Spezifikation veröffentlicht. Die CLI baut einen Dev-Container aus einer devcontainer.json und startet ihn. Sie kann entweder direkt verwendet oder in Produkt-Erfahrungen integriert werden.
Die CLI ist im neuen Repository devcontainers/cli verfügbar. Sie können in der README erfahren, wie Sie loslegen, und in diesem Blogbeitrag mehr lesen.
Die CLI befindet sich in aktiver Entwicklung und wird sich weiterentwickeln, um mehr Szenarien besser zu unterstützen, z. B. eine stärkere Unterstützung für einzelne Benutzer. Wir würden uns freuen, Ihr Feedback zu erhalten. Daher haben wir ein Issue speziell für Feedback zur CLI eröffnet und begrüßen weitere Issues und PRs im Repo.
Dev Container in CI
Ein GitHub Action und eine Azure DevOps Task sind für die Ausführung des Dev-Containers eines Repositorys in Continuous-Integration (CI)-Builds verfügbar. Dies ermöglicht es Ihnen, dasselbe Setup, das Sie für die lokale Entwicklung verwenden, auch für den Build und Test Ihres Codes in CI zu verwenden. Weitere Details finden Sie in der devcontainers/ci README.
Beispielhafte Nutzung der GitHub Action
- name: Build and run dev container task
uses: devcontainers/ci@v0.2
with:
imageName: ghcr.io/example/example-devcontainer
runCmd: make ci-build
Beispielhafte Nutzung der Azure DevOps Task
- task: DevcontainersCI@0
inputs:
imageName: 'yourregistry.azurecr.io/example-dev-container'
runCmd: 'make ci-build'
sourceBranchFilterForPush: refs/heads/main
Spezifikation
Die aktive Entwicklung an der Spezifikation wird fortgesetzt, und wir haben eine Anfangsversion im Repository devcontainers/spec veröffentlicht.
Wie bei der CLI bleiben Sie dran für weitere Updates und Fortschritte, und wir würden uns freuen, Ihr Feedback zu hören.
Weiterführende Lektüre
Sie können alles über Entwicklungcontainer und die Spezifikation unter https://containers.dev lesen.
Beiträge zu Erweiterungen
Python
Keine Interpretererkennung beim Start
Die Python-Erweiterung löst die Erkennung jetzt nur noch automatisch aus, wenn
- Sie den Befehl Python: Interpreter auswählen verwenden, um einen anderen Interpreter auszuwählen.
- Ein bestimmter Gültigkeitsbereich (Arbeitsbereich oder global) zum ersten Mal geöffnet wird.
- Kein Python installiert ist.
Da die Erkennung beim Start nicht automatisch ausgelöst wird, führt dies zu einem sofortigen Laden und schnellerem Start anderer Funktionen wie des Sprachservers. Wenn jedoch die Jupyter-Erweiterung installiert/aktiviert ist, wird die Erkennung beim Start immer noch von Jupyter ausgelöst.
Lokalisierung aktivieren
Die Python-Erweiterung unterstützt jetzt Übersetzungen in allen Sprachen, die VS Code unterstützt. Wir haben die Art und Weise, wie wir die Übersetzungen unserer Befehle, Benachrichtigungen, Titel usw. erhalten, mit vscode-nls aktualisiert. Diese Übersetzungen werden von einem Lokalisierungsteam gepflegt, um sicherzustellen, dass sie aktuell und korrekt sind.
Jupyter
Web-Erweiterung
Wir haben Fortschritte bei der Unterstützung weiterer Kernfunktionen in der Webversion der Jupyter-Erweiterung gemacht.
In diesem Monat wurden die folgenden Funktionen in die Web-Erweiterung portiert:
- https-Unterstützung
- Kernel-Vervollständigungen
- ipywidgets
- Notebook-Debugging
- Variablenansicht
- Exportieren
- Interaktives Fenster
Wenn Sie mit der Funktionalität experimentieren möchten, starten Sie Jupyter von Ihrem lokalen Computer mit
jupyter notebook --no-browser --NotebookApp.allow_origin_pat=https://.*\.vscode-cdn\.net
Verbinden Sie sich dann damit über den Befehl Jupyter: Jupyter-Server für Verbindungen angeben aus vscode.dev.
Weitere Informationen (und zum Kommentieren) finden Sie in dieser Diskussions- Diskussion.
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.
Informationen zu neuen Erweiterungsfunktionen und behobenen Fehlern finden Sie in den Remote Development Release Notes.
GitHub Pull Requests und Issues
Es wurden weitere Fortschritte bei der GitHub Pull Requests and Issues-Erweiterung erzielt, die es Ihnen ermöglicht, Pull-Anfragen und Issues zu bearbeiten, zu erstellen und zu verwalten. Highlights dieser Version sind:
- Auto-Merge-Kontrollkästchen in der Ansicht Pull-Anfrage erstellen
Werfen Sie einen Blick in das Changelog für die Version 0.44.0 der Erweiterung, um weitere Highlights zu sehen.
Remote Repositories-Erweiterungen
Sowohl die GitHub Repositories- als auch die Azure Repos-Erweiterungen unterstützen Übersetzungen in allen Sprachen, die VS Code unterstützt.
Vorschau-Funktionen
Markdown-Link-Validierung
Beim Arbeiten mit Markdown ist es leicht, versehentlich einen ungültigen Dateilink oder eine falsche Bildreferenz einzufügen. Vielleicht haben Sie vergessen, dass der Dateiname einen - (Bindestrich) anstelle eines _ (Unterstrich) verwendet hat, oder vielleicht wurde die Datei, auf die Sie verlinken, in ein anderes Verzeichnis verschoben. Oft bemerken Sie diese Fehler erst nach dem Anzeigen der Markdown-Vorschau oder sogar nach der Veröffentlichung. Die neue experimentelle Markdown-Link-Validierung von VS Code kann helfen, diese Fehler zu erkennen.
Mit der Link-Validierung analysiert VS Code Markdown-Links zu Headern, Bildern und anderen lokalen Dateien. Ungültige Links werden als Warnungen oder Fehler gemeldet.

VS Code kann sogar ungültige Links zu bestimmten Headern in anderen Markdown-Dateien erkennen!
Die Link-Validierung ist standardmäßig deaktiviert. Sie können die Link-Validierung ausprobieren, indem Sie "markdown.experimental.validate.enabled": true einstellen.
Es gibt einige Einstellungen, die Sie zur Anpassung der Link-Validierung verwenden können:
-
markdown.experimental.validate.fileLinks.enabled- Aktivieren/Deaktivieren der Validierung von Links zu lokalen Dateien:[Link](/pfad/zu/datei.md) -
markdown.experimental.validate.headerLinks.enabled- Aktivieren/Deaktivieren der Validierung von Links zu Headern in der aktuellen Datei:[Link](#_ein-header) -
markdown.experimental.validate.referenceLinks.enabled- Aktivieren/Deaktivieren der Validierung von Referenzlinks:[Link][ref]. -
markdown.experimental.validate.ignoreLinks- Eine Liste von Links, die von der Validierung übersprungen werden. Dies ist nützlich, wenn Sie auf Dateien verlinken, die auf der Festplatte nicht existieren, aber nach der Veröffentlichung des Markdown vorhanden sind.
Lassen Sie uns wissen, was Sie von der neuen Funktion halten!
Dateien einfügen, um Markdown-Links zu erstellen
Wir haben experimentelle Unterstützung für das Einfügen von Bildern oder Dateilinks in Markdown hinzugefügt.
Dies erfordert die Aktivierung von sowohl markdown.experimental.editor.pasteLinks.enabled als auch "editor.experimental.pasteActions.enabled". Sie können derzeit Dateien aus dem VS Code Dateiexplorer kopieren. Das Einfügen von Bilddateien fügt Bildreferenzen ein, während das Einfügen normaler Textdateien Links zu diesen Dateien einfügt.
Terminal Shell-Integration
Shell-Integration (aktiviert mit der Einstellung terminal.integrated.shellIntegration.enabled) und Befehlsdekorationen wurden in dieser Iteration poliert und verbessert.
Einige der Updates beinhalten
- 146377 Beibehalten des Shell-Status, damit
bash-git-promptund andere Programme funktionieren - 148635 Erlauben der Verwendung eines benutzerdefinierten
ZDOTDIRfürzsh - 145801 Beheben von Dekorationen, die auf langsameren Rechnern aus dem Takt geraten
- 146873 Verbessern der Behandlung bestehender Debug-Traps in
bash - 148839 Polieren der Meldungen mit dem Befehl Wie funktioniert das? und des Aktivierungsstatus im Hover der Registerkarte
- 151223 Sicherstellen, dass nach dem Löschen des Puffers die Befehle korrekt verfolgt werden
Fenstersteuerelement-Overlay unter Windows
Wir haben die von Electron bereitgestellte API übernommen, um das Fenstersteuerelement-Overlay unter Windows zu unterstützen. Der wichtigste für den Benutzer sichtbare Vorteil dieser Änderung ist der Zugriff auf die Snap Layouts-Funktion in Windows 11. Aufgrund einiger anhaltender Probleme ist das Fenstersteuerelement-Overlay standardmäßig deaktiviert, Sie können es jedoch mit der experimentellen Einstellung window.experimental.windowControlsOverlay.enabled aktivieren.

Befehlszentrale
Wir fügen die Befehlszentrale hinzu – eine einfachere Möglichkeit, die Schnellvorschau für Dateien, Befehle und mehr auszulösen.

Dies kann über die Einstellung window.experimental.commandCenter aktiviert werden, und wir freuen uns über Ihr Feedback.
Merge-Editor
Wir haben begonnen, an einer besseren Merge-Erfahrung zu arbeiten. Es steckt noch in den Anfängen und wir sind noch nicht bereit für Feedback, aber Sie können es über git.experimental.mergeEditor ausprobieren. Wenn dies aktiviert ist, öffnen sich Dateien mit Merge-Konflikten in einem neuen Merge-Editor, um die Auflösung von Konflikten zu vereinfachen.
Wir werden weiter daran arbeiten. Nutzen Sie Insiders, um unseren Fortschritt zu verfolgen. Wir möchten uns aufrichtig bei Mingpan und unseren Freunden bei Google bedanken, die uns bei dieser Bemühung unterstützen. ❤️
Erweiterungs-Authoring
Finalisierung der Inline-Vervollständigungen
Wir haben die Inline-Vervollständigungs-API finalisiert. Dies ermöglicht es Erweiterungen, Inline-Vervollständigungen bereitzustellen, die vom Vorschlags-Widget entkoppelt sind. Eine Inline-Vervollständigung wird so gerendert, als wäre sie bereits akzeptiert worden, jedoch in grauer Farbe. Benutzer können durch Vorschläge navigieren und sie mit der Tab-Taste akzeptieren. Eine Beispielerweiterung, die Inline-Vervollständigungen verwendet, ist GitHub Copilot. Weitere Informationen finden Sie in der Datei vscode.d.ts, wobei der Einstiegspunkt in die API languages.registerInlineCompletionItemProvider ist.
Finalisierung der Schweregrade von Validierungsnachrichten für InputBox
Unsere InputBox-APIs (über window.showInputBox und window.createInputBox) zum Bereitstellen von Schweregraden bei der Validierung von Benutzereingaben wurden finalisiert.
Wenn Sie dem Benutzer beispielsweise eine Informationsnachricht basierend auf seiner Eingabe anzeigen möchten, kann Ihre Validierungsnachricht Folgendes zurückgeben:
{
message: 'this is an info message';
severity: InputBoxValidationSeverity.Info;
}
was dann so aussehen würde:

Notebook-Editor-API
Die neue Notebook-Editor-API führt einen neuen Typ NotebookEditor ein, der TextEditor ähnelt, aber für Notebooks anstelle von normalen Texteditoren.
const editor = vscode.window.activeNotebookEditor;
if (editor) {
// Access the underlying notebook document associated with the editor
console.log(editor.notebook.uri);
// Change the selection in the current notebook
editor.selection = new vscode.NotebookRange(1, 3);
}
Sie können window.activeNotebookEditor verwenden, um den aktuellen Notebook-Editor zu erhalten, und Ereignisse wie window.onDidChangeActiveNotebookEditor, um zu beobachten, wann der Benutzer zum neuen Notebook-Editor wechselt.
Erweiterungsaktivierung basierend auf der Zeitleistenansicht
Ein neues Aktivierungsereignis wurde für den Zeitpunkt hinzugefügt, an dem die Zeitleistenansicht sichtbar ist. Dieses Ereignis onView:timeline kann von jeder Erweiterung verwendet werden, ist aber am nützlichsten für Erweiterungen, die die vorgeschlagene Timeline API implementieren.
UX-Richtlinien
Die UX-Richtlinien für Erweiterungsautoren wurden aktualisiert und erweitert, um weitere VS Code-Benutzeroberflächenelemente abzudecken.

Eine überarbeitete Übersichtsseite führt durch die VS Code-Benutzeroberfläche, um eine visuelle Tour durch die Benutzeroberfläche und gängige UI-Elemente zu geben.
Links zu relevanten Anleitungen, API-Referenzen und Erweiterungsbeispielen wurden jeder dedizierten Seite hinzugefügt. Darüber hinaus wurden alle Beispielbilder in den Richtlinien aktualisiert, um eine aktuelle Version der Benutzeroberfläche zu zeigen.
Sie können nun die empfohlenen Do's und Don'ts für Erweiterungen lesen, die zu diesen UI-Elementen hinzugefügt oder beitragen
Erweiterungssponsoring
In diesem Meilenstein haben wir ein Feld sponsor in der package.json der Erweiterung eingeführt, damit Erweiterungen sich für das Sponsoring entscheiden können. Das sponsor-Objekt hat ein url-Feld für den Sponsoring-Link des Erweiterungsautors. Zum Beispiel:
"sponsor": {
"url": "https://github.com/sponsors/nvaccess"
}
Wenn sich eine Erweiterung dafür entscheidet, rendert VS Code einen **Sponsor**-Button auf der Detailseite der Erweiterungsansicht, wie im Abschnitt Sponsoring von Erweiterungen oben gezeigt.
Hinweis: Stellen Sie sicher, dass Sie das neueste vsce-Kommandozeilentool (>=2.9.1) verwenden, um Ihre Erweiterung mit aktiviertem Sponsoring zu veröffentlichen.
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:
- Suchen Sie nach einem Vorschlag, den Sie ausprobieren möchten, und fügen Sie dessen Namen zu
package.json#enabledApiProposalshinzu. - Verwenden Sie das neueste vscode-dts und führen Sie
vscode-dts devaus. Es lädt die entsprechendend.ts-Dateien in Ihren Arbeitsbereich herunter. - 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.
Dateien aus DataTransfer lesen
Der neue API-Vorschlag dataTransferFiles ermöglicht es Erweiterungen, Dateien aus einem vscode.DataTransfer-Objekt zu lesen. Der Typ DataTransfer wird von der Tree-Drag-and-Drop-API sowie den Vorschlägen für Drag-and-Drop in Editoren und Copy-Paste-APIs verwendet.
export class TestViewDragAndDrop implements vscode.TreeDataProvider<Node>, vscode.TreeDragAndDropController<Node> {
...
public async handleDrop(target: Node | undefined, sources: vscode.DataTransfer, token: vscode.CancellationToken): Promise<void> {
// Get a list of all files
const files: vscode.DataTransferFile[] = [];
sources.forEach((item) => {
const file = item.asFile();
if (file) {
files.push(file);
}
});
const decoder = new TextDecoder();
// Print out the names and first 100 characters of the file
for (const file of files) {
const data = await file.data();
const text = decoder.decode(data);
const fileContentsPreview = text.slice(0, 100);
console.log(file.name + ' — ' + fileContentsPreview + '\n');
}
...
}
}
Datei-Datentransfer-Elemente werden derzeit nur dann zu DataTransfer hinzugefügt, wenn sie von außerhalb von VS Code stammen (z. B. wenn Sie vom Desktop in eine Baumansicht oder in den Editor ziehen und ablegen).
Copy-Paste-API
Der neue API-Vorschlag documentPaste ermöglicht es Erweiterungen, sich in das Kopieren und Einfügen in Texteditoren einzuhaken. Dies kann verwendet werden, um den beim Einfügen eingefügten Text zu ändern. Ihre Erweiterung kann auch Metadaten beim Kopieren von Text speichern und diese Metadaten beim Einfügen verwenden (z. B. um Importe beim Einfügen zwischen zwei Code-Dateien mitzunehmen).
Das Beispiel für eine Dokumenteinfügeerweiterung zeigt diese API in Aktion
/**
* Provider that maintains a count of the number of times it has copied text.
*/
class CopyCountPasteEditProvider implements vscode.DocumentPasteEditProvider {
private readonly countMimeTypes = 'application/vnd.code.copydemo-copy-count';
private count = 0;
prepareDocumentPaste(
_document: vscode.TextDocument,
_range: vscode.Range,
dataTransfer: vscode.DataTransfer,
_token: vscode.CancellationToken
): void | Thenable<void> {
dataTransfer.set(this.countMimeTypes, new vscode.DataTransferItem(this.count++));
}
async provideDocumentPasteEdits(
_document: vscode.TextDocument,
range: vscode.Range,
dataTransfer: vscode.DataTransfer,
token: vscode.CancellationToken
) {
const countDataTransferItem = dataTransfer.get(this.countMimeTypes);
if (!countDataTransferItem) {
return undefined;
}
const textDataTransferItem = dataTransfer.get('text/plain') ?? dataTransfer.get('text');
if (!textDataTransferItem) {
return undefined;
}
const count = await countDataTransferItem.asString();
const text = await textDataTransferItem.asString();
// Build a snippet to insert
const snippet = new vscode.SnippetString();
snippet.appendText(`(copy #${count}) ${text}`);
return new vscode.SnippetTextEdit(range, snippet);
}
}
vscode.languages.registerDocumentPasteEditProvider(
{ language: 'markdown' },
new CopyCountPasteEditProvider()
);
Neuer Notebook-Workspace-Edit-Vorschlag
Der neue API-Vorschlag notebookWorkspaceEdit ermöglicht es Erweiterungen, den Inhalt eines Notebooks zu bearbeiten. Er ersetzt den vorherigen Vorschlag notebookEditorEdit.
Mit dem Vorschlag können Sie Workspace-Edits erstellen, die Zellen in einem Notebook einfügen, ersetzen oder ändern
const currentNotebook = vscode.window.activeNotebookEditor?.notebook;
if (currentNotebook) {
const edit = new vscode.WorkspaceEdit();
edit.set(
currentNotebook.uri,
vscode.NotebookEdit.insertCells(/* index*/ 1, [
// ... new notebook cell data
])
);
await vscode.workspace.applyEdit(edit);
}
Technik
Pull-Anfragen verwenden
Wir haben davon Abstand genommen, Änderungen direkt in den main-Branch des VS Code-Repositorys zu pushen, und pushen nun alle Änderungen ausschließlich über Pull-Anfragen (PRs) zu VS Code. Wir verlangen, dass jede PR mindestens eine Zustimmung von einem anderen Teammitglied erhält. Dies nutzend, verlangen wir nun auch, dass einige grundlegende Prüfungen bestanden werden, bevor eine PR zusammengeführt werden kann. Dies sind Aufgaben wie TypeScript-Kompilierung, Formatierungsregeln, Unit-Tests und Integrationstests, die in der Regel nicht länger als 10 Minuten dauern. Der Wechsel zu diesem Workflow hat die Anzahl der Fälle reduziert, in denen unser Insiders-Build aufgrund eines Programmierfehlers unterbrochen wurde.
VS Code OSS Build
Wir haben einen neuen öffentlichen Code OSS Build, der dieselben Build-Definitionen wie unsere Produktions-Builds wiederverwendet. Dieser Build läuft jetzt in unter 30 Minuten für jede PR, und wir planen, weiterhin in die Beschleunigung zu investieren.
Dokumentation
Aktualisiertes Video zur Versionskontrolle
Das Einführungs-Video "Git mit Visual Studio verwenden" wurde überarbeitet, um Ihnen den Einstieg in die in VS Code integrierte Git-Integration zu erleichtern.
Sie finden weitere großartige Videos auch auf dem VS Code YouTube-Kanal.
vscode.dev auf code.visualstudio.com
Möchten Sie VS Code für das Web nutzen, aber die URL vergessen? vscode.dev wird jetzt prominent auf der VS Code Download-Seite angezeigt, damit Sie schnell VS Code in Ihrem Browser starten können.

Bemerkenswerte Fehlerbehebungen
- 141157 Das Drücken von F11 außerhalb des Debug-Modus aktiviert den Debugger, anstatt in den Vollbildmodus zu wechseln
- 148864 Nicht gebundener Haltepunkt für TypeScript-Dateien
- 149638 Schaltfläche zur verzögerten Auswertung von Variablen verursacht problematische Lücken und Fehlausrichtungen zwischen Knoten
Vielen Dank
Last but not least, ein großes Danke an die Mitwirkenden von VS Code.
Web-Erweiterungen
Erweiterungsautoren für die Ermöglichung von Erweiterungen, die Code als Web-Erweiterungen ausführen (die Liste unten bezieht sich auf den Zeitraum vom 2. Mai bis 6. Juni 2022)
- Pipeline Editor (Alexey Volkov)
- Markdown Base64 Image ID (amoxuk)
- Apache Daffodil VS Code Extension (Apache Software Foundation)
- Web Search (Ben Rogers)
- CloudStudio.coding (CloudStudio)
- Screenshot Clipboard (Darren Daniel Day)
- Galaxy Workflows (davelopez)
- React Snippets (dotkiro)
- Draw (hall)
- Blogging tool (Huka)
- Katalon Runner (Katalon Studioz)
- zzzGCS-Uploader (KillerBees)
- WhatTheCommit (Lasse Gaardsholt)
- TEI Japanese Editor (ldas)
- TypeScript Error Translator (Matt Pocock)
- Mintlify (Mintlify)
- Play DJMAX (minwook-shin)
- Sciter JS (MustafaHi)
- NewWeb (newsearchwebtesting)
- Loop Development Kit (Olive AI)
- Chewbacca (Otter)
- Grammarly (Rahul Kadyan)
- Reflame (Reflame)
- SAS (SAS Institute Inc.)
- vscode-solidity (sevillal)
- Slint (Nightly) (Slint)
- Markdown Images (Steven Gourley)
- Smart Sort (Suguru Yamamoto)
- fiber-ifttt-starlark (t-codespaces)
- Markdown Preview Style (Beta) (TakumiI)
- TATEditor for VS Code (TATEditor)
- kodeine (tored)
- Vue Language Features (Volar) (Vue)
- Watermelon (WatermelonTools)
- todoist (Waymondo)
- Arrange Selection (Wupb)
- Transient Emacs (yasuyuky)
- Go to Next Error (yy0931)
- Extra Commands (zardoy)
Fehlerverfolgung
Beiträge zu unserer Fehlerverfolgung
- John Murray (@gjsjohnmurray)
- Andrii Dieiev (@IllusionMH)
- ArturoDent (@ArturoDent)
- Simon Chan (@yume-chan)
Pull-Anfragen
Beiträge zu vscode
- @a-stewart (Anthony Stewart): Workaround für den Bug bei der Webview-Positionierung PR #137506
- @aifreedom (Song Xie)
- Datumsformate mit dem richtigen Gebietsschema formatieren PR #150133
- Tippfehler in der Protokollzeichenfolge für "synchronizing" korrigiert PR #150236
- @AlbertHilb: Übergibt ein gemeinsames
macros-Objekt an jeden Aufruf des katex-Renderers PR #148006 - @andrewbranch (Andrew Branch)
- [typescript-language-features] Fügt
flagszu den Vervollständigungs-Telemetriedaten hinzu PR #148313 - [typescript-language-features] Keine Commit-Zeichen für String-Vervollständigungen PR #148597
- [typescript-language-features] Fügt
- @bl-nero (Bartosz Leper): Behebt Endlosschleife in der Disassemblierungsansicht PR #148556
- @CGNonofr (Loïc Mangeonjean)
- Hochkontrast-Hell-Thema zum Monaco-Editor hinzugefügt PR #148249
- Editor-Überwachungsmethoden in der Monaco-API hinzugefügt PR #148777
- @dlech (David Lechner): Erlaubt null in ICodeEditor.restoreViewState() PR #146866
- @eugenesimakin (Eugene): Inherits editor.letterSpacing für den Suggest-Widget (behebt #125622) PR #148283
- @gjsjohnmurray (John Murray): Fügt "Enthaltenden Ordner öffnen" etc. zum Kontextmenü von Dateien in der Git SCM-Ansicht hinzu PR #149150
- @holazz (zz): Fügt "pnpm-lock.yaml" zu den Kind-Mustern von "package.json" hinzu PR #146869
- @ilumer (ilumer): Korrigiert die Überprüfung der Node-Version in build/npm/preinstall.js PR #150547
- @jasonwilliams (Jason Williams): Aktiviert Globs für Aufgaben, andernfalls wird auf Standard zurückgegriffen - behebt #88106 PR #141230
- @jeanp413 (Jean Pierre)
- Aktiviert "Gehe zu Definition" für Markdown-Links PR #148017
- Behebt, dass die Breite der geteilten Terminals nicht beibehalten wird, wenn sie beim Beenden nicht fokussiert waren PR #149594
- @justanotheranonymoususer: Fügt das Erweiterungsausgabe-Label zur URL hinzu PR #150065
- @Lazyuki: Überprüft maxTokenizationLineLength im monarchLexer PR #145979
- @Long0x0: Korrigiert inkorrekte Ligaturen beim Rendern von Leerzeichen PR #150349
- @MachineMitch21 (Mitch Schutt): Bereinigung des Schwellenwertquadrats für den Editor-Drop-Target-Debug PR #149570
- @Mingpan: [Unpoliertes Prototyp] 3-Wege-Merge für Git PR #150388
- @PF4Public: Ändert die Abhängigkeitssyntax in extensions/markdown-math PR #149501
- @pksunkara (Pavan Kumar Sunkara): feat: inlay hints displayStyle PR #150118
- @prashantvc (Prashant Cholachagudda): Fügt die Länge des Erweiterungssuchtextes zu den Telemetriedaten hinzu PR #148785
- @quanzhuo (Quan Zhuo): Fügt neue Promise-Snippets in JavaScript hinzu PR #148755
- @r3m0t (Tomer Chachamu): Korrigiert Zugriffstoken, das vom falschen Anbieter stammt PR #150473
- @Raymo111 (Raymond Li): Korrigiert Tippfehler PR #149509
- @remcohaszing (Remco Haszing): Gibt tsconfig.tsbuildinfo als JSON an PR #149065
- @robinkar (Robin Karlsson): Akzeptiert Groß-/Kleinschreibung im HTTP-Upgrade-Header im Web PR #150961
- @roj1512 (Roj): Behandelt mehrzeilige Commit-Nachrichten beim Erstellen einer PR PR #149426
- @ShenHongFei (沈鸿飞): Ermöglicht neben WebviewPanel auch WebviewView, TypedArrays zu übertragen PR #148429
- @susiwen8 (susiwen8): fix: Schließen der Meldung "Create Fork" erstellt tatsächlich eine Fork PR #148438
- @weartist (Han): behebt #130527 PR #146710
- @wkillerud (William Killerud): Fügt onEnterRule für SassDoc-Dokumentation hinzu PR #150599
- @yhatt (Yuki Hattori): Behebt #147936 PR #148503
Beiträge zu vscode-extension-samples
- @KamasamaK: Entfernt ungenutztes enableProposedApi PR #609
Beiträge zu vscode-generator-code
- @segevfiner (Segev Finer): Entfernt $tslint-webpack-watch aus der vscode-webpack-Vorlage PR #346
Beiträge zu vscode-html-languageservice
- @hahn-kev (Kevin Hahn): Ermöglicht die Angabe von leeren Elementen im Datenanbieter PR #125
Beiträge zu vscode-js-debug
- @ashgti (John Harrison): Fügt Unterstützung für indizierte Quellkarten hinzu. PR #1261
Beiträge zu vscode-languageserver-node
- @d-biehl (Daniel Biehl): Bereinigt Diagnosen in DiagnosticRequestor PR #976
- @DanTup (Danny Tuppeny)
- @heejaechang (Heejae Chang): Stellt sicher, dass von Dateieignissen abgemeldet wird PR #929
- @Vtec234 (Wojciech Nawrocki): fix: Gibt
falsezurück, wennshowDocumentfehlschlägt PR #951
Beiträge zu vscode-pull-request-github
- @jpspringall: Issue #3371 | Updated getAuthSessionOptions für den Fall von GitHub Enterprise AuthProvider PR #3565
Beiträge zu debug-adapter-protocol
- @apupier (Aurélien Pupier)
- @lemmy (Markus Alexander Kuppe): Fügt TLA+ zur Liste der Debug-Adapter-Protokolle hinzu PR #267
Beiträge zu language-server-protocol
- @asashour (Ahmed Ashour)
- @KamasamaK
- @michaelmesser (Michael Messer): Aktualisiert die neueste Version in index.html PR #1478
- @pedro-w (Peter Hull): Fügt Zeilenumbruch am Dateiende hinzu PR #1486