Januar 2022 (Version 1.64)
Update 1.64.1: Das Update behebt diese Sicherheitsprobleme.
Update 1.64.2: Das Update behebt diese Probleme.
Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Willkommen zur Januar 2022-Version von Visual Studio Code. Es gibt viele Updates in dieser Version, die Ihnen hoffentlich gefallen werden. Einige der wichtigsten Highlights sind:
- Neues Seitenfenster - Zeigen Sie mit dem neuen Seitenfenster mehr Ansichten gleichzeitig an.
- Einstellungen-Editor-Suche - Die Suche priorisiert jetzt Übereinstimmungen ganzer Wörter.
- Audiohinweise - Hören Sie, wenn der Cursor zu gefalteten Bereichen, Fehlern und Haltepunkten wechselt.
- Unicode-Hervorhebungsverbesserungen - Vermeiden Sie die Hervorhebung von Zeichen in unterstützten Sprachen.
- Automatische Terminalantworten - Erstellen Sie automatische Antworten auf gängige Terminalaufforderungen.
- Verbesserungen der Notebook-Benutzeroberfläche - Durchsuchen Sie Text in Markdown- und Ausgabezellen.
- Anzeige binärer Debug-Daten - Zeigen Sie binäre Daten während des Debuggens an und bearbeiten Sie sie.
- Markdown-Pfad-Vorschläge - Fügen Sie schnell relative Dateipfade und Header-Links ein.
- JS/TS-Umrahmung mit Snippets - Fügen Sie ausgewählten Code in Snippets ein.
- VS Code für das Web - Unterstützung für signierte GitHub-Commits in vscode.dev und github.dev.
Wenn Sie diese Release Notes online lesen möchten, gehen Sie zu Updates auf code.visualstudio.com.
Sehen Sie sich eine Hervorhebung der neuen Funktionen in dieser Version auf der Releaseparty des VS Code-Teams an. Die Aufzeichnung der Veranstaltung finden Sie auf unserem YouTube-Kanal.
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
Neues Seitenfenster
In diesem Meilenstein stellen wir das Seitenfenster vor, eine neue Oberfläche in der Werkzeugumgebung gegenüber der Seitenleiste, in der Sie Ansichten aus der Seitenleiste oder dem unteren Fenster unterbringen können. Im Gegensatz zum Verschieben des unteren Fensters nach links oder rechts vom Editor funktioniert das neue Seitenfenster zusätzlich zum unteren Fenster, sodass Sie mehr Ansichtssätze gleichzeitig sehen können.
Um das Seitenfenster zu verwenden, müssen Sie einige Ansichten dorthin verschieben. Basierend auf einer unserer am häufigsten nachgefragten Funktionen möchten Sie vielleicht die Ansicht "Gliederung" aus der Seitenleiste in das Seitenfenster verschieben. Dies können Sie durch Ziehen und Ablegen der Ansicht in das Seitenfenster tun. Wenn das Seitenfenster nicht geöffnet ist, öffnet sich das Ziehen einer Ansicht zum Rand des Editorbereichs, ähnlich wie beim unteren Fenster, und schaltet sich ein.
Im kurzen Video unten wird die Ansicht "Gliederung" nach rechts gezogen und abgelegt, um das Seitenfenster zu erstellen. Der Benutzer kann dann Ansichten in der Seitenleiste wechseln (hier wird die globale Suche-Ansicht geöffnet), während die Ansicht "Gliederung" sichtbar bleibt.
Alternativ können Sie den Befehl Ansicht verschieben aus der Befehlspalette verwenden, der eine Dropdown-Liste mit verfügbaren Ansichten anzeigt. Wenn Sie eine Ansicht auswählen, können Sie dann den Speicherort wählen, indem Sie einen neuen Eintrag für Fenster/Seitenleiste/Seitenfenster erstellen oder die Ansicht an einem vorhandenen Ort wie Explorer oder Quellcodeverwaltung platzieren.

Ansichten können durch Ziehen und Ablegen zwischen dem Fenster, der Seitenleiste und dem Seitenfenster verschoben werden, indem Sie auf das Ansichtssymbol klicken. Sie können den Speicherort einer Ansicht auf die Standardeinstellung zurücksetzen, indem Sie mit der rechten Maustaste auf das Ansichtssymbol klicken und Speicherort zurücksetzen auswählen.

Wenn Sie alle Ansichten auf das Standardlayout zurücksetzen möchten, können Sie Ansichten: Ansichtsspeicherorte zurücksetzen aus der Befehlspalette ausführen.
Ersetzen des Fenster-Speicherorts
Wie oben erwähnt, bietet das neue Seitenfenster ähnliche Funktionalität wie das Verschieben des Fensters nach links oder rechts, verbessert dies jedoch, indem nicht der gesamte Inhalt des ursprünglichen Fensters verschoben wird. Zusammen mit dem Ziehen und Ablegen von Ansichten zwischen Fenstern ersetzt das neue Seitenfenster die Option, das untere Fenster zu verschieben.
Daher haben wir die Einstellung workbench.panel.defaultLocation sowie die Befehle Fenster verschieben zugunsten ähnlicher Befehle als veraltet eingestuft
- Ansichten vom Fenster zum Seitenfenster verschieben (
workbench.action.movePanelToSidePanel) - Ansichten vom Seitenfenster zum Fenster verschieben (
workbench.action.moveSidePanelToPanel)
Die alten Befehle Fenster verschieben wurden auf den neuen Befehl umgemappt, der ähnliches Verhalten bietet. Selbst mit dieser Zuordnung empfehlen wir, Ihre Tastenkombinationen auf die neuen Befehle zu aktualisieren.
Unten wird das gesamte untere Fenster in das Seitenfenster verschoben und dann zurück in den ursprünglichen Fenster-Speicherort.
Fenster-Ausrichtung
Als Reaktion auf eine weitere beliebte Funktionsanfrage haben wir eine neue Layout-Option namens Fenster-Ausrichtung hinzugefügt. Mit dieser Option können Sie konfigurieren, wie weit das untere Fenster über Ihr Fenster gespannt wird. Es gibt vier Optionen:
- Zentrieren - Dies ist das klassische Verhalten. Das Fenster erstreckt sich nur über die Breite des Editorbereichs.
- Links - Das Fenster erstreckt sich vom linken Rand des Fensters bis zum rechten Rand des Editorbereichs.
- Rechts - Das Fenster erstreckt sich vom rechten Rand des Fensters bis zum linken Rand des Editorbereichs.
- Blocksatz - Das Fenster erstreckt sich über die gesamte Breite des Fensters.
Beachten Sie, dass bei allen Optionen die Aktivitätsleiste als Fensterrand betrachtet wird.
Sie können diese Optionen im Menü unter Ansicht > Erscheinungsbild > Fenster ausrichten oder über die neuen Befehle Fensterausrichtung setzen auf... konfigurieren.
Layout-Steuerung anpassen
Mit all diesen neuen Layout-Optionen haben wir nach Wegen gesucht, die Layout-Konfiguration zur besseren Auffindbarkeit und einfacheren Bedienung freizulegen. Deshalb bemerken Sie möglicherweise eine neue experimentelle Schaltfläche Layout konfigurieren in Ihrer Titelleiste. Diese erscheint nur, wenn Ihre Einstellung window.titleBarStyle auf custom (Standard unter Windows und macOS) gesetzt ist und workbench.experimental.layoutControl.enabled auf true gesetzt ist. Die Sichtbarkeit der Schaltfläche wird durch ein Experiment gesteuert, aber wenn Sie sie manuell aktivieren möchten, können Sie dies tun, indem Sie diese Einstellungswerte im Einstellungen-Editor anwenden (⌘, (Windows, Linux Ctrl+,)).

