November 2019 (Version 1.41)
Update 1.41.1: Dieses Update behebt die folgenden Probleme.
Downloads: Windows: x64 | Mac: Intel | Linux: deb rpm tarball snap
Willkommen zur November 2019-Version von Visual Studio Code. Es gibt eine Reihe von Updates in dieser Version, die Ihnen hoffentlich gefallen werden. Einige der wichtigsten Highlights sind:
- Kompakte Ordner im Explorer - Ordner mit nur einem Unterordner werden standardmäßig eingeklappt.
- Linke Seite in Diff-Ansichten bearbeiten - Sie können jetzt beide Dateien in einer Differenzansicht bearbeiten.
- Suchergebnisse während der Eingabe aktualisieren - Globale Suchergebnisse werden während der Eingabe aktualisiert.
- Verbesserungen am Problems-Panel - Filtern nach Problemtyp und Beschränken der Ausgabe auf die aktive Datei.
- Minimap-Markierungen für Fehler, Warnungen und Inhaltsänderungen - Lokalisieren Sie Probleme und Änderungen in Ihrer Datei schnell.
- Minimales Kontrastverhältnis im Terminal - Stellen Sie das bevorzugte Kontrastverhältnis für bessere Sichtbarkeit ein.
- HTML-Spiegelcursor in Tags - Automatischer Multi-Cursor in übereinstimmenden HTML-Tags.
- Optionale Verkettung in JS/TS - Verwenden Sie den
?.Operator, um die Arbeit mit verschachtelten Strukturen zu vereinfachen. - Refactoring "Schnittstelle extrahieren" für TypeScript - Extrahieren Sie schnell einen Inline-Typ in eine TypeScript-Schnittstelle.
- Dev Containers-Erweiterung - Bessere Unterstützung für das Öffnen von Repositories in Docker-Containern.
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 sehen? Sie können die nächtliche Insiders-Build herunterladen und die neuesten Updates ausprobieren, sobald sie verfügbar sind. Und für die neuesten Nachrichten, Updates und Inhalte zu Visual Studio Code folgen Sie uns auf Twitter @code!
Workbench
Kompakte Ordner im Explorer
Im Datei-Explorer rendern wir Ordner mit nur einem Unterordner jetzt in kompakter Form. In dieser Form werden Ordner mit nur einem Unterordner in einem kombinierten Baumelement zusammengefasst. Nützlich für Java-Paketstrukturen beispielsweise.
Die Einstellung explorer.compactFolders steuert dieses Verhalten. Standardmäßig ist diese Einstellung aktiviert.

Linke Seite in Diff-Ansichten bearbeiten
Wenn Sie zwei bearbeitbare Editoren vergleichen (z. B. aus dem Datei-Explorer, indem Sie zwei Dateien vergleichen oder eine globale Suche & Ersetzung ausführen), ist die linke Seite jetzt ebenfalls bearbeitbar und kann gespeichert werden (⌘S (Windows, Linux Ctrl+S)).

Hinweis: Sie können die automatische Speicherung aktivieren (Datei > Automatische Speicherung), wenn Sie es leid sind, ⌘S (Windows, Linux Ctrl+S) zu drücken.
Speichern aus Peek-Editoren
Wenn Sie eine Peek-Ansicht aufrufen und hineinschreiben, können Sie jetzt Änderungen über ⌘S (Windows, Linux Ctrl+S) speichern, wenn der Fokus innerhalb dieses eingebetteten Editors liegt.

Problems-Panel
Mehr Filter
Dem Problems-Panel wurden weitere vordefinierte Filter hinzugefügt. Sie können Probleme jetzt nach Typ (Fehler, Warnungen und Informationen) filtern und sich Probleme anzeigen lassen, die auf die aktuelle aktive Datei beschränkt sind.

Theme: GitHub Sharp Dark, Schriftart: FiraCode
Aktuelles Problem in der Statusleiste anzeigen
Sie können VS Code jetzt so konfigurieren, dass die aktuelle Problembeschreibung in der Statusleiste angezeigt wird. Dadurch können Sie die Zusammenfassung des ausgewählten Problems in der aktiven Datei ohne zusätzliche Tastatur- oder Mausgesten sehen.
Hinweis: Um diese Funktion zu aktivieren, muss die Einstellung problems.showCurrentInStatus aktiviert sein.

Theme: GitHub Sharp Dark, Schriftart: FiraCode
Flexibles Layout der Filterbox
Die Filterbox im Problems-Panel passt ihre Position nun an die Position und Größe des Panels an.

Theme: GitHub Sharp Dark, Schriftart: FiraCode
Verbesserte Schriftarten-Darstellung (Windows, Linux)
Als wir im letzten Meilenstein auf Electron 6 aktualisiert haben, berichteten viele Benutzer von einer Verschlechterung der Schriftarten-Darstellung. Insbesondere wurden Schriftarten nicht mehr so glatt dargestellt wie früher. Wir haben das Problem sofort behoben und die Korrektur in einer 1.40-Recovery-Version zur Verfügung gestellt. Andere Bereiche der Benutzeroberfläche litten jedoch immer noch unter einer suboptimalen Schriftarten-Darstellung.
In dieser Version haben wir die Schriftarten-Darstellung in weiteren Teilen der Benutzeroberfläche (für Windows und Linux) verbessert. Die folgenden Screenshots zeigen einen Vorher-Nachher-Vergleich (vergrößert, um den Unterschied zu zeigen). Insbesondere wurden viele Baum- und Listenelemente der Benutzeroberfläche mit Graustufen-Kantenglättung gerendert und werden jetzt mit Subpixel-Kantenglättung gerendert.
Vorher (links) und nachher (rechts)

Wir planen, die Schriftarten-Darstellung in noch mehr Teilen der Benutzeroberfläche zu verbessern. Sie können diese Abfrage von Text-Rendering-Problemen einsehen, um den Fortschritt zu verfolgen.
Schnellere Lese-/Schreib-Leistung für Remote-Szenarien
Das Lesen und Schreiben von Dateien (aus dem Texteditor) sollte jetzt schneller für Szenarien sein, in denen das Dateisystem entfernt ist und die Latenz hoch ist (z. B. bei der Verwendung von VS Code in einem Browser mit langsamer Verbindung oder bei der Verbindung zu einem entfernten Host, der sich nicht in derselben Region befindet). Wir sind auf eine streambasierte Implementierung für Lese- und Schreibvorgänge umgestiegen, die den Kommunikations-Overhead erheblich reduziert.
Suchen
Suchergebnisse während der Eingabe aktualisieren
Bei der Volltextsuche werden die Ergebnisse jetzt während der Eingabe aktualisiert. Dies ist besonders hilfreich in Szenarien wie dem Erstellen komplexer regulärer Ausdrücke, bei denen schnelles Feedback zu einer Abfrage Ihnen helfen kann, den RegEx zu schreiben.
Hier hilft das sofortige Feedback beim Erstellen einer RegEx-Suche-und-Ersetze-Abfrage zur Übernahme der optionalen Verkettungssyntax von TypeScript

Theme: Noctis Hibernus, Schriftart: Hasklig
Hinweis: Diese Funktion kann deaktiviert werden, indem search.searchOnType auf false gesetzt wird, und die Verzögerung zwischen Eingabe und Suche kann mit search.searchOnTypeDebouncePeriod angepasst werden, die standardmäßig 300 ms beträgt.
Cursor zu Suchergebnissen hinzufügen
Wir haben einen Befehl hinzugefügt, um Cursor zu allen Übereinstimmungen einer Textsuche hinzuzufügen. Mit dem Fokus auf die Suchergebnisse einer Datei in der Suchansicht können Sie ⇧⌘L (Windows, Linux Ctrl+Shift+L) drücken, um alle Übereinstimmungen in dieser einen Datei gleichzeitig zu bearbeiten. Dies ist die gleiche Tastenkombination, die beim Suchen innerhalb eines einzelnen Editors mit dem Such-Widget verwendet wird.

Suchergebnisse standardmäßig erweitern
Zuvor wurden, wenn eine Volltextsuche mehr als 10 Ergebnisse in einer einzigen Datei ergab, diese im Ergebnisbaum eingeklappt angezeigt. Dies erschwerte jedoch manchmal das Auffinden eines bestimmten Ergebnisses. Mit dieser Version werden alle Ergebnisse erweitert angezeigt.
Sie können search.collapseResults auf auto setzen, um zum alten Verhalten zurückzukehren.
Editor
Minimap-Markierungen für Fehler, Warnungen und Inhaltsänderungen
Fehler und Warnungen werden jetzt inline in der Minimap (Code-Übersicht) hervorgehoben. Sie können die Farbe dieser Markierungen mit den neuen Theme-Farben minimap.errorHighlight und minimap.warningHighlight ändern.
Unten sehen Sie, wie die Minimap einen subtilen Tippfehler mit fehlendem Komma hervorhebt

Markierungen für Inhaltsänderungen werden auch im Randbereich der Minimap angezeigt

Sie können die Farben für Inhaltsänderungen mit
minimapGutter.addedBackgroundminimapGutter.modifiedBackgroundminimapGutter.deletedBackground
Sie können die Sichtbarkeit von Quellcodeverwaltungsmarkierungen mit der Einstellung scm.diffDecorations ändern, die folgende Werte hat:
all- Zeige Quellcodeverwaltungs-Diff-Markierungen an allen Stellen an.gutter- Nur im Randbereich des linken Editors anzeigen.minimap- Nur im Randbereich der Minimap anzeigen.overview- Nur im Übersichtslineal anzeigen.none- Diff-Markierungen nicht anzeigen.
Alternative Befehle für Code-Navigation
VS Code tat früher nichts, wenn man **Gehe zu Definition** auswählte, während man sich bereits an der Definition befand. Mit dieser Version können stattdessen alternative Befehle ausgeführt werden. Zum Beispiel kann **Gehe zu Definition** so konfiguriert werden, dass **Gehe zu Referenzen** ausgeführt wird.
Dies wird über die Einstellung editor.gotoLocation.alternativeDefinitionCommand angepasst. Sie können beispielsweise die Alternative für **Gehe zu Definition** zu **Gehe zu Deklaration** machen und umgekehrt. Sie können die Einstellung leer lassen, wenn Sie das alte Verhalten bevorzugen.
Peek-, Gehe zu- und Finde alle-Befehle
Jeder **Peek**-Befehl hat jetzt ein **Gehe zu**-Gegenstück. Zum Beispiel gibt es jetzt sowohl **Peek Implementierungen** als auch **Gehe zu Implementierungen**. Die Peek-Ansicht ändert nicht den aktuellen Editor und ermöglicht einen schnellen Blick auf den Quellcode vor Ort.
Das folgende Video zeigt die Verwendung von **Peek Implementierungen**, um alle Implementierungen der Schnittstelle ICommandService in einer Peek-Ansicht anzuzeigen

Theme: GitHub Sharp, Schriftart: FiraCode
Im Gegensatz dazu dient **Gehe zu Implementierungen** der Navigation und führt Sie schnell zu einer Implementierung.
Das folgende Video (mit der Einstellung "editor.gotoLocation.multipleImplementations": "goto") navigiert zu allen Implementierungen der Schnittstelle ICommandService, indem wiederholt F12 gedrückt wird

Theme: GitHub Sharp, Schriftart: FiraCode
Zu guter Letzt gibt es, ähnlich wie beim Befehl **Finde alle Referenzen**, jetzt **Finde alle Implementierungen**. Dies präsentiert die Implementierungen als eine stabile Liste neben dem Editor. Dies kann beispielsweise als TODO-Liste verwendet werden, wenn eine Refaktorierung durchgeführt wird, die alle Implementierungen einer Schnittstelle betrifft.

Theme: GitHub Sharp, Schriftart: FiraCode
Sprachspezifische Filterung für Breadcrumbs und Outline-Ansicht
Im letzten Meilenstein haben wir die Möglichkeit hinzugefügt, bestimmte Typen wie Variablen aus der Outline-Ansicht und der Breadcrumbs-Navigation zu filtern. Diese Version verfeinert diese Funktion und ermöglicht sprachspezifische Filterung, z. B. keine TypeScript-Variablen anzeigen, aber JavaScript-Variablen schon.
Unten sehen Sie, wie die Konstante value in der Outline-Ansicht für die JavaScript-Datei angezeigt wird, aber nicht für die TypeScript-Version.

Theme: GitHub Sharp, Schriftart: Fira Code
IntelliSense-Tastenkombinationen unter macOS
IntelliSense wird normalerweise über Ctrl+Space ausgelöst. Unter macOS wird diese Tastenkombination jedoch vom Betriebssystem verwendet, wenn mehrere Eingabequellen konfiguriert sind. Dies führt oft zu Verwirrung und Benutzer denken, IntelliSense sei defekt.
Es gibt jetzt zwei Möglichkeiten, dies zu handhaben
- Verwenden Sie die neue Tastenkombination Alt+Escape, die wir für macOS hinzugefügt haben.
- Deaktivieren Sie die Eingabequellenumschaltung über Ctrl+Space in Ihren macOS-Einstellungen unter Einstellungen > Tastatur > Shortcuts > Eingabequellen.

Bildschirmleser-Ausgabe
Es gibt eine neue Einstellung editor.accessibilityPageSize, die die Anzahl der Zeilen im Editor steuert, die von einem Bildschirmleser auf einmal vorgelesen werden können. Beachten Sie, dass dies Leistungseinbußen bei Zahlen größer als dem Standardwert von 10 hat.
Wenn Sie den Befehl **Alle vorlesen** eines Bildschirmlesers verwenden, empfehlen wir, editor.accessibilityPageSize auf 100 oder 1000 einzustellen. Im nächsten Meilenstein werden wir den Standardwert dieser Einstellung ändern.
Neue Option für Klammerabgleich
Es ist jetzt möglich, "editor.matchBrackets": "near" zu konfigurieren, um das alte Verhalten zu erhalten, bei dem übereinstimmende Klammern nur hervorgehoben werden, wenn sich der Cursor auf beiden Seiten einer Klammer befindet. Der Standardwert ist always, der die übereinstimmenden Klammern hervorhebt, die die aktuelle Cursorposition umschließen.
Neue Option für automatische Einrückung
Die Einstellung editor.autoIndent kann jetzt verschiedene Werte annehmen. Diese Einstellung wirkt sich auf mehrere Funktionen aus, z. B. beim Drücken von Enter, beim Drücken von Tab oder beim Einrücken und Ausrücken von Zeilen. Sie können die Einstellung wie einen "Schieberegler" betrachten, der immer opinierter wird
"none": Drücken von Enter fügt\nein und nichts weiter."keep": Drücken von Enter behält die Einrückung der aktuellen Zeile bei."brackets": Alles oben Genannte und spezielle Logik für sprachspezifische Klammern."advanced": Alles oben Genannte und Berücksichtigung sprachspezifischer Regeln, die überonEnterRulesdefiniert sind."full"(Standard): Alles oben Genannte und Berücksichtigung sprachspezifischer Regeln, die überindentationRulesdefiniert sind.
Tastenkombinationen für Code Action-Menü
Die Menüs für Code Actions und Refactoring zeigen jetzt benutzerdefinierte Tastenkombinationen an, falls vorhanden.