Der Inhalt des Menüs wird noch bearbeitet, aber derzeit sollten Sie die Möglichkeit sehen, die Seitenleiste, das Fenster und das Seitenfenster ein- und auszublenden. Außerdem sehen Sie einen Eintrag für einen neuen Befehl Layout anpassen. Dieser neue Befehl löst eine neue interaktive Quick-Pick-Erfahrung aus, mit der Sie alle Aspekte der Layout-Konfiguration an einem Ort steuern können.
Probieren Sie es aus und teilen Sie uns Ihr Feedback in Issue #137633 mit.
Einstellungen-Editor
Die Suche im Einstellungen-Editor sucht nun nach Übereinstimmungen von Zeichenfolgenwerten in Zeichenfolgen- und Enum-Einstellungen bei der Suche.

Der neue Suchalgorithmus priorisiert auch Übereinstimmungen ganzer Wörter, was bedeutet, dass, wenn man sowohl die Java- als auch die JavaScript-Erweiterungen hat, die Java-Einstellungen zuerst angezeigt werden, wenn nach "java" gesucht wird.

Schließlich funktionieren Dropdown-Listen (wie bei files.autoSave) und Listenfelder (wie bei files.associations) im Einstellungen-Editor jetzt mit Touchscreen-Geräten.
Einstellungen-Synchronisierung
Einstellungen-Synchronisierung unterstützt jetzt die Synchronisierung von Benutzertasks.

Die Standard-Maschinennamen für die Einstellungen-Synchronisierung umfassen jetzt den Browser- und Produktnamen in VS Code für das Web.

Explorer: Rückgängigmachen bestätigen und deaktivieren
Der Dateiexplorer unterstützt seit langem einen Rückgängigmachen-Stapel zum Zurücksetzen von Datei- und Ordnerbearbeitungen (Umbenennen, Ausschneiden/Kopieren/Einfügen, Verschieben, Importieren usw.). Einige Benutzer finden diese Funktionalität unerwartet, daher gibt es jetzt eine Einstellung, um Rückgängigmachen im Explorer zu deaktivieren (explorer.enableUndo).
Zusätzlich wurde eine neue Einstellung (explorer.confirmUndo) hinzugefügt, um zu konfigurieren, wie häufig der Explorer zur Bestätigung auffordert, wenn ein Rückgängigmachen durchgeführt wird. Standardmäßig fordert der Explorer häufiger zur Bestätigung auf als zuvor, um sicherzustellen, dass keine destruktiven Rückgängigaktionen versehentlich ausgeführt werden, dies kann aber mit dem Wert "light" auf das alte Verhalten geändert oder auf "verbose" gesetzt werden, um vor allen Rückgängigaktionen aufzufordern.
Editor
Audiohinweise
Audiohinweise geben an, ob die aktuelle Zeile bestimmte Marker wie Fehler, Haltepunkte oder gefaltete Textbereiche aufweist.
Sie werden abgespielt, wenn der primäre Cursor seine Zeile wechselt oder wenn zum ersten Mal ein Marker zur aktuellen Zeile hinzugefügt wird. Audiohinweise werden automatisch aktiviert, wenn ein Screenreader angeschlossen ist, können aber auch manuell eingeschaltet werden, indem audioCues.enabled auf on gesetzt wird.
Es werden noch weitere Audiohinweise kommen, und wir werden am Sounddesign arbeiten.
Verbesserungen der Unicode-Hervorhebung
Um die im November-Update eingeführte Funktion zur Unicode-Hervorhebung zu verbessern, gibt es neue Einstellungen, um besser mit Fehlalarmen umzugehen.
Die neue Einstellung editor.unicodeHighlight.allowedLocales kann verwendet werden, um Zeichen zuzulassen, die in einer oder mehreren konfigurierten Gebietsschemata üblich sind. Standardmäßig sind dies die aktuelle VS Code-Anzeigesprache und die aktuelle Betriebssystemsprache. Derzeit werden nur Gebietsschemata unterstützt, die in den vscode-loc Language Packs übersetzt wurden.
Die Einstellung editor.unicodeHighlight.includeStrings steuert, ob Zeichen in Zeichenfolgen hervorgehoben werden sollen. Der Wert ist standardmäßig true, kann aber auf false gesetzt werden, um Zeichenfolgen zu ignorieren.
Editor-Faltungsbegrenzung
Eine neue Einstellung editor.foldingMaximumRegions ermöglicht es Benutzern, die maximale Anzahl von Faltungsbereichen zu ändern, die in einem Editor angezeigt werden. Standardmäßig beträgt die Grenze 5000. Beachten Sie, dass größere Zahlen zu einer reduzierten Leistung führen können.
Editor passt sich an die Zeitsteuerung von Sprachfunktionen an
Erweiterungen ermöglichen fast alle Sprachfunktionen, einschließlich integrierter Funktionen wie Faltungsbereiche, CodeLens, Inlay-Hinweise und semantische Token. Diese Funktionen werden nicht durch Benutzergesten ausgelöst, sondern durch Tippen, normalerweise nach einem Timeout. Zum Beispiel werden CodeLens beim Tippen aktualisiert, ebenso wie semantische Token. Die gewählten Timeout-Werte waren fest und mehr oder weniger willkürlich. Mit dieser Version passt sich der Editor an die beobachtete Zeitsteuerung an, sodass langsamere Maschinen oder Netzwerkverbindungen nicht mit Anfragen überfordert werden und schnellere Maschinen besser genutzt werden.
Terminal
Automatische Antworten
Das Terminal verfügt jetzt über eine optionale Funktion zur automatischen Beantwortung, wenn eine bestimmte Zeichenfolge empfangen wird. Ein gutes Beispiel, wo dies nützlich ist, ist die Windows-Batch-Skriptmeldung Terminate batch job (Y/N)? nach dem Drücken von Ctrl+C beim Ausführen eines Batch-Skripts. Um das Terminal automatisch mit Y und Enter (\r) auf Ctrl+C unter Windows antworten zu lassen, fügen Sie die folgende Einstellung hinzu:
"terminal.integrated.autoReplies": {
"Terminate batch job (Y/N)?": "Y\r"
}
Thema: Sapphire
Sie können benutzerdefinierte Antworten für andere Dinge einrichten, aber seien Sie vorsichtig, da Sie automatisch Text an den Prozess senden. Sie könnten es zum Beispiel verwenden, um Oh My Zsh automatisch zu aktualisieren, wenn Sie dazu aufgefordert werden.
"terminal.integrated.autoReplies": {
"[Oh My Zsh] Would you like to check for updates? [Y/n]": "Y\r"
}
Wenn Sie Clink verwenden und deren ähnliche Funktion aktivieren, können Sie diese in Clink oder in VS Code deaktivieren, indem Sie die Antwort auf null setzen, um Konflikte zwischen den beiden Funktionen zu vermeiden.
"terminal.integrated.autoReplies": {
"Terminate batch job (Y/N)": null
}
Erweiterte VT-Unterstützung
Die Unterstützung für Betriebssystembefehl (OSC) 4/10/11/12 Escape-Sequenzen wurde hinzugefügt, die es Anwendungen ermöglichen, die Farbthemen des Terminals zu steuern.
Tastaturgesteuerte Links
Zuvor erforderte die Link-Navigation im Terminal die Verwendung einer Maus. Jetzt können Links nur noch mit der Tastatur über die folgenden Befehle geöffnet werden:
- Terminal: Letzten Weblink öffnen... zum Beispiel
https://github.com/microsoft/vscode - Terminal: Letzten Dateilink öffnen... zum Beispiel
/Users/user/repo/file.txt - Terminal: Link erkennen und öffnen... um alle Links (Web, Datei, Wort) anzuzeigen.