Integriertes Terminal
Minimales Kontrastverhältnis
Anwendungen, die mit Farben im Terminal arbeiten, können knifflig sein und die folgenden Farben für Text verwenden
- Die Standardvordergrundfarbe
- Eine Palette von 16 Farben, wie vom Terminal-Theme definiert
- Eine Reihe von 240 festen Farben
- Jede RGB-Farbe (16 Millionen)
Das Problem ist, dass die Anwendung die Standardhintergrundfarbe oder Vordergrundfarbe nicht kennt und ob sie einen guten Kontrast zu den von der Anwendung verwendeten Farben hat. Um dieses Problem zu lösen, kann das Terminal jetzt die Vordergrundfarbe des Textes dynamisch ändern, um ein bestimmtes Kontrastverhältnis zu erfüllen.
Stellen Sie die Vordergrundfarbe auf das gewünschte Kontrastverhältnis von 1 bis 21 ein
// 4.5 is recommended for baseline website accessibility
"terminal.integrated.minimumContrastRatio": 4.5
Die Terminalfarben werden ihre Luminanz erhöhen oder verringern, bis entweder das Kontrastverhältnis erreicht ist oder die Vordergrundfarbe #000000 oder #ffffff wird.

Theme: Sapphire, Schriftart: Hack
Neuer experimenteller WebGL-Renderer
Ein neuer WebGL-basierter Renderer ist für das Terminal verfügbar, der Leistungsgewinne von bis zu 900 %* gegenüber dem alten Canvas-basierten Ansatz bietet.
Sie können diesen neuen Renderer mit der folgenden Einstellung aktivieren
"terminal.integrated.rendererType": "experimentalWebgl"
Die Geschwindigkeitsverbesserungen sind auf viele Dinge zurückzuführen, hier sind die Highlights
- WebGL ermöglicht uns eine direktere Kommunikation mit der GPU, anstatt über die
CanvasRenderingContext2DAPI der Webplattform zu gehen. - Der Renderer arbeitet fast ausschließlich mit Zahlen und typisierten Arrays, die extrem schnell sind. Die Erstellung von Objekten und Arrays wird ebenfalls minimiert, um unnötige Garbage Collection zu vermeiden.
- Alle Zeichen werden jetzt in einem Texturatlas zwischengespeichert, anstatt nur ASCII-Zeichen mit einer begrenzten Auswahl an Stilen. Das bedeutet, dass das wiederholte Zeichnen desselben Zeichens viel schneller ist.
Wir beobachteten, dass die Rendering-Zeiten stark variierten, abhängig von der Hardware/Umgebung eines Benutzers mit dem Canvas-Renderer. Jeder Frame dauerte typischerweise zwischen 1 ms und 40 ms, konnte aber in extremen Fällen über 200 ms erreichen, wenn Hardwareprobleme eine Rolle spielten. Bisher scheint WebGL viel konsistenter zu sein und liegt typischerweise im Bereich von 0,2 ms bis 2 ms

Die Zuverlässigkeit ist eine der Dinge, die wir nach der Integration voraussichtlich verbessern werden. Beim Canvas-Renderer versuchte der Browser, clever zu sein und auf die CPU-basierte Darstellung zurückzufallen, wenn Probleme mit der GPU/Canvas auftraten, aber wir möchten nie, dass das passiert, da wir einen DOM-basierten Renderer haben, der dafür besser geeignet ist. Mit WebGL sollte es entweder wie erwartet funktionieren oder hart fehlschlagen (ein WebGL-Kontext kann nicht erworben werden), in welchem Fall wir auf den DOM-Renderer zurückfallen können.
Da das Rendering so wenig Zeit in Anspruch nimmt, wird die CPU frei, um sich auf das Parsen eingehender Daten zu konzentrieren, was zu mehr gerenderten Frames und schneller laufenden Befehlen führt. Die folgenden Leistungsdaten wurden aus der Ausführung von ls -lR im vscode-Repository generiert

Der neue Renderer behebt auch einen ärgerlichen Fehler im Canvas-Renderer, bei dem die Seiten von Zeichen abgeschnitten wurden, wenn sie größer als die Zellengröße waren. Dieses Problem wurde am häufigsten bei bestimmten Schriftarten unter Linux mit Unterstrichen beobachtet.
* Weitere Informationen zu Benchmarks finden Sie unter xtermjs/xterm.js#1790
Quellcodeverwaltung
Git: Relative Pfade in git.ignoredRepositories
Die Einstellung git.ignoredRepositories unterstützt jetzt relative Pfade, die nützlich sind, wenn Sie Workspace-Einstellungen konfigurieren und bestimmte Repositories in VS Code ignorieren möchten.
Git: Übernahme von FileSystemProvider
Die Git-Erweiterung verwendet jetzt die FileSystemProvider API, die neben der Behebung bestimmter Kodierungsprobleme eine leistungsfähigere und zuverlässigere Methode zur Anzeige älterer Versionen Ihrer Dateien aus einem Git-Repository bietet.
Sprachen
HTML-Spiegelcursor
VS Code fügt jetzt einen "Spiegelcursor" hinzu, wenn Sie HTML-Tags bearbeiten. Dieses Verhalten wird durch die Einstellung html.mirrorCursorOnMatchingTag gesteuert, die standardmäßig aktiviert ist.
Diese Funktion funktioniert, indem ein Multi-Cursor zum übereinstimmenden Tag hinzugefügt wird, wenn Ihr Cursor in einen HTML-Tag-Namensbereich bewegt wird. Genau wie im Multi-Cursor-Modus können Sie wortweise löschen oder wortweise auswählen. Der gespiegelte Cursor wird entfernt, wenn Sie den Cursor aus dem Tag-Namensbereich bewegen.
Ein Sonderfall ist die Eingabe von Leerzeichen, wenn sich der Cursor am Ende des öffnenden Tags befindet, z. B. am Ende eines div wie <div|></div|>. In diesem Fall entfernt VS Code das eingefügte Leerzeichen nach dem schließenden Tag-Namen und beendet den Spiegelcursor-Modus, sodass Sie HTML-Attribute weiterhin bearbeiten können.

Theme: Nord, Schriftart: Input Mono
HTML: Tags umbenennen
Sie können jetzt F2 verwenden, um die öffnenden/schließenden Tag-Paare in HTML umzubenennen.

Rangfolge von autovervollständigten CSS-Eigenschaften
Die CSS-Autovervollständigung ordnet Eigenschaften jetzt nach ihrer Popularität.

Die Nutzungsdaten stammen von ChromeStatus.org.
Unterstützung für Sass-Module
Sass hat kürzlich ein neues Modulsystem eingeführt.
Wir haben Syntaxhervorhebung und Sprachfunktionen für Sass-Module in SCSS-Dateien hinzugefügt. Die Sprachfunktionen umfassen
- Automatische Vervollständigung von
@useund@forward. - Pfadvervollständigung für
@useund@forward-Pfade. - Automatische Vervollständigung von Sass eingebauten Modulen wie
sass:mathundsass:color. - Dokumentenlinks für
@useund@forward-Importpfade.