Quellcodeverwaltung
Mehr Kontrolle über die Repository-Erkennung
Basierend auf Feedback der Community gibt es zwei neue Einstellungen, um den Prozess der Erkennung von Git-Repositories besser zu steuern und vielfältigere Ordnerstrukturen zu berücksichtigen.
git.repositoryScanMaxDepth- Steuert die beim Scannen verwendete Tiefe.git.repositoryScanIgnoredFolders- Steuert die Liste der Ordner, die beim Scannen ignoriert werden sollen.
Verbesserungen der Sortierung der Änderungsliste
Eine neue Einstellung (scm.defaultViewSortKey) steuert den Standard-Sortierschlüssel für die Änderungsliste in der Quellcodeverwaltungsansicht. Die Wahl des Sortierschlüssels wird auch für jeden Ordner/Arbeitsbereich gespeichert.
Die Optionen sind
name- Sortiert Änderungen nach Dateiname.path- Sortiert Änderungen nach Dateipfad (Standard).status- Sortiert Änderungen nach Quellcodeverwaltungsstatus.
Sie müssen das VS Code-Fenster neu laden, um die Einstellungsänderung anzuwenden.
Neuer Git-Stash-Befehl
Ein neuer Befehl, Git: Alle Stashes verwerfen..., wurde der Befehlspalette hinzugefügt, mit dem Benutzer alle Stash-Einträge löschen können. Wie bei jeder Git-Operation mit dauerhaften Konsequenzen sollten Sie diesen Befehl mit Vorsicht verwenden.
Git-Ausgabe – Ausführungszeit und Dauer von Git-Befehlen
Um Leistungsprobleme zu verfolgen, zeigt der Git-Ausgabekanal jetzt die Ausführungszeit eines Git-Befehls sowie die Dauer des Befehls an, ausschließlich der Zeit für das Starten des Kindprozesses.
Notebooks
Textsuche in gerenderten Markdown- und Codezellen-Ausgaben
VS Code unterstützt jetzt die Textsuche in der gerenderten Ansicht von Markdown-Zellen und der Ausgabe von Codezellen. Die Funktion ist standardmäßig deaktiviert, da sie das Rendern aller Markdown-Zellen und Ausgaben erfordern würde, was beim Öffnen eines Notebooks kostspielig sein kann. Sie können diese Funktion aktivieren, indem Sie Optionen (Markdown-Vorschau, Codezellen-Ausgaben) aus dem Filter-Dropdown im Suchfeld auswählen.
Derzeit gibt es einige Einschränkungen bei der Suche nach Text in Ausgaben. Zum Beispiel können Sie keine Streaming-/Textausgaben durchsuchen, die von VS Code selbst gerendert werden. Wir planen, dies in der nächsten Iteration zu verbessern.
Benutzeroberfläche für Zellkollaps
Notebook-Zellen haben einen blauen Balken auf der linken Seite, der anzeigt, dass sie fokussiert sind. Diese Leiste ist jetzt interaktiv – Sie können auf den oberen Teil klicken, um die Zelleneingabe einzublenden, und auf den unteren Teil, um die Ausgabe einzublenden.
Faltungshinweis für Markdown-Zellen
Wenn ein Bereich von Markdown-Zellen gefaltet wurde, wird eine Meldung mit der Anzahl der gefalteten Zellen angezeigt, um deutlicher zu machen, dass einige Zellen ausgeblendet sind.

Zellenausführungs-Hinweise
Wir haben einige Änderungen vorgenommen, um deutlicher zu machen, wann eine Zelle ausgeführt wird und welche Zelle ausgeführt wird.
Erstens wird eine Fortschrittsleiste am oberen Rand des Editorbereichs angezeigt, wenn eine Zelle ausgeführt wird, aber nicht im sichtbaren Bereich ist.
Zweitens wird ein neuer Button, Zur laufenden Zelle wechseln, zur Notebook-Symbolleiste hinzugefügt, wenn eine Zelle ausgeführt wird.
Drittens, wenn Codezellen in der Gliederung oder den Breadcrumbs über die Einstellungen notebook.outline.showCodeCells und notebook.breadcrumbs.showCodeCells sichtbar sind, zeigen sie ein animiertes laufendes Symbol an, wenn sie ausgeführt werden.
Debugging
Anzeige und Bearbeitung binärer Daten
Der generische Debugger von VS Code unterstützt jetzt die Anzeige und Bearbeitung binärer Daten (auch "Speicher" genannt). Variablen, für die die Anzeige und Bearbeitung von Speicher verfügbar ist, zeigen ein Inline-Binärsymbol in der Ansicht Variablen an, und die Auswahl öffnet den Hex-Editor

Thema: Codesong
Die Anzeige und Bearbeitung von Speicher hängt von den speicherbezogenen Funktionen des Debug Adapter Protocol ab, und Debug-Erweiterungen müssen diese Funktionen implementieren, um die entsprechende Benutzeroberfläche in VS Code zu aktivieren. Details finden Sie im Abschnitt Debugger-Erweiterungsentwicklung unten. In dieser Version unterstützt nur der integrierte JavaScript-Debugger die Anzeige und Bearbeitung binärer Daten, aber wir erwarten, dass andere Debug-Erweiterungen bald folgen werden.
JavaScript-Debugging
Aufrufer vom Anhalten an Haltepunkten ausschließen
Manchmal setzen Sie einen Haltepunkt oder fügen eine Debugger-Anweisung hinzu, möchten aber nur anhalten, wenn Sie von einem bestimmten Code-Pfad aufgerufen werden. DOM-Event-Handler wie mousemove sind ein gutes Beispiel dafür. In dieser Version hat der JavaScript-Debugger die Möglichkeit hinzugefügt, "einen Aufrufer" vom Anhalten an einem Haltepunkt oder einer Debugger-Anweisung auszuschließen.
Wenn Sie an einer Stelle anhalten, können Sie mit der rechten Maustaste auf einen Frame in der Ansicht AUFRUFSTAPEL klicken und den Befehl Aufrufer ausschließen wählen. Eine neue Ansicht AUSGESCHLOSSENE AUFRUFER wird angezeigt, mit der Sie ausgeschlossene Aufrufer anzeigen und verwalten können. Danach wird Ihr Programm nicht mehr an einem Haltepunkt anhalten, wenn der ausgeschlossene Aufrufer irgendwo in seinem Aufrufstapel vorkommt.
Edge-Unterstützung unter Linux
Das Debugging von Microsoft Edge ist jetzt unter Linux über den Debug-Typ edge verfügbar.
Sprachen
Markdown-Pfad-IntelliSense
Die integrierte Markdown-Erweiterung enthält jetzt Pfad-IntelliSense für Links und Bilder.

Die Pfadvorschläge funktionieren ähnlich wie die Pfad-IntelliSense in CSS- und HTML-Dateien. Pfade, die mit / beginnen, werden relativ zum aktuellen Arbeitsbereich aufgelöst, während Pfade, die mit ./ beginnen oder kein Präfix haben, relativ zur aktuellen Datei aufgelöst werden. Pfadvorschläge werden automatisch angezeigt, wenn Sie / eingeben, oder können manuell durch Verwendung von ⌃Space (Windows, Linux Ctrl+Space) aufgerufen werden.
Pfad-IntelliSense kann Ihnen auch helfen, auf Header innerhalb der aktuellen Datei oder einer anderen Markdown-Datei zu verlinken. Beginnen Sie den Pfad mit #, um Vervollständigungen für alle Header in der Datei anzuzeigen (je nach Ihren Einstellungen müssen Sie möglicherweise ⌃Space (Windows, Linux Ctrl+Space) verwenden, um diese anzuzeigen)

Sie können Pfad-IntelliSense mit "markdown.suggest.paths.enabled": false deaktivieren.
Markdown-Durchstreichungsunterstützung
VS Code unterstützt jetzt das Rendern von ~~durchgestrichenem~~ Text sowohl im Markdown-Editor als auch in der integrierten Markdown-Vorschau.

Durchstreichungen werden geschrieben, indem Text in zwei Tildenzeichen eingeschlossen wird.
Während alle integrierten Themen von VS Code Durchstreichungen unterstützen, benötigen einige Themen aus dem Marketplace möglicherweise ein Update, um Durchstreichungstext im Editor korrekt darzustellen.
TS 4.5.5
VS Code bündelt jetzt TypeScript 4.5.5.
Dieses kleine Update behebt einige wichtige Abstürze und Tooling-Fehler.
Mit Snippets umrahmen für JS/TS
Viele der JavaScript- und TypeScript-Snippets wurden aktualisiert, um das Umrahmen von ausgewähltem Text zu unterstützen.
Um Umrahmungen mit Snippets zu verwenden, wählen Sie zuerst Text aus und führen Sie dann Snippet einfügen aus. Anstatt den ausgewählten Text zu ersetzen, verwenden Snippets wie if oder forof jetzt den ausgewählten Text als Körper der neuen Anweisung.
HTML: Automatische Einfügung von Anführungszeichen nach dem Gleichheitszeichen
Beim Tippen von = nach einem Attribut in HTML fügt der Sprachdienst jetzt automatisch Anführungszeichen ein und platziert den Cursor zwischen den Anführungszeichen. Die Einstellung html.completion.attributeDefaultValue ermöglicht die Angabe des Anführungszeichentyps (einfach oder doppelt), und standardmäßig werden doppelte Anführungszeichen verwendet.
Die Funktion kann durch Setzen von "html.autoCreateQuotes": false deaktiviert werden.
JSON: Befehl zum Löschen des Schema-Caches
Ein neuer Befehl Schema-Cache löschen löscht den Cache zuvor heruntergeladener Schemas.
LaTeX-Unterstützung
Grundlegende Sprachunterstützung für LaTeX wurde hinzugefügt. Dies beinhaltet Syntax-Hervorhebung und automatisch schließende Klammern.

VS Code für das Web
Remote Repositories
GitHub-Repositories
In VS Code für das Web erstellte Commits werden jetzt in der GitHub-Benutzeroberfläche signiert und als Verifiziert markiert. Darüber hinaus können Maintainer jetzt Commits zu Pull-Anfragen aus Forks erstellen, wenn sie VS Code für das Web verwenden. Dies ist dank der neuen GitHub GraphQL createCommitOnBranch API möglich.
Darüber hinaus unterstützt die Quellcodeverwaltungsansicht jetzt Mehrfachauswahl.
Theme: One Monokai
Zuvor war das Erstellen leerer Commits nur nach dem Klonen Ihres GitHub-Repositorys auf einen lokalen oder entfernten Rechner möglich. Sie können jetzt auch leere Commits in VS Code für das Web erstellen, indem Sie den Befehl GitHub Repositories: Leeren Commit erstellen verwenden.
Eine neue Konfiguration wurde ebenfalls hinzugefügt, um das automatische Herunterladen des vollständigen Repository-Inhalts unterhalb einer bestimmten Größe zu ermöglichen, um erweiterte Funktionen wie die repositoryweite Textsuche und Zu Referenz springen zu aktivieren. Die Einstellung remoteHub.experimental.fs.maxAutoDownloadSize steuert die Repository-Größe, bevor eine Aufforderung zum Herunterladen des vollständigen Inhalts angezeigt wird. Standardmäßig ist maxAutoDownloadSize nicht gesetzt, um niemals ohne Aufforderung herunterzuladen.
Azure Repos
Die Unterstützung für Azure Repos wurde aus der GitHub Repositories-Erweiterung in eine eigene dedizierte Erweiterung verschoben, die auch auf dem Desktop installiert werden kann.
Vorabversion-Erweiterungen übernommen
VS Code für das Web bündelt jetzt Vorabversionen sowohl der Erweiterung GitHub Pull Requests und Issues als auch der Erweiterung GitHub Repositories.
PWA und Offline-Unterstützung
VS Code für das Web hat das PWA-Modell übernommen und kann nun als PWA auf dem Host-Betriebssystem installiert werden. Dank dieser Übernahme ist es jetzt auch möglich, einige Offline-Funktionalitäten zu nutzen. Nach dem einmaligen Besuch von vscode.dev oder insiders.vscode.dev können Benutzer es nun auch offline zur Bearbeitung lokaler Dateien verwenden.

Beiträge zu Erweiterungen
Python
Verbesserte Interpreter-Quick-Pick
Um die Auswahl des gewünschten Interpreters zu erleichtern, gruppiert die Python-Erweiterung Interpreten nun nach Typ in der Quick-Pick-Auswahl Interpreter auswählen.

Wir experimentieren auch damit, den aktiven/ausgewählten Interpreter in der Statusleiste nach rechts zu verschieben, möglicherweise in die Sprachstatusanzeige. Prüfen Sie daher den Python-Status auf der rechten Seite, falls er nicht sichtbar ist.
Unterstützung für 'conda run' hinzugefügt
Um unsere Unterstützung für Anaconda-Benutzer zu verbessern, haben wir die Unterstützung für conda run mit dem Parameter --no-capture-output implementiert, der Ausgaben nicht erfasst, was in der Vergangenheit zu Fehlern geführt hat. Diese Funktion ist für die Ausführung von Linter-, Test- und Formatierungsfunktionen implementiert.
Es gibt einen bekannten Fehler Issue #10972, der unter Windows zu einem Fehler führt, wenn Linting und Tests mit einem Sonderzeichen in den Parametern ausgeführt werden. Dies liegt daran, wie conda run Parameter mit Sonderzeichen liest, und kann sich auf alle Befehlszeilenargumente auswirken, die Sie in Ihrer settings.json angegeben haben.
Das Anaconda-Team arbeitet an dem Problem und hofft, bald eine Lösung herauszubringen. Sie können Ihre Anaconda-Version auf der Conda-Website aktualisieren, sobald die neue Version veröffentlicht wird.
Intelligente Auswahl und bessere Faltungsunterstützung
Verbesserungen wurden auch für die Auswahl und Faltung von Python-Code über den Pylance-Sprachserver vorgenommen.
Die Auswahl von Python-Code mit der Tastatur erfordert weniger Tastendrücke, da die semantischen Informationen Ihres Codes bei der Definition des Auswahlbereichs berücksichtigt werden.
Thema: Horizon Extended
Was die Faltung betrifft, so wurden die Bereiche zuvor nur durch Einrückung definiert, was in einigen Fällen wie mehrzeiligen Zeichenfolgen nicht ideal war. Jetzt berücksichtigen Faltungsbereiche semantische Informationen und unterstützen auch #region-Kommentare.
Jupyter
Remote Jupyter-Server
Die Jupyter-Erweiterung erfordert jetzt kein Neuladen von VS Code mehr beim Wechseln zwischen lokalen und Remote-Jupyter-Servern. Darüber hinaus zeigt die Erweiterung nun sowohl lokale als auch Remote-Kernel im Kernel-Picker an.
Hex-Editor
Der Hex-Editor wurde einer erheblichen architektonischen Umgestaltung unterzogen. Insbesondere ist es jetzt in den meisten Fällen möglich, Dateien jeder Größe ohne Leistungsprobleme zu öffnen. Darüber hinaus ist seine Layoutbreite jetzt konfigurierbar, und er verfügt über eine leistungsfähigere Implementierung für Suchen/Ersetzen. Weitere Verbesserungen werden in zukünftigen Iterationen folgen.
Remote-Entwicklung
Die Arbeit an den Remote Development-Erweiterungen wird fortgesetzt. Diese ermöglichen es Ihnen, einen Container, eine Remote-Maschine oder das Windows Subsystem for Linux (WSL) als voll ausgestattete Entwicklungsumgebung zu nutzen.
Sie können sich in den Release-Hinweisen zur Remote-Entwicklung über neue Erweiterungsfunktionen und behobene Fehler informieren.
GitHub Pull Requests und Issues
Die Arbeit an der GitHub Pull Requests und Issues-Erweiterung, mit der Sie Pull-Anfragen und Issues bearbeiten, erstellen und verwalten können, wird fortgesetzt. Werfen Sie einen Blick in das Changelog für die Version 0.36.0 der Erweiterung, um die Highlights zu sehen.
Vorschau-Funktionen
Terminal Shell-Integration
Das Terminal verfügt jetzt über eine experimentelle Shell-Integration, die es VS Code ermöglicht, Einblicke in das Geschehen im Terminal zu gewinnen, was bisher unbekannt war. Wenn diese Funktion mit der Einstellung "terminal.integrated.enableShellIntegration": true aktiviert wird, werden Argumente zum Ausführen eines Shell-Integrationsskripts in Ihr Terminalprofil injiziert, wenn möglich. Das Skript selbst injiziert meist unsichtbare Sequenzen in Ihre Eingabeaufforderung und liefert VS Code Informationen wie den Speicherort der Eingabeaufforderung, den Befehl und die Befehlsausgabe, das aktuelle Arbeitsverzeichnis (cwd) für jeden Befehl und den Exit-Code jedes Befehls.
Mithilfe dieser Informationen können wir bestehende Funktionen auf verschiedene Weise verbessern:
- Schnelles Erkennen des CWD – Zuvor war dies nur unter macOS und Linux möglich und startete Prozesse oder fragte das Dateisystem ab, um diese Informationen zu erhalten. Dies funktioniert jetzt auch unter Windows. Das CWD wird für Funktionen wie die Linkerkennung und das Erben des CWD beim Aufteilen eines Terminal-Tabs verwendet.
- Verbessern der Befehlsverfolgungsfunktion – Diese Funktion existierte zuvor, hatte aber nur Standardtastenkombinationen unter macOS (
Cmd+Oben/Unten) und verwendete einen einfachen Ansatz, um Zeilen basierend darauf zu erraten, wannEntergedrückt wurde.
Shell-Integration ermöglicht die folgenden neuen Funktionen:
- Zuletzt ausgeführten Befehl ausführen – Da wir wissen, welche Befehle ausgeführt werden, können wir einen Befehl anbieten, mit dem Sie sie in einer Quick-Pick-Auswahl anzeigen und erneut ausführen können.