JSON
Um Leistungsprobleme bei großen JSON-Dateien zu vermeiden, unterstützt die JSON-Sprachunterstützung jetzt eine Obergrenze für die Anzahl der Faltungsbereiche und Dokumentensymbole, die sie berechnet (für die Outline-Ansicht und Breadcrumbs). Standardmäßig beträgt das Limit 5000 Elemente, Sie können das Limit jedoch mit der Einstellung json.maxItemsComputed ändern.

TypeScript 3.7
VS Code wird jetzt mit TypeScript 3.7.3 ausgeliefert. Dieses große Update bringt einige Verbesserungen der TypeScript-Sprache – einschließlich optionaler Verkettung, Nullish Coalescing und Assertion-Funktionen – sowie einige neue Tooling-Funktionen für JavaScript und TypeScript. Wie immer enthält diese Version auch eine Reihe wichtiger Fehlerbehebungen.
Sie können mehr über die TypeScript 3.7-Funktionen im TS 3.7 Blog-Post lesen.
Unterstützung für optionale Verkettung in JavaScript und TypeScript
Dank TypeScript 3.7 unterstützt VS Code jetzt optionale Verkettung sofort für JavaScript und TypeScript. Dies beinhaltet Syntaxhervorhebung und IntelliSense.

Zusätzlich kann VS Code automatisch ein ?. einfügen, wenn Sie eine Vervollständigung für eine optionale Eigenschaft akzeptieren.

Die automatische Einfügung von ?. hängt davon ab, ob die strikte Nullprüfung aktiviert ist. Die automatische ?.-Einfügung kann mit den Einstellungen "typescript.suggest.includeAutomaticOptionalChainCompletions" oder "javascript.suggest.includeAutomaticOptionalChainCompletions" deaktiviert werden.
Refactoring "Schnittstelle extrahieren" für TypeScript
Das neue Refactoring **"Schnittstelle extrahieren"** ermöglicht es Ihnen, einen Inline-Typ schnell in eine Schnittstelle zu extrahieren, damit er wiederverwendet werden kann.

Unten sehen Sie, dass die Schnittstelle "Neural" aus "keyes" extrahiert wurde

Formatierungsoptionen für Semikolons für JavaScript und TypeScript
Die neuen Formatierungsoptionen javascript.format.semicolons und typescript.format.semicolons ermöglichen Ihnen, zu steuern, wie der Formatter Semikolons in JavaScript- und TypeScript-Dateien behandelt.
Gültige Werte für Semikolon-Formatierungsoptionen sind
ignore- Fügt keine Semikolons hinzu oder entfernt sie (Standard).insert- Fügt Semikolons am Ende von Anweisungen ein.remove- Entfernt unnötige Semikolons.
Prüfung auf nicht aufgerufene Funktionen
VS Code wird Sie jetzt benachrichtigen, wenn Sie vergessen, eine Funktion in einer Bedingung aufzurufen.
Betrachten Sie den folgenden TypeScript-Codeausschnitt
import * as fs from 'fs';
fs.stat('/path/to/file', function(err, stats) {
if (stats.isDirectory) {
handleDirectory(stats);
}
});
Das obige Beispiel verwendet die Node.js fs.stat API, um Informationen über eine Datei zu erhalten. Aber es gibt einen Fehler! .isDirectory ist tatsächlich eine Funktion, keine Eigenschaft! Das bedeutet, dass handleDirectory bei jeder Datei aufgerufen wird, nicht nur bei Verzeichnissen wie beabsichtigt, da die Funktion isDirectory definiert ist und zu true ausgewertet wird.

Beachten Sie, dass Sie diese Diagnose nur sehen, wenn die strikte Nullprüfung aktiviert ist.
Debugging
Debug START-Ansicht
Wir haben eine neue Debug START-Ansicht eingeführt, um es Benutzern zu erleichtern, das Debuggen in einem neuen Workspace zu starten und zu konfigurieren. Basierend auf der aktiven Datei wählen wir die entsprechende Debug-Erweiterung aus und ermöglichen das Debuggen oder Ausführen Ihrer Anwendung. Für aufwendigere Debug- und Ausführungskonfigurationen ist es weiterhin am besten, eine launch.json-Datei zu konfigurieren.
Unten sehen Sie, wie Sie schnell mit dem Debuggen einer Express-JavaScript-Anwendung beginnen und dann eine launch.json-Datei erstellen, wenn mehr Kontrolle benötigt wird.

Frame neu starten als Inline-Aktion in der CALL STACK-Ansicht
Um die Auffindbarkeit der Aktion **Frame neu starten** zu verbessern, gibt es jetzt eine Inline-Aktion in der CALL STACK-Ansicht, die beim Überfahren mit der Maus sichtbar ist. Das Neustarten von Frames ist eine praktische Möglichkeit, den vorherigen Quellcode nach dem Erreichen eines Breakpoints erneut auszuführen. Wenn die Debug-Erweiterung das Neustarten von Frames nicht unterstützt, wird diese Aktion nicht angezeigt.

Debug-Konsole zeigt Ein- und Ausgabe an
Um die Eingabe und Ausgabe in der Debug-Konsole besser unterscheiden zu können, haben wir links Eingabe- > und Ausgabe- < Markierungen hinzugefügt.

Inline-Anzeige von Breakpoints
Eine neue Einstellung debug.showInlineBreakpointCandidates steuert, ob Inline-Breakpoint-Kandidaten-Markierungen im Editor während des Debuggens angezeigt werden. Standardmäßig sind sie sichtbar.
Vorschau-Funktionen
Vorschau-Features sind noch nicht zur Veröffentlichung bereit, aber funktionsfähig genug, um sie zu nutzen. Wir freuen uns über Ihr frühes Feedback, während sie sich in der Entwicklung befinden.
Such-Editor
In diesem Meilenstein haben wir mit der Arbeit begonnen, Suchergebnisse in einem dedizierten Editor anzuzeigen. Dies bietet mehr Platz zur Anzeige von Suchergebnissen und ermöglicht es Ihnen, mehrere Sammlungen von Suchergebnissen gleichzeitig zu verwalten.
Mit dieser Version können Sie in einem Sucheditor
- Zu Ergebnissen navigieren mit Befehlen der **Gehe zu Definition**-Familie, einschließlich **Peek Definition** und **Definition nach rechts öffnen**.
- Eine Suche erneut ausführen, um die Liste der Ergebnisse zu aktualisieren.
- Quellcodezeilen rund um ein Ergebnis anzeigen.
- Ergebnisse auf der Festplatte speichern, um sie später zu referenzieren oder sogar in der Quellcodeverwaltung zu verfolgen.
Wir werden in den kommenden Versionen weiterhin Funktionalität hinzufügen und die Benutzerfreundlichkeit verbessern.

Theme: A Touch of Lilac, Schriftart: Hasklig
Hinweis: Sie können diese Funktion in der Vorschau anzeigen, indem Sie search.enableSearchEditorPreview auf true setzen.
Call Hierarchy-Ansicht
Die Call Hierarchy API ist in der stabilen Version verfügbar und Sprachautoren arbeiten daran, sie zu implementieren. Daher haben wir eine Call Hierarchy-Ansicht hinzugefügt. Diese ergänzt die Ansicht **Peek Call Hierarchy** und teilt sich die gleiche Seitenleistenansicht wie **Finde alle Referenzen** und **Finde alle Implementierungen**. Sobald eine Sprachspezialerweiterung die Call Hierarchy API unterstützt, können Sie **Call Hierarchy anzeigen** aus dem Kontextmenü oder der Befehlspalette auswählen, um die Ansicht zu sehen.

Theme: GitHub Sharp, Schriftart: FiraCode
Die Call Hierarchy-Ansicht ermöglicht es Ihnen, die Aufrufer von und die Aufrufe eines Symbols zu untersuchen. Sie hebt Aufrufe im aktiven Editor hervor, ermöglicht die Umordnung der Ansicht von beliebigen Kindern und behält eine Historie früherer Ausführungen bei.
JavaScript Debugger
Wir arbeiten an einem neuen Debugger für Node.js und Chrome. Sie können die nächtliche Erweiterung js-debug-nightly installieren und sie als Drop-in-Ersatz verwenden, indem Sie Ihre Einstellungen aktualisieren, um Folgendes hinzuzufügen:
{
"debug.chrome.useV3": true,
"debug.node.useV3": true
}
Sie sollten Ihre bestehenden Startkonfigurationen nicht ändern müssen, um den neuen Debugger zu verwenden.
Der Debugger bietet eine Vielzahl neuer Funktionen, wie z. B. die Möglichkeit, Webworker zu debuggen und schrittweise zu durchlaufen

Theme: Earthsong, Font: Fira Code
... npm-Skripte ohne zusätzliche Konfiguration oder Flags zu debuggen...

...und mehr! Wenn Sie auf Probleme stoßen, melden Sie bitte ein Problem.
Beiträge zu Erweiterungen
Remote-Entwicklung
Die Arbeit an den Remote Development-Erweiterungen wird fortgesetzt. Diese ermöglichen es Ihnen, einen Container, eine Remote-Maschine oder das Windows Subsystem for Linux (WSL) als voll ausgestattete Entwicklungsumgebung zu nutzen.
Funktions-Highlights in 1.41 sind:
- Dev Containers: Einfacheres Ausprobieren von Beispiel-Repositories (z. B. vscode-remote-try-python) in einem Container.
- Dev Containers: Verbesserte Leistung beim Erstellen eines Containers und neue Optionen für
devcontainer.json. - WSL: Unterstützung auf Windows 10 ARM-basierten PCs wie Surface Pro X.
- Der Remote Explorer kann jetzt verfügbare Ansichten auf bestimmte Remote-Typen beschränken.
Sie können sich über neue Erweiterungsfunktionen und Fehlerbehebungen in den Remote Development Release Notes informieren.
Sie können auch einen aktuellen Blog-Beitrag über Inspecting Containers with VS Code lesen und das aktualisierte Tutorial Using C++ and WSL in VS Code ausprobieren.
ESLint
Verbesserungen an der ESLint-Erweiterung
- Bessere Unterstützung für ESLint 6.x - In den meisten Fällen ist es nicht mehr notwendig, Arbeitsverzeichnisse bei der Verwendung von ESLint 6.x zu konfigurieren.
- Verbesserte TypeScript-Erkennung - Sobald TypeScript in ESLint korrekt konfiguriert ist, benötigen Sie keine zusätzliche Konfiguration mehr über die
eslint.validate-Einstellung von VS Code. Das Gleiche gilt für HTML- und Vue.js-Dateien. - Glob-Arbeitsverzeichnis-Unterstützung - Projekte mit komplexer Ordnerstruktur, die die Arbeitsverzeichnisse über
eslint.workingDirectoriesanpassen müssen, können jetzt Glob-Muster anstelle der Auflistung jedes Projektordners verwenden. Zum Beispiel passtcode-*auf alle Projektordner, die mitcode-beginnen. Zusätzlich wechselt die Erweiterung jetzt standardmäßig das Arbeitsverzeichnis. Sie können diese Funktion mit der neuen!cwd-Eigenschaft deaktivieren. - Verbessertes Auto-Fix beim Speichern - Auto-Fix beim Speichern ist jetzt Teil der Code-Action-On-Save-Infrastruktur von VS Code und berechnet alle möglichen Korrekturen in einer Runde. Sie wird über die Einstellung
editor.codeActionsOnSaveangepasst. Die Einstellung unterstützt die ESLint-spezifische Eigenschaftsource.fixAll.eslint. Die Erweiterung berücksichtigt auch die generische Eigenschaftsource.fixAll.
Die folgende Einstellung aktiviert Auto-Fix für alle Anbieter, einschließlich ESLint
"editor.codeActionsOnSave": {
"source.fixAll": true
}
Im Gegensatz dazu aktiviert diese Konfiguration dies nur für ESLint
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
Sie können ESLint auch selektiv deaktivieren über
"editor.codeActionsOnSave": {
"source.fixAll": true,
"source.fixAll.eslint": false
}
vscode-scss
Die vscode-scss-Erweiterung bietet dateiübergreifende Sprachunterstützung für SCSS-Variablen, Mixins und Funktionen. In diesem Meilenstein haben wir ihre Entwicklung für eine neue Version, 0.8.0, unterstützt.
Die neue Version verbessert
- Bessere Auflösung von Importpfaden
- Farbvorschau für autovervollständigte Farbvariablen
- Bessere Leistung
Erweiterungs-Authoring
Figma Design Toolkit
Wir haben ein Figma Design Toolkit erstellt, um Erweiterungsautoren besser beim Entwerfen von Benutzeroberflächen für ihre Erweiterungen zu unterstützen. Schauen Sie sich das Toolkit-Repository auf GitHub an, das Anweisungen zur Verwendung des Toolkits enthält.
Unten sehen Sie ein Beispiel für einige der enthaltenen Komponenten

Alle Komponenten sollten in der Größe veränderbar und bearbeitbar sein.

Wenn Sie auf Probleme stoßen oder Wünsche für bestimmte Komponenten haben, erstellen Sie bitte ein Problem im Toolkit-Repository, damit wir die Anfragen sichten und verfolgen können.
Debug-Icon-Farbtokens
Wir haben eine Reihe neuer Farbtokens für die Debug-Ansicht hinzugefügt.
Debug-Symbolleiste
debugIcon.startForegrounddebugIcon.continueForegrounddebugIcon.disconnectForegrounddebugIcon.pauseForegrounddebugIcon.restartForegrounddebugIcon.stepBackForegrounddebugIcon.stepIntoForegrounddebugIcon.stepOutForegrounddebugIcon.stepOverForegrounddebugIcon.stopForeground

Theme: Min Dark, Schriftart: Input Mono
Debug-Breakpoints
debugIcon.breakpointForegrounddebugIcon.breakpointDisabledForegrounddebugIcon.breakpointUnverifiedForegrounddebugIcon.breakpointStackframeForegrounddebugIcon.breakpointCurrentStackframeForeground