- Zu Verzeichnis springen – Ähnlich wie oben können wir auch zu früheren Verzeichnissen navigieren.

- Link-Unterstützung relativ zum CWD – Wir kennen jetzt das CWD für jede Zeile im Terminal-Puffer, sodass wir Links im Terminal relativ zum CWD an der Stelle, an der sie aktiviert wurden, öffnen können. Zuvor wurde beim Klicken auf einen Link eine Quick-Pick-Auswahl mit Ergebnissen aus allen Ordnern geöffnet, die einen Treffer für diesen Namen enthielten. Jetzt wird die genaue Datei geöffnet.

Das Ziel ist es, die Shell-Integration standardmäßig zu aktivieren, sobald die Zuverlässigkeit der Funktion gut genug ist. Der Ansatz, den wir in Bezug auf die Argumentinjektion verfolgen, ist, so unaufdringlich wie möglich zu sein. Zum Beispiel ändern wir Ihre Shell-Initialisierungsskripte nicht automatisch wie einige Terminals, sondern fangen die Erstellung des Prozesses ab, inspizieren die Argumente und injizieren Shell-Integrationsargumente, wenn wir sicher sind, dass das Terminal damit ausgeführt werden kann. Die Hoffnung ist, dass es ohne zusätzliche Konfiguration durch den Benutzer gut funktioniert und Ihre bestehenden Shell-Einstellungen nicht beeinträchtigt.
Die derzeit unterstützten Shells sind pwsh für Windows und pwsh, bash und zsh für Linux und macOS.
Wie bereits erwähnt, ist dies eine experimentelle Funktion, die noch einige Ecken und Kanten hat und einige bekannte Probleme aufweist:
$PS2-Zeilenfortsetzungen werden noch nicht unterstützt. Zeilenfortsetzungen in pwsh funktionieren jedoch.- Rechte Eingabeaufforderungen werden noch nicht unterstützt.
- Es ist bekannt, dass das zsh-Skript manchmal nicht aktiviert wird.
- Unterstützung für Remote-VS-Code-Fenster ist begrenzt.
Explorer-Dateinistung
Der Explorer verfügt nun über experimentelle Unterstützung für die Anzeige von Dateien im selben Verzeichnis in einem logisch verschachtelten Layout. Dies kann hilfreich sein, um zusammengehörige Dateien visuell zu gruppieren und Dateien in eine "Stammdatei" zu komprimieren, um die Unübersichtlichkeit zu verringern. Mehrere neue Einstellungen wurden hinzugefügt, um dieses Verhalten zu steuern:
explorer.experimental.fileNesting.enabled: Steuert, ob die Dateiverschachtelung aktiviert ist.explorer.experimental.fileNesting.expand: Steuert, ob Dateiverschachtelungen standardmäßig erweitert angezeigt werden.explorer.experimental.fileNesting.patterns: Steuert, wie Dateien verschachtelt werden.
Zum Beispiel sitzen in vielen Repositories .ts-Dateien neben ihren abgeleiteten .js-, .d.ts- und/oder .js.map-Dateien. Während das vollständige Ausblenden abgeleiteter Dateien seit langem über files.exclude möglich ist, kann es schön sein, eine schnelle Möglichkeit zu haben, auf abgeleitete Dateien zuzugreifen, was jetzt mit Verschachtelungen möglich ist.
Unten verwendet der Explorer die Standardkonfiguration explorer.experimental.fileNesting.patterns, um .js- und .js.map-Dateien zu verschachteln, die angezeigt werden, wenn die entsprechende .ts-Datei erweitert wird.