Theme: Min Dark, Schriftart: Input Mono
Workspace-Datei-Ereignisse
Es gibt neue Ereignisse für Datei- und Ordneränderungen
vscode.workspace.on[Will|Did]CreateFilevscode.workspace.on[Will|Did]RenameFilevscode.workspace.on[Will|Did]DeleteFile
Die Ereignisse werden ausgelöst, wenn Dateien aus dem Explorer oder von Erweiterungen über die API vscode.workspace.applyEdit(WorkspaceEdit) erstellt, umbenannt oder gelöscht werden, aber nicht, wenn Dateien auf der Festplatte geändert werden oder wenn Dateien über die API vscode.workspace.fs geändert werden.
Ein möglicher Anwendungsfall für diese Ereignisse ist ein Sprachserver, der den Inhalt einer Datei aktualisieren könnte, bevor sie umbenannt wird, oder Projektdateien nach dem Löschen/Erstellen von Dateien aktualisiert.
SnippetString
Der Typ SnippetString hat jetzt eine Builder-Methode für Choice-Elemente.
Strikte getWordRangeAtPosition
Die API TextDocument.getWordRangeAtPosition ist jetzt strikter und wird statt ungültige reguläre Ausdrücke, die zu leeren Zeichenfolgenübereinstimmungen führen, zu ignorieren, einen Fehler auslösen.
Veralteter String-Typ für extensionKind
Erweiterungsautoren können die Eigenschaft extensionKind in package.json verwenden, um anzugeben, wo eine Erweiterung im Remote-Fall ausgeführt werden soll. In der Veröffentlichung (1.40) konnte dieser Wert ein String oder ein Array sein. Ab dieser Version unterstützt diese Eigenschaft nur noch einen Array-Wert und die Verwendung eines Strings ist veraltet. Weitere Informationen finden Sie in der Remote Development-Dokumentation.
DAP-Quellen in URIs konvertieren
Die VS Code-Erweiterungs-API verwendet Dokument-URIs, wenn sie sich auf Ressourcen beziehen, die in Editoren geöffnet werden können, während das Debug Adapter Protocol auf Source Deskriptoren basiert. In diesem Meilenstein haben wir eine API hinzugefügt, um die beiden Welten zu verbinden. Die Funktion debug.asDebugSourceUri erstellt einen URI aus einem DAP Source-Objekt. Dies erleichtert das Öffnen einer DAP-Quelle in einem VS Code-Editor
export async function openDAPSource(
session: vscode.DebugSession,
source: DebugProtocol.Source
) {
const uri = vscode.debug.asDebugSourceUri(source, session);
vscode.window.showTextDocument(vscode.workspace.openTextDocument(uri));
}
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. So probieren Sie eine vorgeschlagene API aus:
- Sie müssen Insiders verwenden, da sich vorgeschlagene APIs häufig ändern.
- Sie müssen diese Zeile in der Datei
package.jsonIhrer Erweiterung haben:"enableProposedApi": true. - Kopieren Sie die neueste Version der Datei vscode.proposed.d.ts in den Quellcode-Speicherort Ihres Projekts.
Beachten Sie, dass Sie keine Erweiterung veröffentlichen können, die eine vorgeschlagene API verwendet. Möglicherweise gibt es in der nächsten Version Breaking Changes, und wir möchten niemals bestehende Erweiterungen brechen.
CodeAction.disabled
VS Code ermutigt Erweiterungen, Refactoring-Funktionalitäten über Code Actions zu implementieren. Es kann jedoch schwierig für Benutzer sein, zu entdecken, welche Refactorings eine Erweiterung unterstützt und zu verstehen, warum eine bestimmte Refactoring-Option für eine spezifische Auswahl nicht verfügbar ist. Der API-Vorschlag CodeAction.disabled zielt darauf ab, Erweiterungen dabei zu unterstützen, ihre Refactorings besser auffindbar zu machen.
Die vorgeschlagene .disabled-Eigenschaft auf CodeAction ist ein lesbarer String, der beschreibt, warum eine bestimmte Code Action nicht möglich ist. Hier ist ein Beispiel für die Verwendung von .disabled in unserer CodeAction-Beispielerweiterung.
import * as vscode from 'vscode';
export class Emojizer implements vscode.CodeActionProvider {
public provideCodeActions(document: vscode.TextDocument, range: vscode.Range): vscode.CodeAction[] | undefined {
const action = new vscode.CodeAction(`Convert to ${emoji}`, vscode.CodeActionKind.Refactor.append('emojize'));
if (!this.isAtStartOfSmiley(document, range)) {
// Tell the user why our action is not available
action.disabled = 'Selection is not currently on a :)';
return [action];
}
action.edit = new vscode.WorkspaceEdit();
action.edit.replace(document.uri, new vscode.Range(range.start, range.start.translate(0, 2)), '😀');
return action;
}
...
}
Wenn der Benutzer versucht, eine deaktivierte Code Action über eine Tastenkombination anzuwenden, zeigt VS Code dem Benutzer die Fehlermeldung .disabled an.

Um die Auffindbarkeit zu verbessern, werden deaktivierte Code Actions zudem im Kontextmenü **Refactor** und **Source Action** ausgegraut dargestellt.

Beachten Sie, dass deaktivierte Aktionen im übergeordneten Glühbirnenmenü nicht angezeigt werden.
Wenn Ihre Erweiterung Code Actions verwendet, teilen Sie uns bitte mit (lassen Sie es uns wissen), ob CodeAction.disabled etwas ist, das Sie nützlich finden und implementieren könnten.
Bearbeitungsfähigkeiten für benutzerdefinierte Editoren
Wir haben in dieser Iteration weiter an dem Vorschlag für benutzerdefinierte Editoren gearbeitet. Zur Erinnerung: Benutzerdefinierte Editoren sind Webview-basierte Ansichten, die für bestimmte Dateitypen anstelle des normalen Texteditors von VS Code verwendet werden können. Seit VS Code 1.41 können benutzerdefinierte Editoren nun mit der Rückgängig-/Wiederherstellen- und Speicherfunktionalität von VS Code integriert werden, was viele interessante Anwendungsfälle ermöglicht, darunter die Verwendung als visuelle und WYSIWYG-Editoren.
Sie finden den aktuellen API-Vorschlag in vscode.proposed.d.ts und wir haben auch einige sehr einfache Erweiterungsbeispiele zusammengestellt, die die Verwendung von benutzerdefinierten Editoren für Text- und Binärdateien demonstrieren.
Wenn Sie an benutzerdefinierten Editoren interessiert sind, teilen Sie bitte Ihr Feedback zu dem aktuellen Vorschlag mit und lassen Sie uns wissen, ob Sie ihn implementieren könnten.
Semantic Tokens Provider
Wir haben eine neue vorgeschlagene API für einen Semantic Tokens Provider hinzugefügt. Die neue API ermöglicht es Erweiterungen, zusätzliche Token-Informationen bereitzustellen, die vom Editor verwendet werden, um die TextMate-basierte Syntaxhervorhebung zu verbessern.
Jedes semantische Token annotiert einen Bereich mit einem Token-Typ und beliebig vielen Token-Modifikatoren. Zum Beispiel würden die Typen variable und die Modifikatoren member und modification den Schreibzugriff auf eine Member-Variable beschreiben. Die Token-Typen und Modifikatoren werden dann verwendet, um Stile im Editor hinzuzufügen.
Stile können sowohl in Farbthemen als auch in Benutzereinstellungen konfiguriert werden
"editor.tokenColorCustomizationsExperimental": {
"variable.member": {
"foreground": "#35166d"
},
"*.modification": {
"fontStyle": "underline"
}
}
Wenn Sie an dieser Funktion interessiert sind, würden wir uns über Ihr Feedback zum aktuellen Vorschlag freuen und ermutigen Sie gerne zu Experimenten und ersten Implementierungen.
Ein vollständiges Beispiel finden Sie im Repository vscode-extensions-samples.
Language Server Protocol
Es gibt jetzt eine vorgeschlagene Unterstützung für die Aufrufhierarchie-Ansicht über LSP.
Browserunterstützung
Verbesserte Unterstützung für Firefox und Safari (macOS & iPadOS)
Während dieses Meilensteins konzentrierten wir uns auf die Verbesserung der Benutzererfahrung von VS Code im Browser mit Firefox oder Safari. Wir haben viele Probleme behoben, um beide Browser zu unterstützen (Firefox, Safari). Unter Firefox haben wir aufgrund von Blockern im Upstream noch keine vollständige Unterstützung für Tastenkombinationen, und weitere Details finden Sie unter Tracking-Issue #85252.
Wir haben auch viele Probleme behoben, um grundlegende VS Code-Funktionalitäten in Safari auf iPadOS zu ermöglichen. Kern-UI-Elemente sind nun für Touch- und Zeigergeräte zugänglich. Es gibt jedoch noch wichtige Blockaden in Bezug auf vordefinierte Tastenkombinationen (Escape und Function-Tasten), Hover-Effekte und Touch-freundliche Benutzeroberfläche/UX. Weitere Informationen finden Sie unter Issue #85254.
Weitere Funktionen in der Browserversion verfügbar
Im letzten Meilenstein haben wir die Unterstützung für die Ausführung von yarn web aus unserem Repository eingeführt, um VS Code im Browser einzurichten (Unterstützung eingeführt). Diese Einrichtung ist weiterhin für das Testen von Problemen in Browsern vorgesehen und nicht für die Entwicklung.
In diesem Meilenstein haben wir weitere Funktionen hinzugefügt, die getestet werden können.
- Debuggen
- Suchen
- Aufgaben
- Probleme
Hier ist ein Video, das die neuen Funktionen in Aktion zeigt.

Hinweis: Verwenden Sie diese Einrichtung nicht für ernsthafte Entwicklungszwecke. Ziel ist es, der Community zu ermöglichen, Änderungen an VS Code beizusteuern, um die allgemeine Benutzererfahrung im Browser zu verbessern.
Technik
Insiders im Yum-Repository verfügbar
Der Insiders-Build ist jetzt im Yum-Repository verfügbar und wird automatisch veröffentlicht, genau wie beim Apt-Repository. Folgen Sie den Anweisungen auf der Website, um das Repository einzurichten und die Installation mit sudo dnf install code-insiders durchzuführen.
Kontinuierlicher Build für Monaco Editor
In dieser Iteration haben wir einen kontinuierlichen Build und eine Testpipeline für den Monaco Editor hinzugefügt. Wir bauen den Monaco Editor Core aus dem Hauptzweig des VS Code-Repositorys und führen Sanity-Tests durch, um potenzielle Fehler oder unerwartete Breaking Changes so früh wie möglich zu erkennen.
Bemerkenswerte Fehlerbehebungen
- 51039: Diff-Editor schließt sich, wenn die linke Editor-Seite in einem anderen Tab geschlossen wird.
- 83746: Web: keine Möglichkeit, Composites & Views (Aktivitätsleiste, Panel) per Drag & Drop zu verschieben.
- 80026: Graue Attribute in launch.json sind verwirrend, bitte entfernen Sie sie.
- 83449: Barrierefreiheit: Strg+Rechts im Barrierefreiheitsmodus (CursorWordAccessibilityRight) sollte zum Anfang des nächsten Wortes springen, anstatt zum Ende.
- 83753: Deaktivieren von console.debug.wordWrap entfernt Zeilenumbrüche und Leerzeichen.
- 85086: Rückverweise werden in der globalen Suche nicht unterstützt, wenn
search.usePCRE2deaktiviert ist. - 36219: Git: Befehl "Ausgewählte Bereiche stagen" ändert die Kodierung zu UTF-8.
Vielen Dank
Nicht zuletzt ein großes Dankeschön! an die folgenden Personen, die dazu beigetragen haben, VS Code noch besser zu machen
Beiträge zu unserer Fehlerverfolgung
- John Murray (@gjsjohnmurray)
- Andrii Dieiev (@IllusionMH)
- Alexander (@usernamehw)
- Danny Tuppeny (@DanTup)
Beiträge zu vscode
- Amir Omidi (@aaomidi): Verwenden Sie isNaN anstelle von === NaN PR #83790
- Anirudh Rayabharam (@anirudhrb): Git: Fehler beim Stagen in einem leeren Repository behoben PR #82995
- Anthony Dresser (@anthonydresser): Filter für Git-Hook hinzugefügt (Entwickler-QoL) PR #85159
- Jakub Chodorowicz (@chodorowicz): Monokai-Theme für Markdown-Dateien verbessert PR #85467
- DiamondYuan (@DiamondYuan): fix: Tippfehler korrigiert CustomEditoInputFactory -> CustomEditorInputFactory PR #85090
- George Batalinski (@georgebatalinski): fix(aria-expanded) für Untermenüs, aria-Prop hinzugefügt PR #79775
- John Murray (@gjsjohnmurray)
- James Inkster (@Grommers00): fix #84080, Strg+Umschalt+C und Strg+Umschalt+V zum Terminal hinzugefügt PR #84438
- Vladislav Hadzhiyski (@hadzhiyski)
- Hung-Wei Hung (@hunghw): Fix #83818 - Beschreibung in enablePreviewFromQuickOpen poliert PR #83895
- Andrew Liu (@hypercubestart): fix #82457, Markdown geöffnet, aber Quell-Tab nicht fokussiert PR #85506
- Andrii Dieiev (@IllusionMH): Template-Literale-Unterstützung verbessert, um TS zu entsprechen PR #80234
- Jason Ginchereau (@jasongin): Kleinere Verpackungsfehler in der Automatisierungsbibliothek behoben PR #83942
- Jean Pierre (@jeanp413)
- Bildressourcen-URI nicht doppelt kodieren PR #85355
- Behebt: Beim Starten des Ziehens eines Tabs wird eine Bildlaufleiste angezeigt (Web) PR #83959
- Behebt: Bildname mit '#' wird nicht gerendert PR #84334
- Einfügen & Ersetzen im Snippet-Provider übernommen PR #84206
- Behebt: Linkifizierten Text in der Debug-Konsole kann nicht per Drag & Drop ausgewählt werden PR #83956
- Behebt: Firefox im Web: Ablegen einer Datei auf sich selbst navigiert die Seite PR #83962
- Behebt: compressedNavigationController hat nach dem Start einen veralteten Zustand PR #86574
- Huáng Jùnliàng (@JLHwung):
babel.config.jsonzu den bekannten JSON-Validierungsschema-Maps hinzugefügt PR #83758 - Joan Rieu (@joanrieu): Dokumentiert die Konfigurationsoption problemMatcher.fileLocation="autodetect" PR #83803
- John Combs (@jscombs91): force-device-scale-factor zu Kommandozeilenargumenten hinzugefügt PR #84651
- Robert Jin (@jzyrobert)
- @MartinBrathen: Zoom beim ersten Klick korrigiert PR #83826
- @mltony: Strg+Rechts im Barrierefreiheitsmodus zum Anfang des Wortes springen lassen PR #83450
- Nilesh Kevlani (@njkevlani): Befehl und Tastenkombination zum Hinzufügen von Multi-Cursor aus Suchergebnissen PR #82510
- okmttdhr (@okmttdhr)
- @OneQuid: Korrigiert das Öffnen von Bildern mit '%' im Dateinamen PR #84667
- Osk (@oskosk): Tippfehler im Befehlsbezeichner für installMissingDependencies behoben PR #84056
- Peter Elmers (@pelmers): Optionales sortByLabel zu QuickPick hinzugefügt, um zu steuern, ob Ergebnisse neu sortiert werden sollen PR #77297
- Pieter Vanderpol (@petevdp)
- Samuel Bronson (@SamB): Nachgestellte Kommas auch in jsconfig.json erlaubt PR #85479
- Shizeng Zhou (@shizengzhou): Fix #84111 PR #84610
- @smilegodly: focusSearch() in clearSearchResults() integriert und doppelte Funktion entfernt PR #83617
- Konstantin Solomatov (@solomatov)
- 空雲 (@SoraKumo001): Lokale und entfernte Ports konfigurierbar gemacht PR #84958
- Sebastian Pahnke (@spahnke): monaco-editor: Modell anhand der Ressource in SimpleEditorModelResolverService finden PR #85129
- 酷酷的哀殿 (@sunbohong): Unterstützung für UTF-8-Kodierungsschätzung PR #84504
- Tobias Fenster (@tfenster): Filterung nach Markertyp implementiert PR #83797
- Valentin Hăloiu (@vially): Übergeordneten Pfad zum Git-Clone-Befehl hinzugefügt PR #85459
- Wojciech Buczek (@Wowol): Unterstützung für relative Pfade für git.ignoredRepositories hinzugefügt PR #83466
- ZHAO Jinxiang (@xiaoxiangmoe): .cjs zu bekannten JavaScript-Dateierweiterungen hinzugefügt PR #85460
Beiträge zu language-server-protocol
-
Bradley Walters (@bmwalters): Falsche Client-Capability-Schnittstelle für Document-Symbol korrigiert PR #862
Beiträge zu vscode-css-languageservice
- Piotr Błażejewicz (Peter Blazejewicz) (@peterblazejewicz): Beschreibung des linearen Gradienten korrigiert. PR #198
- @wongjn
Beiträge zu debug-adapter-protocol
- Ben Clayton (@ben-clayton): sdks.md aktualisiert PR #82
Beiträge zu vscode-chrome-debug-core
- Elmi Ahmadov (@ahmadov): Referenzfehler behoben, wenn ein neuer Wert für eine Eigenschaft gesetzt wird PR #546
Beiträge zu vscode-vsce
- Alessandro Fragnani (@alefragnani): Datei über Option ignorieren PR #294
- James Inkster (@Grommers00): behebt #400, erzwingt die Veröffentlichung einer Erweiterung PR #405
- Chris S. (@LaChRiZ): Wenn der Paketpfad ein Verzeichnis ist, wird der Standarddateiname zum Schreiben von VSIX verwendet PR #248
- Nate Drake (@ndrake): Berechtigungen für .vsce auf 0600 gesetzt; Korrektur für #230 PR #295
Beiträge zu localization
Es gibt über 800 Cloud + AI Localization Community-Mitglieder, die die Microsoft Localization Community Platform (MLCP) nutzen, mit über etwa 100 aktiven Mitwirkenden zu Visual Studio Code. Wir freuen uns über Ihre Beiträge, sei es durch neue Übersetzungen, das Abstimmen über Übersetzungen oder das Vorschlagen von Prozessverbesserungen.
Hier ist eine Momentaufnahme der Mitwirkenden. Details zum Projekt, einschließlich der Liste der Mitwirkenden, finden Sie auf der Projektseite unter https://aka.ms/vscodeloc.
- Bosnisch (Latein, Bosnien und Herzegowina): Sead Mulahasanović, Ismar Bašanović, Adnan Rizvan.
- Dänisch: Lasse Stilvang.
- Niederländisch: Lemuel Gomez, Gideon van de Laar.
- Englisch (Vereinigtes Königreich): Martin Littlecott, Alonso Calderon, Daniel Imms, Kamalsinh Solanki.
- Finnisch: Tuula P.
- Französisch: Antoine Griffard, Thierry DEMAN-BARCELÒ, Edouard Choinière, Joel Monniot, Rodolphe NOEL, Alain BUFERNE, Xavier Laffargue, DJ Dakta.
- Deutsch: Pascal Wiesendanger, Jakob von der Haar, jan-nitsche, Michael Richter.
- Griechisch: Valantis Kamayiannis, Θοδωρής Τσιρπάνης.
- Hebräisch: Ariel Bachar.
- Hindi: Kiren Paul, Niraj Kumar, Preeti Madhwal, Jaadu Jinn, Mahtab Alam.
- Ungarisch: József Cserkó, Kiss Attila Csaba, Krisztián Papp.
- Chinesisch (vereinfacht): Yizhi Gu, Tingting Yi, Justin Liu, Charles Dong, Peng Zeng, Tony Xia, 斌 项, Yixing Zheng, paul cheung, 普鲁文, Sheng Jiang, 钟越, Joel Yang, 一斤瓜子, Zhiqiang Li, Yiting hu, Alexander ZHANG, 张锐, Libing Yang, ZHENGCHENG CHEN, 光宇 朴, 石岩 詹, 舜杰 杨, WJ Wang, Siam Chen.
- Chinesisch (traditionell): Winnie Lin, 船長, Alan Tsai, TingWen Su.
- Indonesisch: Eriawan Kusumawardhono, Arif Fahmi, Laurensius Dede Suhardiman, Christian Elbrianno.
- Italienisch: Alessandro Alpi, Luigi Bruno.
- Japanisch: Takayuki Fuwa, 貴康 内田, Kyohei Uchida, Koichi Makino, TENMYO Masakazu, Aya Tokura.
- Koreanisch: Hongju.
- Lettisch: Andris Vilde.
- Norwegisch: Frode Aarebrot, Anders Stensaas, Thomas Ødegård, Thomas Isaksen.
- Polnisch: Makabeus Orban, Wojciech Maj, Kacper Łakomski, Oskar Janczak, Szymon Seliga, Mateusz Redynk, Franx Bar.
- Portugiesisch (Brasilien): Marcelo Fernandes, Albert Tanure, Arthur Lima, Nylsinho Santos, Pudda, Matheus Vitti Santos, Rodrigo Crespi, Roberto Fonseca, Felipe Nascimento.
- Portugiesisch (Portugal): Francisco Osorio, Luís Chaves, Ricardo Sousa Vieira, João Fernandes.
- Rumänisch: LaServici, Dan Ichim.
- Russisch: Vadim Svitkin.
- Serbisch Kyrillisch: Dusan Milojkovic.
- Spanisch: José María Aguilar, Gustavo Gabriel Gonzalez.
- Tamil: MUTHU VIJAY, Sankar Raj, Kadhireshan S, Pandidurai R, Madhu Chakravarthy, Madhu Maha.
- Türkisch: Mehmet Yönügül, mehmetcan Gün, Misir Jafarov, Fırat Eşki, Gökberk Nur, Safa Selim.
- Ukrainisch: Arthur Murauskas, Oleksandr Krasnokutskyi.
- Vietnamesisch: Dat Nguyen, Vương, Dao Ngo, Van-Tien Hoang, ng-hai.