Theme: GitHub Light
Erweiterungs-Authoring
Standardsymbole für Sprachen
Sprachbeitragende können ein Symbol für die Sprache definieren.
{
"contributes": {
"languages": [
{
"id": "latex",
// ...
"icon": {
"light": "./icons/latex-light.png",
"dark": "./icons/latex-dark.png"
}
}
]
Das Symbol wird angezeigt, wenn das aktuelle Dateisymbol-Theme nur ein generisches Dateisymbol für die Sprache hat.
Auch Dateisymbol-Themes wie Minimal oder None, die keine Dateisymbole anzeigen, verwenden das Sprachsymbol nicht. Wenn ein Dateisymbol-Theme ein Symbol für eine Erweiterung oder einen Dateinamen hat, werden diese bevorzugt.
Dateisymbol-Themes können das neue Verhalten anpassen, indem sie showLanguageModeIcons: true|false in der Theme-Datei definieren.
showLanguageModeIcons: truezeigt die standardmäßigen Sprachsymbole an, auch wenn das Theme kein Dateisymbol angibt.showLanguageModeIcons: falseverhindert die Verwendung von standardmäßigen Sprachsymbolen.
QuickPickItem-Trennzeichen
Erweiterungsautoren haben jetzt die Möglichkeit, Trennzeichen zu einer Quick Pick hinzuzufügen. Dies ist nützlich, um Elemente zu gruppieren oder etwas Abstand zwischen Elementen zu schaffen.

Um Ihrer bestehenden Quick Pick ein Trennzeichen hinzuzufügen, fügen Sie ein neues QuickPickItem zu Ihrer bestehenden Liste von Elementen hinzu, geben Sie aber die Eigenschaft kind auf dem QuickPickItem an und setzen Sie sie auf QuickPickItemKind.Separator.
Im obigen Beispiel würden Sie das folgende Objekt zu Ihrer Elementliste hinzufügen
{
label: 'APIs',
kind: QuickPickItemKind.Separator
}
Wenn Sie keine kind-Eigenschaft angeben oder sie auf QuickPickItemKind.Default setzen, wird das Element als normales QuickPickItem behandelt.
vscode.workspace.createFileSystemWatcher unterstützt jetzt beliebige Pfade
Die bestehende API vscode.workspace.createFileSystemWatcher wurde verbessert, um die Übergabe beliebiger Datei- oder Ordnerpfade für die Dateibeobachtung zu ermöglichen, auch wenn diese außerhalb des Arbeitsbereichs liegen. Zuvor war der Dateibeobachter auf die geöffneten Ordner im Arbeitsbereich beschränkt.
Abhängig vom Glob-Muster, das Sie an die Methode übergeben, wird der Beobachter entweder rekursiv (z. B. **/*.js) oder nicht-rekursiv (*.js) sein. Rekursive Beobachter erfordern mehr Ressourcen, daher empfehlen wir die Verwendung einfacher Glob-Muster, wenn möglich.
Beispiel
// Watch a folder non-recursively
vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(vscode.Uri.file(<path to folder outside workspace>), '*.js'));
// Watch the active text editor file
vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(vscode.window.activeTextEditor.document.uri, '*'));
Hinweis: Als Teil dieser Änderung haben wir eine Verhaltensänderung für bestehende Dateibeobachter vorgenommen. Ein Dateibeobachter, der nur mit einem Glob-Muster (z. B. vscode.workspace.createFileSystemWatcher('**')) instruiert wird, erhält keine Ereignisse mehr für Dateien, die außerhalb des Arbeitsbereichs geändert wurden. Er erhält nur noch Dateiereignisse von Pfaden, die sich innerhalb des Arbeitsbereichs befinden. Wenn der Benutzer keinen offenen Arbeitsbereich hat, werden über diese Methode keine Ereignisse mehr geliefert. Dies geschah, um sicherzustellen, dass Erweiterungen keine unerwarteten Ereignisse von außerhalb des Arbeitsbereichs erhalten.
vscode.TerminalLocation
Sie können angeben, wo ein Erweiterungsterminal erstellt werden soll, mit der neuen TerminalLocation API.
Dies ermöglicht die Erstellung eines geteilten Terminals durch Angabe eines parentTerminal, die Wahl zwischen dem Editorbereich und dem Panel und mehr.
Abbruchtoken für onWill-Ereignisse
Die VS Code API stellt Ereignisse zur Verfügung, um an Dateioperationen teilzunehmen, wie z. B. onWillRenameFiles. Diese Teilnahme kann langwierig sein und daher können Benutzer sie abbrechen. Mit dieser Version kann die benutzerseitige Abbrechung von Erweiterungen über ein Abbruchtoken für das entsprechende Ereignis beobachtet werden, z. B. FileWillRenameEvent#token. Dies ermöglicht es Erweiterungen, auch teure nachgelagerte Operationen abzubrechen.
Git-Erweiterungs-APIs
- Eine neue Methode
Repository.addwurde hinzugefügt, um die Möglichkeit zum Staging von Dateien zu ermöglichen. - Die Methoden
Repository.tagundRepository.deleteTagwurden hinzugefügt, um die Möglichkeit zum Erstellen und Löschen von Tags zu ermöglichen.
onTaskType Aktivierungsereignis
Erweiterungen, die Aufgaben bereitstellen, können ihre unnötigen Aktivierungen einschränken, indem sie das neue Aktivierungsereignis onTaskType:foo verwenden. Dies ist eine Verbesserung gegenüber der Aktivierung mit onCommand:workbench.action.tasks.runTask, da workbench.action.tasks.runTask für aufgabenbereitstellende Erweiterungen normalerweise zu voreilig ist.
Debugger-Erweiterungsentwicklung
VS Code implementiert jetzt die speicherbezogenen Funktionen des Debug Adapter Protocol
In dieser Version unterstützt VS Code die Anzeige und Bearbeitung von Binärdaten, indem es die folgenden speicherbezogenen Funktionen des Debug Adapter Protocol unterstützt.
- VS Code berücksichtigt das Attribut
memoryReferencebei DAP-Variablen und kündigt dies durch Übergabe der Client-FähigkeitsupportsMemoryReferencesan den Debug-Adapter an. - Wenn VS Code die Fähigkeit
supportsReadMemoryRequestvon einem Debug-Adapter erhält, wird die Benutzeroberfläche zur Anzeige von Binärdaten aktiviert undreadMemory-Anfragen werden ausgegeben, um die Daten abzurufen. - Wenn VS Code die Fähigkeit
supportsWriteMemoryRequestvon einem Debug-Adapter erhält, wird die Benutzeroberfläche zur Bearbeitung von Binärdaten aktiviert undwriteMemory-Anfragen werden ausgegeben, um die Daten zu speichern. - VS Code verarbeitet das
memory-Ereignis und kündigt dies durch Übergabe der Client-FähigkeitsupportsMemoryEventan den Debug-Adapter an.
Language Server Protocol
Eine neue nächste Version des Language Server Protocol wurde zusammen mit den entsprechenden npm-Modulen veröffentlicht. Die Version enthält eine vorgeschlagene Implementierung für Notebook-Dokumente. Der Spezifikationsteil kann hier gelesen werden.
Vorgeschlagene Erweiterungs-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.
Terminalpersistenz deaktivieren
Beim Erstellen eines Terminals können Sie die Terminalpersistenz bei Neustart und Neuladen deaktivieren, indem Sie disablePersistence in TerminalOptions oder ExtensionTerminalOptions setzen.
export interface TerminalOptions {
disablePersistence?: boolean;
}
Inlay-Hint-API
Dies ist ein Gruß an alle, die sich für die Inlay-Hints-API interessieren. Sie nähert sich der Fertigstellung und hat die Unterstützung für interaktive Label-Teile hinzugefügt. Diese ermöglichen es Ihnen, eine Quellcode-Position an Hints zu binden, was wiederum Features wie Code-Navigation ermöglicht. Auch Befehle werden nun unterstützt. Der aktuelle Stand und die Entwicklung dieses Vorschlags finden Sie hier: vscode.proposed.inlayHints.d.ts
Sprachstatus-API
Die Sprachstatus-Item-API ist zur Finalisierung geplant. Bitte probieren Sie sie aus und geben Sie Feedback für vscode.proposed.languageStatus.d.ts
Testvorschläge
Wir schlagen einen offiziellen Weg zur Implementierung eines "Refresh"-Handlers für Tests vor. Schauen Sie sich vscode.proposed.testRefresh.d.ts an. Dies ermöglicht es Erweiterungen, sich hinter einem standardmäßigen "Refresh"-Button in VS Code zu vereinen und die Implementierung eigener zu vermeiden.
Zusätzlich schlagen wir vor, dass TestItem ein sortText-Attribut in vscode.proposed.testSortText.d.ts hat.
Inline-Vervollständigungen: Automatische Klammer-Vervollständigung
Wenn eine Erweiterung ein Inline-Vervollständigungselement bereitstellt, kann sie seine Eigenschaft completeBracketPairs auf true setzen. Wenn gesetzt, versucht VS Code, ungültige Klammern im Vervollständigungstext zu reparieren, indem es sie schließt oder entfernt, bevor die Inline-Vervollständigung dem Benutzer angezeigt wird.
Tree Drag & Drop-Vorschlag unterstützt das Ziehen in den Editor
Der Tree Drag & Drop-Vorschlag ist fast zur Finalisierung bereit und unterstützt nun das Ziehen aus einer Baumansicht in einen Editor, wenn der MIME-Typ "resourceurls" vom TreeDragAndDropController unterstützt wird. Details finden Sie in Issue #141418. Probieren Sie es aus und geben Sie Feedback für vscode.proposed.treeViewDragAndDrop.d.ts.
Kommentar-Zeitstempel
Die Kommentierungs-API hat eine neue Eigenschaft timestamp für Comment. Zusammen mit der API gibt es eine neue Einstellung, um zu steuern, wie Kommentar-Zeitstempel angezeigt werden: comments.useRelativeTime. Bitte probieren Sie sie aus und geben Sie Feedback für vscode.proposed.commentTimestamp.d.ts.
Technik
vscode-bisect-Tool
Ein neues Tool zur Durchführung von Bisecting bei veröffentlichten VS Code Insiders-Versionen (Web und Desktop) ist verfügbar, um Probleme zu diagnostizieren.
npx vscode-bisect
Ähnlich wie git bisect startet vscode-bisect eine Reihe von veröffentlichten Insiders-Builds aus der Vergangenheit und fragt, ob der Build das Problem reproduziert oder nicht. Das Endergebnis ist ein Bereich von Commits, die das Problem eingeführt haben. Die Instanz verwendet einen dedizierten frischen Ordner für Benutzerdaten, um Ihre Hauptentwicklungsumgebung nicht zu beeinträchtigen.
Code Web & Server aus Quellen ausführen
Die Skripte zum Ausführen von VS Code für das Web und VS Code Server aus Quellen wurden in den Ordner scripts verschoben.
./scripts/code-web.sh|batstartet Code für das Web (auch bekannt als "serverless") aus Quellen und öffnet einen Browser dazu. Verwenden Sie--helpfür weitere Optionen../scripts/code-server.sh|batstartet VS Code Server aus Quellen. Fügen Sie--launchhinzu, um die Weboberfläche zusätzlich in einem Browser zu öffnen. Verwenden Sie--helpfür weitere Optionen../scripts/test-web-integration.sh|batfür die Remote-Web-Tests../scripts/test-remote-integration.sh|batfür die Remote-Tests.
Erweiterungen
In diesem Meilenstein haben wir die Interaktionen mit dem Marketplace verbessert, indem wir die Anzahl der Abfragen minimiert haben, die VS Code an den Dienst stellt.
Bemerkenswerte Fehlerbehebungen
- 91286 Drosselung der Einstellungen-Synchronisierungsaktivität auf dem Client
- 117648 Das Ergebnis, wenn "gtc" mit Emmet mit der Erweiterung Sass erweitert wird, ist seltsam.
- 134466 Nicht existierende Debugger-Konfiguration
- 135677 Das Hovern über Links in der Einstellungs-UI zeigt # am Anfang an
- 138072 Speichern der zuletzt geöffneten Arbeitsbereiche im globalen Speicher
- 138805 Das Öffnen großer Binärdateien liest den gesamten Inhalt
- 138850 Geöffneter Editor kann nach einer Dateisänderung auf der Festplatte leer sein
- 139880 Debug: Aufforderung zum Speichern einer Datei bei F5
- 140003 Aufgabe kann nicht aus einer Startkonfiguration in einem anderen Arbeitsordner referenziert werden
- 140129 Doppelklick auf die Datei settings.json führt jedes Mal zu neuen Tabs
- 140560 Problem mit der VS Code Stop Debugging API
- 140967 Comment.body wird als Markdown gerendert, auch für einfache Strings
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 Weberweiterungen ausführen (die Liste unten ist zwischen dem 7. Dezember 2021 und dem 31. Januar 2022)
- Tabulate (a5hk)
- Powder (Alexey Osipov)
- VCDrom (Aliaksei Chapyzhenka)
- Reveal Button (Andreas Weber)
- Digital Solutions (Andrew Tacon)
- lorem ipsum (aroary)
- Convert Selection (ArturoDent)
- Custom Language Properties (ArturoDent)
- Find and Transform (ArturoDent)
- Launch Configs (ArturoDent)
- Instant Documentation (atanasster)
- Couper Configuration (Avenga Germany GmbH)
- Argdown (Christian Voigt)
- ES7+ React/Redux/React-Native snippets (dsznajder)
- fantasy.markdown-all-in-one-for-web (fantasy)
- fink (fink)
- GitLens (Insiders) (GitKraken)
- Select by Indent (haberdashPI)
- Selection Utilities (haberdashPI)
- Python-Factory Web Search (HyunseungLee)
- Custom Element Scanner (alpha) (JanKretschmer)
- tomato extensions (jingjingwu)
- vscode-position (jtr)
- KCL for vscode.dev (kcl_extension_publisher)
- KL Language support (Kevlanche)
- Systemd Helper (Liu Yue)
- bett3r icons (Lucas)
- xpro-snippets (Maratib Ali Khan)
- Projen (MarkMcCulloh)
- Rainbow CSV (mechatroner)
- Blogview (mkizka)
- CodeSandpack (Mojojoji)
- Abracadabra, refactor this! (Nicolas Carlo)
- Office Script Extension (office-script)
- Better Fountain (Piers Deseilligny)
- Dothttp Http Client (Prasanth)
- 小説 (Public Theta)
- bojodog (RanolP)
- JSON Validate (rioj7)
- Remove Comments (rioj7)
- Everforest (sainnhe)
- Gruvbox Material (sainnhe)
- JetSet for VSCode (Sudhay)
- MathJax for Markdown (TANIGUCHI Masaya)
- WebEnv-Client (Theboys619)
- Graphviz Interactive Preview (tintinweb)
- LLL (tintinweb)
- Vyper (tintinweb)
- Sourcegraph - preview (TJ Kandala)
- Keyboard Macro Beta (tshino)
- WakaTime (WakaTime)
- MSCode (WebXT ES)
- DigitalJS (Yichao Yu)
- Better Snippets (zardoy)
- Fix All JSON (zardoy)
- Zardoy Experiments (zardoy)
Fehlerverfolgung
Beiträge zu unserer Fehlerverfolgung
- John Murray (@gjsjohnmurray)
- Andrii Dieiev (@IllusionMH)
- ArturoDent (@ArturoDent)
- Simon Chan (@yume-chan)
- heartacker (@heartacker)
- Lemmingh (@Lemmingh)
Pull-Anfragen
Beiträge zu vscode
- @btidor (Benjamin Tidor): Korrektur von
undefineds in Textsuchergebnissen PR #141522 - @ckline-tryptic (Christopher M Kline): Expose 'tag' und 'deleteTag' in der Git-Erweiterungs-API PR #123815
- @DanielRosenwasser (Daniel Rosenwasser): "Surround with" in TS/JS-Snippets PR #138565
- @dnicolson (Dave Nicolson): Hinzufügen der Singularform der Bisect-Nachricht PR #137626
- @eltociear (Ikko Ashimine): editors - Tippfehler korrigiert PR #140320
- @Enzime (Michael Hoang): ripgrep: kein veraltetes Flag für PCRE2 verwenden PR #139721
- @gjsjohnmurray (John Murray)
- fix #118617 verwende den Begriff 'remote', wenn auf das Fehlen eines Upstream-Branches Bezug genommen wird PR #120467
- Beschreibung der Einstellung
screencastMode.keyboardShortcutsFormatkorrigiert (#_138644) PR #138645 - Oberfläche zeigen der maximalen und minimalen Werte für
editor.hover.delay(#_140215) PR #140216 - Unterstützung für
--#regionund--#endregionin SQL (#_141257) PR #141264
- @iamkun: refactor: doppelte if-Anweisung entfernen PR #140085
- @imphil (Philipp Wagner): Aktualisiere ripgrep-Binärdateien, um ppc64le und s390x einzuschließen PR #140028
- @jeanp413 (Jean Pierre)
- Erweiterung mit Version über workbench.extensions.installExtension installieren PR #136314
- Behebt Probleme mit Strg + Umschalt + {Links, Rechts, Pos1, Ende} ist nach dem Öffnen und Schließen eines Terminals in Firefox kaputt PR #139615
- Behebt Probleme mit dem Ändern des Tastaturlayouts in VS Code Web PR #140295
- Verbindungstoken-Parsing korrigieren PR #140532
- @jlelong (Jerome Lelong)
- Basis-LaTeX-Erweiterung integriert PR #138395
- LaTeX-Sprachgrammatik und Konfiguration aktualisieren PR #140801
- @jzyrobert (Robert Jin): html-language-features aktualisieren, um doQuoteComplete zu verwenden PR #137080
- @KapitanOczywisty: PHP update-grammar.js korrigieren PR #140619
- @KendallDoesCoding (Kendall Pinto): Abschnitt "creating pr's" PR #141130
- @KhaledSamir (Khaled): Regex korrigiert, um maskierte Prozentzeichen zu erkennen. PR #139437
- @lostintangent (Jonathan Carter): [Markdown] Unterstützung für GitHub-gestylte Bilder hinzufügen PR #137820
- @Mai-Lapyst: Standard-Dateiicons-Unterstützung für Sprachbeiträge hinzufügen PR #118846
- @MaxGrekhov (Max Grekhov): open editors: sortieren nach fullPath PR #133790
- @nrayburn-tech (Nicholas Rayburn): Source Control View Sort zum Speicher hinzufügen PR #123232
- @OPY-bbt (zhangyan): fix(suggest): "Read More"-Icon nur im fokussierten Label anzeigen PR #139792
- @orta (Orta Therox): Ermöglichen, dass Erweiterungen über Befehle Anfragen an den Tsserver der TypeScript-Erweiterung stellen können PR #138279
- @PieterBranderhorst: Benutzer benachrichtigen, wenn die maximale Anzahl von Folds überschritten wird, maximale Folds konfigurierbar machen. PR #140480
- @samestep (Sam Estep): Option hinzufügen, um --no-ignore-parent nicht an rg zu übergeben PR #140022
- @SeriousBug (Kaan Genç): hasCustomMarkdownPreview deaktiviert Markdown-Vorschau-Schaltflächen in Kontextmenüs PR #139241
- @ShafinKhadem (Nafiur Rahman Khadem): Undo/Redo-Stopp am Ende des Snippets hinzufügen PR #140096
- @slidoooor (Hans)
- Fix erzeugt unterschiedlichen HTML-Inhalt für dasselbe Markdown, wenn der zwischengespeicherte Token abgerufen wird PR #138935
- Korrigiert die Überlappung der Linie um ein paar Pixel (#_139311) PR #139575
- testing: autosave vor jeder Testausführung hinzufügen PR #141254
- @smcenlly (Simon McEnlly): testing: neue API-Eigenschaft
sortTextzu TestItem hinzufügen PR #132099 - @SMSadegh19 (Mohammad Sadegh Salimi): Unterstützung für RTL-Sprachen für die Readme-Markdown-Vorschau hinzufügen. PR #139644
- @SNDST00M (M.U.N.I.N): Unterstützung für
FontStyle.Strikethroughhinzufügen PR #139413 - @somebee (Sindre Aarsaether): Dekorationen und Maus-Hit-Testing beheben, wenn der Editor über Transform skaliert wird PR #139282
- @stevenjoezhang (Mimi): terminal.integrated.cwd mit vordefinierten Variablen korrigieren PR #137023
- @Timmmm (Tim): parseAddress Regex korrigieren PR #140977
- @TwitchBronBron (Bronley Plumb): Performance-Problem für InstallAnotherVersionAction beheben PR #136992
- @WaqasAliAbbasi (Waqas Ali): Link-Hervorhebung in Markdown-Codeblöcken und Spans verhindern PR #140816
- @wengj9 (James Weng): Erweiterungsinformationen zum Snippet-Picker hinzufügen PR #138880
- @Yash621 (Yash Goel): code-insiders --status führt zu einem Fehler PR #140152
- @zardoy (Vitaly): Typisierungen bei
showInformationMessage,showWarningMessage,showErrorMessagestrikter mit Elementen als Strings gestalten PR #137672
Beiträge zu vscode-css-languageservice
- @fyangstudio (yangfan): Feat: Unterstützung für das Auflösen neuer Import-At-Regeln PR #255
- @romainmenke (Romain Menke): css color : Unterstützung für hue rad|grad|turn hinzufügen PR #257
- @Semigradsky (Dmitry Semigradsky): Unterstützung für Case-Sensitivity-Attributselektoren PR #259
Beiträge zu vscode-eslint
- @edupsousa (Eduardo Pereira de Sousa): Benutzer erlauben, Serverfehler zu ignorieren. PR #1375
Beiträge zu vscode-extension-samples
- @laurentlb (Laurent Le Brun): Korrektur des "Cancel"-Buttons in comment-sample PR #492
Beiträge zu vscode-html-languageservice
- @zuochenxue (ZuoChenxue): docs: Tippfehler korrigieren PR #118
Beiträge zu vscode-js-debug
Beiträge zu vscode-pull-request-github
- @blindpirate (Bo Zhang)
- @joshuaobrien (Joshua O'Brien): Befehl zum Öffnen aller Diffs hinzufügen PR #3238
Beiträge zu vscode-textmate
- @SNDST00M (M.U.N.I.N): Implementierung von
FontStyle.StrikethroughPR #159
Beiträge zu vscode-vsce
- @hangxingliu (Liu Yue): fix: Docker-Basisimage muss bei
node:14-alpineaktuell sein PR #651 - @joerohde (Joe Rohde): feat: Integritätsprüfung zur Validierung von Einstiegspunkten PR #669
- @ritwickdey (Ritwick Dey): fix: Einstiegspunktvalidierung ohne js-Tag PR #676
Beiträge zu debug-adapter-protocol
- @Calindro: Emulicious Debugger hinzugefügt PR #230
- @cdaringe (Christopher Dieringer): docs(implementors): OCaml hinzufügen PR #228
- @ko1 (Koichi Sasada): Hinzugefügt
VSCode rdbg Ruby DebuggerPR #232
Beiträge zu monaco-editor
- @blutorange (Andre Wachsmuth): Implementiert #2383 Hinzufügen von Syntaxmodi für die FreeMarker-Vorlagensprache PR #2847
- @forensicmike (forensicmike1): "cd monaco-editor" zu den Schritt-für-Schritt-Befehlszeilenanweisungen zum Klonen und Ausführen der Beispiele hinzufügen PR #2894
- @juan-carlos-diaz: Fix #2851 Attribute und Bezeichner (mit Bindestrichen) für die Shell-Sprache korrekt hervorheben PR #2871
- @philipturner (Philip Turner)
- @rcjsuen (Remy Suen): Unterstützung für hyphenierte HTML-Tags in der Markdown-Syntax PR #2864
- @resistdesign (Ryan Graff): doc: (Beispiele) Vereinfachen des Browser-ESM-Parcel-Builds PR #2832
- @ValeraS (Valeriy)
Beiträge zu node-jsonc-parser
- @Marcono1234
- @P0lip (Jakub Rożek): findNodeAtLocation behandelt kein unvollständiges Eigenschaftspaar PR #44