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

Juli 2024 (Version 1.92)

Update 1.92.1: Das Update behebt diese Probleme.

Update 1.92.2: Das Update behebt diese Probleme.

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


Willkommen zur Juli 2024-Version von Visual Studio Code. Es gibt viele Updates in dieser Version, die Ihnen hoffentlich gefallen werden. Einige der wichtigsten Highlights sind:

Wenn Sie diese Release Notes online lesen möchten, gehen Sie zu Updates auf code.visualstudio.com. Insiders: Möchten Sie neue Funktionen so schnell wie möglich ausprobieren? Sie können den nächtlichen Insiders-Build herunterladen und die neuesten Updates ausprobieren, sobald sie verfügbar sind.

Barrierefreiheit

Verbesserte Debugging-Erfahrung

Dialogfelder für Barrierefreiheitshilfe

Wir haben Dialogfelder für die Barrierefreiheitshilfe für die Ansicht "Ausführen und Debuggen" und die Debugkonsole hinzugefügt. Sie erhalten einen Hinweis zum Öffnen des zugänglichen Hilfedialogs, wenn eine der Ansichten den Fokus hat. Konfigurieren Sie diesen Hinweis über die Einstellung accessibility.verbosity.debug.

Zugängliche Ansicht der Debugkonsole

Führen Sie den Befehl Zugängliche Ansicht öffnen (⌥F2 (Windows Alt+F2, Linux Shift+Alt+F2)) aus, um den Inhalt der Debugkonsole Zeichen für Zeichen, Zeile für Zeile zu inspizieren.

Die Einstellung debug.autoExpandLazyVariables ist jetzt im Bildschirmleser-optimierten Modus aktiviert, um sofortigen Zugriff auf Variablenwerte zu ermöglichen.

Wenn ein Ausdruck in der Debugkonsole ausgewertet wird, wird sein Wert nun für Bildschirmleserbenutzer angekündigt.

Dynamische Ankündigung von Watch-Variablen

Beim Debuggen mit aktiviertem Bildschirmleser hören Sie nun, wenn sich die Werte von Watch-Variablen ändern. Konfigurieren Sie dies mit accessibility.debugWatchVariableAnnouncements.

Konfigurieren Sie Tastenkombinationen Aktion

Im vorherigen Meilenstein haben wir eine Aktion zum Konfigurieren nicht zugewiesener Tastenkombinationen im Dialogfeld für Barrierefreiheitshilfe eingeführt. Wir haben nun den Befehl Zugewiesene Tastenkombinationen konfigurieren (⌥A (Windows, Linux Alt+A)) hinzugefügt, um diese Aktion zu ergänzen.

Workbench

Panel nach oben verschieben

Sie können das Panel nun am oberen Rand des Fensters, oberhalb des Editorbereichs, positionieren. Standardmäßig befindet sich das Panel unten und enthält Ansichten wie das Terminal, das Ausgabefenster und die Debugkonsole. Diese Verbesserung ergänzt die vorhandenen Optionen, das Panel links, rechts und unten zu positionieren.

Profile-Editor Vorschau

In diesem Meilenstein haben wir die Verbesserung des Profile-Editors fortgesetzt, indem wir ihn benutzerfreundlicher gestaltet und ein Erscheinungsbild erzielt haben, das mit dem des Einstellungen-Editors konsistent ist.

Profiles Editor showing all user profiles and their settings.

Der Profile-Editor ist als experimentelles Feature hinter der Einstellung workbench.experimental.enableNewProfilesUI verfügbar. Sobald er aktiviert ist, können Sie den Profile-Editor über das Zahnradsymbol für Einstellungen in der unteren linken Ecke des Fensters aufrufen.

Settings menu showing the Profiles menu item to open the Profiles Editor.

Vorhandenes Profil überschreiben

Sie können nun ein vorhandenes Profil, einschließlich des Standardprofils, überschreiben, indem Sie ein neues Profil mit demselben Namen erstellen.

Verbesserte Erweiterungsaktualisierungserfahrung

Wir haben mehrere Verbesserungen an der Erweiterungsaktualisierung vorgenommen, um Ihnen mehr Kontrolle über die Aktualisierung von Erweiterungen zu geben und die Verwaltung der automatischen Aktualisierung von Erweiterungen zu erleichtern.

Automatische Aktualisierung aller Erweiterungen

Wir haben die globale Aktion zur automatischen Erweiterungsaktualisierung im Titelbereich der Erweiterungsansicht in Automatische Aktualisierung für alle Erweiterungen aktivieren und Automatische Aktualisierung für alle Erweiterungen deaktivieren umbenannt. Mit diesen Aktionen können Sie die automatische Aktualisierung für alle Erweiterungen gleichzeitig aktivieren oder deaktivieren.

Manage Auto Updating Extensions.

Automatische Aktualisierung einzelner Erweiterungen

Wir haben die Erfahrung bei der automatischen Aktualisierung einzelner Erweiterungen verbessert, indem wir die Aktion zum Aktivieren oder Deaktivieren der automatischen Aktualisierung für die Erweiterung immer anzeigen. Dies erleichtert die Verwaltung der automatischen Aktualisierung von Erweiterungen.

Auto update configuration per extension.

Automatische Aktualisierung für über VSIX installierte Erweiterungen deaktivieren

Wenn Sie eine Erweiterung über VSIX installieren, ist die automatische Aktualisierung für diese Erweiterung standardmäßig deaktiviert. Dadurch können Sie mit der installierten Version der Erweiterung arbeiten, ohne dass diese automatisch aktualisiert wird.

Mehr Kontrolle über die Aktualisierung von Erweiterungen

Die Zustimmung des Benutzers ist nun erforderlich, wenn Sie die installierte Version einer Erweiterung, die keinen ausführbaren Code enthält, auf eine Version mit ausführbarem Code aktualisieren. Dies gibt Ihnen die Kontrolle, solche Updates zu überprüfen, bevor sie angewendet werden. Das folgende Video demonstriert die Erfahrung beim Aktualisieren einer Erweiterung ohne Code auf eine Version mit Code.

Durch Auswahl der Schaltfläche Überprüfen wird das Änderungslog der Erweiterung oder das Repository der Erweiterung im Browser geöffnet. Sie können die Änderungen überprüfen und dann entscheiden, ob Sie die Erweiterung aktualisieren möchten.

Problem mit dem Sprung im Einstellungen-Editor behoben

Der Einstellungen-Editor sprang zuvor nach dem Ändern einer Einstellung und wechselte den Fokus zu einer anderen. Dieser Sprung war umso schlimmer, je mehr man scrollte, bevor man eine Einstellung änderte. Wir haben die Art und Weise geändert, wie der Einstellungen-Editor Einstellungen nach der Änderung neu rendert, und der Einstellungen-Editor springt nach dem Ändern einer Einstellung nicht mehr.

Thema: Light Pink (Vorschau auf vscode.dev)

URL-Behandlung für Einstellungen

VS Code kann nun "settings"-URLs im Format vscode://settings/setting.name (vscode-insiders://settings/setting.name für Insiders und code-oss für die OSS-Version) verarbeiten und öffnet den Einstellungen-Editor für die angegebene Einstellung. Wenn keine Einstellung angegeben ist, wird der Einstellungen-Editor weiterhin geöffnet. Wenn ein Anker-Tag mit einer Einstellungs-URL in den Versionshinweisen verwendet wird und die Versionshinweise in VS Code geöffnet sind, erfolgt eine spezielle Behandlung und Darstellung, wie in der vorherigen codesetting-Funktion beschrieben.

Setting URL in release notes

Eine neue Einstellung workbench.externalBrowser ermöglicht es Ihnen, den Browser zu konfigurieren, der zum Öffnen von Links verwendet werden soll. Standardmäßig wird der Standardbrowser des Betriebssystems verwendet. Sie können diese Einstellung pro Arbeitsbereich konfigurieren, und sie ist auch mit der Einstellungen-Synchronisation synchronisiert.

Geben Sie den vollständigen Pfad zur Browser-Executable als Einstellungswert an. Alternativ können Sie zur Sicherstellung der korrekten Funktion auf verschiedenen Geräten auch Browser-Aliase wie edge, chrome oder firefox verwenden.

Configure the browser to open links.

Automatische Dateiöffnung beim Ziehen und Ablegen deaktivieren

Zuvor wurde beim Ziehen und Ablegen einer Datei in den Explorer diese auch automatisch im Editor geöffnet. In einigen Fällen kann dies unerwünscht sein. Eine neue Einstellung explorer.autoOpenDroppedFile ermöglicht es Ihnen, dieses Verhalten zu umschalten. Standardmäßig wird die Datei beim Ziehen und Ablegen weiterhin geöffnet, aber wenn sie auf false gesetzt ist, wird dieses Verhalten deaktiviert.

Editor

Verbesserungen bei der Glühbirnen-Steuerung

Manchmal konnte die Glühbirnen-Steuerung den Code im Editor blockieren. Um dem abzuhelfen, haben wir eine verbesserte Heuristik für die Glühbirnen-Steuerung eingeführt, die die Glühbirne im Randbereich anzeigt, wenn kein Platz vorhanden ist, anstatt den Code im Editor zu blockieren.

Lightbulb overlaps with code (left) versus positioned in the gutter (right).

Sie können die Glühbirnen-Steuerung im Editor mit der Einstellung editor.lightbulb.enabled umschalten.

Diff-Editor

Kompaktere Diffs im Chat

Wir haben das Layout des Diff-Editors in der Chat-Ansicht/Inline-Chat überarbeitet und ihn kompakter gestaltet.

Vorher:

Previous diff editor layout, which is less compact.

Nachher:

More compact diff editor layout.

Quellcodeverwaltung

Graph für eingehende/ausgehende Änderungen

In diesem Meilenstein ermöglichen wir die Visualisierung eingehender und ausgehender Änderungen mithilfe eines Graphen. Der Graph enthält den aktuellen Branch, den Upstream-Branch des aktuellen Branches und einen optionalen Basis-Branch. Die Wurzel des Graphen ist der gemeinsame Vorfahre dieser Branches.

Wir haben mehrere Verbesserungen am Hover für Verlaufs-Elemente vorgenommen

  • Mehrfachauswahl aktiviert, um Änderungen über mehrere Verlaufs-Elemente desselben Branches hinweg anzuzeigen.
  • Optionen zum ...-Menü hinzugefügt, um Verlaufs-Elemente von Remote-/Basis-Branches zu filtern.
  • Aktionen zum Abrufen (fetch), Ziehen (pull) und Pushen von Verlaufs-Elementen hinzugefügt.

Probieren Sie es aus und lassen Sie uns wissen, was Sie davon halten!

Sie können die Graph-Visualisierung von eingehenden/ausgehenden Änderungen deaktivieren, indem Sie die Einstellung scm.showHistoryGraph umschalten.

Source control view showing a graph visualization of the incoming and outgoing changes.

Terminal Shell-Integration

Die Quellcodeverwaltung-Ansicht wird nach jeder Operation der Quellcodeverwaltung sowie nach Dateisystemereignissen, die auf bestimmte Dateien/Ordner beschränkt sind, aktualisiert. Wenn ein Git-Befehl im integrierten Terminal ausgeführt wird, kann es zu einer Verzögerung zwischen dem Abschluss des Befehls und der Aktualisierung der Quellcodeverwaltung-Ansicht kommen. Um diese Verzögerung zu reduzieren, verwenden wir ab diesem Meilenstein die Terminal-Shell-Integrations-API, um den erfolgreichen Abschluss verschiedener Git-Befehle (z. B. add, checkout, commit, fetch, pull, push und mehr), die im integrierten Terminal ausgeführt werden, zu erkennen und die Quellcodeverwaltung-Ansicht zu aktualisieren.

Notebooks

Mehrfachzellen-Kommentierung

Der Notebook-Editor unterstützt nun das Umschalten von Kommentaren für eine oder mehrere Zellen gleichzeitig. Tun Sie dies, indem Sie einen oder mehrere Zellen-Container auswählen und dann die Tastenkombination ⌘/ (Windows, Linux Ctrl+/) verwenden.

Terminal

Neue Scrollleiste

Die Scrollleiste im Terminal sieht nun genauso aus wie die Scrollleiste im Editor.

The terminal scroll bar now looks just like the editor's scroll bar

Die Übersichtsleiste ist wie zuvor, mit erfolgreichen Befehlen links, Suchergebnissen in der Mitte und fehlgeschlagenen Befehlen rechts. Aber jetzt richtet sie sich perfekt an der Scrollleisten-Regler aus.

Debuggen

Variablentypen beim Debuggen anzeigen

VS Code zeigt nun die Datentypen von Variablen beim Debuggen an, wenn die Einstellung debug.showVariableTypes aktiviert ist.

Show variable data types in the Variables section while debugging.

Sprachen

VS Code kann Ihnen nun helfen, Textabschnitte zwischen Markdown-Dokumenten zu verschieben, indem es Links in kopiertem und eingefügtem Text aktualisiert. Mit dieser Funktion repariert VS Code alle relativen Pfadlinks, Referenzlinks und alle Bilder/Videos mit relativen Pfaden, damit sie im neuen Dokument funktionieren.

Diese Funktion wird immer dann ausgelöst, wenn Sie Text mit Links zwischen zwei Markdown-Dateien kopieren und einfügen. Wenn Links aktualisiert werden können, sehen Sie nach dem Einfügen das Einfüge-Widget. Wählen Sie Einfügen und eingefügte Links aktualisieren, und VS Code korrigiert die Links für Sie.

Sie können diese Funktion vollständig deaktivieren, indem Sie markdown.updateLinksOnPaste auf false setzen.

Dateien in CSS einfügen und ablegen

Müssen Sie ein Bild in Ihrem CSS verwenden? Jetzt können Sie schnell eine url()-Referenz einfügen, indem Sie die Bilddatei einfach in den CSS-Editor ziehen und ablegen oder kopieren und einfügen.

Remote-Entwicklung

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

Zu den Highlights gehören

  • GPG Keyboxd-Unterstützung
  • Lokale Portbereichskonfiguration

Sie können mehr über diese Funktionen in den Remote Development Versionshinweisen erfahren.

Beiträge zu Erweiterungen

GitHub Copilot

GPT-4o Upgrade für Copilot Chat

Wir haben die Copilot Chat-Ansicht von GPT-4-Turbo auf GPT-4o, das bisher leistungsfähigste Modell von OpenAI, aufgerüstet. Unsere Experimente zeigen, dass GPT-4o die Coding-Fähigkeiten von Copilot erheblich verbessert und schnellere, genauere und qualitativ hochwertigere Code- und Erklärungen direkt in Ihrem Editor liefert. Dies wurde während der Einführung deutlich, da Entwickler die Copilot Chat-Ansicht zunehmend nutzten und mehr seiner Codevorschläge übernahmen.

Wir experimentieren ständig, um die besten Modelle für verschiedene Aufgaben zu identifizieren und Leistung und Fähigkeit abzuwägen, während wir uns für Qualität, Sicherheit und Zuverlässigkeit einsetzen. Weitere Details zur Einführung von GPT-4o in GitHub Copilot finden Sie im GitHub Changelog.

Öffentliche Code-Übereinstimmungen im Chat

Sie können GitHub Copilot erlauben, Code zurückzugeben, der mit öffentlich verfügbarem Code auf GitHub.com übereinstimmen könnte. Wenn diese Funktionalität für Ihr Organisationsabonnement oder Ihr persönliches Abonnement aktiviert ist, liefern Code-Vervollständigungen von Copilot bereits Details zu den erkannten Übereinstimmungen. Wir arbeiten daran, Ihnen diese Übereinstimmungen für öffentlichen Code auch in Copilot Chat anzuzeigen.

Wir führen dies schrittweise für Copilot Chat-Benutzer ein. Sobald es für Ihren Rechner aktiviert ist, sehen Sie möglicherweise eine Nachricht am Ende der Antwort mit einem Link Übereinstimmungen anzeigen. Wenn Sie auf den Link klicken, öffnet sich ein Editor, der Ihnen die Details der übereinstimmenden Codeverweise mit weiteren Einzelheiten anzeigt.

Chat code referencing example.

Anhänge in Chat-Anfragen

Copilot Chat unterstützt das Hinzufügen expliziter Anhänge zu Ihrer Chat-Anfrage über den Befehl Kontext anhängen (⌘/ (Windows, Linux Ctrl+/)). Diese werden nun als Teil der übermittelten Chat-Anfragen im Chat-Verlauf gerendert. Das Auswählen eines Dateianhangs öffnet die entsprechende Datei und den Bereich im Editor.

Attachments in chat requests

Zusätzlich machen wir es nun klarer, wenn große explizite Anhänge, die das Kontextfenster überlaufen, teilweise oder vollständig aus der Anfrage weggelassen wurden.

Warning and hover for large attachments

Verbesserungen bei /new

Wir haben den Slash-Befehl /new aktualisiert, um die schnelle Dateigenerierung zu unterstützen. Sie können Copilot während der Erstellung von Dateien oder Projekten zusätzlichen Kontext liefern, indem Sie Chat-Variablen wie #selection verwenden. Zusätzlich wurde /new erweitert, um das Speichern der generierten Dateien und Ordner in einem vorhandenen Arbeitsbereich zu ermöglichen.

Create a new single file with /new in Copilot Chat.

Zugriff auf VS Code-Befehle über den Chat

Ein neuer Slash-Befehl im @vscode Chat-Teilnehmer, /runCommand, ermöglicht es Ihnen, einen Kern-VS Code-Befehl zu suchen und auszuführen. Zum Beispiel zum Umschalten der Entwicklertools.

Toggle Developer Tools with the /runCommand slash command in Copilot Chat.

Sie können diesen neuen Slash-Befehl mit github.copilot.chat.runCommand.enabled aktivieren.

Python

Verbesserte Python-Erkennung mit python-environment-tools

In der letzten Version haben wir die Python-Umgebungstools angekündigt, die die Python-Erkennungsinfrastruktur mit Fokus auf Leistung neu gestaltet haben. Dieser Ansatz reduziert die Notwendigkeit, Python-Binärdateien auszuführen, um Informationen abzurufen, und verbessert somit die Leistung.

Ab dieser Version rollen wir diese Verbesserung als Teil eines Experiments aus. Wenn Sie daran interessiert sind, dies auszuprobieren, können Sie "python.locator" auf "native" in Ihrer Benutzer-settings.json einstellen und Ihr VS Code-Fenster neu laden. Besuchen Sie das python-environment-tools Repo, um mehr über diese Funktion, laufende Arbeiten und Feedback zu erfahren.

Anzeige des Ausführungsstatus für native REPL

Die experimentelle native REPL ("python.REPL.sendToNativeREPL": true) zeigt nun eine Erfolgs-/Fehler-UI an, ähnlich wie bei einer Jupyter-Zelle, je nach Ausführungsergebnis. Darüber hinaus haben wir Verbesserungen vorgenommen, sodass wir keine leere Zeile mehr in Zellen anzeigen, die keine Ausgabe erzeugen.

Inline-Variablenwerte im Quellcode

Die Erweiterung Python Debugger hat eine Inline-Werte-Funktion eingeführt, um Ihre Python-Debugging-Erfahrung zu verbessern. Mit Inline-Werten können Sie die Werte von Variablen inline im Editor, neben der entsprechenden Codezeile während einer Debugging-Sitzung, anzeigen. Dies hilft Ihnen, den Zustand Ihres Programms schnell zu verstehen, ohne mit der Maus über Variablen fahren oder den Variablenbereich in der Ansicht "Ausführen und Debuggen" überprüfen zu müssen.

Show Python Inline Variables.

Um diese Funktion zu aktivieren, setzen Sie den Konfigurationswert debugpy.showPythonInlineValues in Ihren Benutzereinstellungen auf true.

Hinweis: Diese Funktion befindet sich derzeit in einem Erkundungsstadium und wird noch weiter verbessert. Bitte geben Sie Ihr Feedback im vscode-python-debugger Repo ab!

Verbesserte Debug-Willkommensansicht

Die Debug-Willkommensansicht enthält nun eine Schaltfläche für schnellen Zugriff auf automatische Python-Konfigurationen, wenn eine Python-Datei im Editor geöffnet ist.

GitHub Pull Requests und Issues

Es gab weitere Fortschritte bei der GitHub Pull Requests-Erweiterung, die es Ihnen ermöglicht, Pull Requests und Issues zu bearbeiten, zu erstellen und zu verwalten. Neue Funktionen umfassen

  • Pull Requests zurückrollen mithilfe der Schaltfläche Zurückrollen in der Pull Request-Beschreibung von zusammengeführten PRs
  • PRs, deren Branch gelöscht wurde, können nun in der Pull Requests-Ansicht angezeigt werden.
  • Die Aktion Pull Request auf GitHub.com öffnen wird auch dann angezeigt, wenn Sie mehrere PRs ausgecheckt haben.

Überprüfen Sie das Changelog für die Version 0.94.0 der Erweiterung, um mehr über die anderen Highlights zu erfahren.

Erweiterungs-Authoring

Basische Authentifizierung für Netzwerproxys

Erweiterungen, die das Node.js-Modul https verwenden, können nun Netzwerproxys verwenden, die eine grundlegende Authentifizierung erfordern.

Vorschau-Features

Echte Inline-Diffs

In dieser Iteration haben wir die Einstellung diffEditor.experimental.useTrueInlineView (standardmäßig deaktiviert) eingeführt. Wenn Sie diese Einstellung aktivieren und die Inline-Ansicht verwendet wird, werden einzeilige Änderungen inline gerendert.

True Inline View in the diff editor.

So sieht die Inline-Ansicht ohne dieses experimentelle Flag aus

Default Inline View in the diff editor.

Diese Funktion ist experimentell und zukünftige Änderungen sind zu erwarten.

VS Code-native IntelliSense für PowerShell

Die experimentelle VS Code-native PowerShell IntelliSense-Funktion hat in dieser Version einige signifikante Verbesserungen erfahren. Um diese Funktion unter Windows oder macOS zu aktivieren:

"terminal.integrated.suggest.enabled": true

Zusätzlich zur Tatsache, dass die Funktion viel zuverlässiger ist, wurden viele weitere Verbesserungen vorgenommen, wie unten gezeigt.

Vervollständigungen werden nicht abgeschnitten

Vervollständigungen zeigen nun *genau* das an, was eingegeben wird, anstatt eine abgeschnittene Version. Wenn Sie beispielsweise nach Verzeichnisnamen suchen, wird das .\ nun eingeschlossen und korrekt hervorgehoben.

Vorher:

Before the completion for "src" would show "src"

Nachher:

After the completion for "src" would show ".\src"

Optimierte Vervollständigungen für die Navigation in Verzeichnissen

Verzeichnisnamen enthalten nun einen abschließenden \ oder /, der beim Vervollständigen die Vervollständigungen für das neue Verzeichnis aktualisiert.

Enter-Verhalten konfigurieren

Die neue Einstellung terminal.integrated.suggest.runOnEnter ermöglicht es Ihnen, das Enter-Verhalten zu konfigurieren, um den Befehl auszuführen, wenn bestimmte Bedingungen erfüllt sind. Die folgenden Werte sind verfügbar:

  • "always": Immer bei Enter ausführen.
  • "exactMatch": Bei Enter ausführen, wenn die Vervollständigung exakt eingegeben wurde.
  • "exactMatchIgnoreExtension" (Standard): Bei Enter ausführen, wenn die Vervollständigung exakt eingegeben wurde oder wenn ein Dateiname ohne Erweiterung eingegeben wurde.
  • "never" (altes Verhalten): Niemals bei Enter ausführen.

Diese Änderung ist besonders wichtig, um keine bestehenden Muskelgedächtnisse zu brechen, da dies oft zu denselben Tastenschlägen führt wie ohne aktivierte Funktion. Ein Beispiel, bei dem dies nützlich ist, ist das Ausführen von cd ... Vor dieser Änderung müssten Sie cd ..<enter><enter> eingeben, aber jetzt ist es ein einzelnes Enter, dank dieser neuen Einstellung.

Verbesserte Dateivervollständigungen

Dateivervollständigungen werden nun sortiert nach Dateinamenlänge aufsteigend, Dateiname alphabetisch und dann Dateierweiterung alphabetisch. Dateivervollständigungen, die als Befehle (nicht als Argumente) ausgeführt werden, erhalten nun ebenfalls einen Schub, abhängig von ihrer Dateierweiterung und dem aktuellen Betriebssystem. Zum Beispiel werden .ps1, .bat und .cmd Dateien unter Windows einen Schub erhalten, was sie weiter oben in der Liste erscheinen lässt.

Results are now sorted by extensions with platform-specific boosts

Diese Änderungen verbessern nicht nur die Relevanz des obersten Elements, sondern helfen auch dem Muskelgedächtnis, indem sie das Verhalten näher an die native PowerShell-Tab-Vervollständigung anpassen. Zum Beispiel ist ein Befehl, der häufig in der VS Code-Codebasis unter Windows ausgeführt wird, ./scripts/code.bat. Mit diesen Änderungen vervollständigt und führt ./sc<tab>/c<enter> ./scripts/code.bat aus.

Globales Cache für Vervollständigungen

Globale Vervollständigungen für Befehle werden über Sitzungen hinweg gecacht, was die Leistung beim Starten der Shell erheblich verbessert. Dies behebt auch ein Problem, bei dem Vervollständigungen für wiederverknüpfte Terminals nicht korrekt funktionierten. Derzeit können diese durch Ausführen des Befehls Terminal: Suggest Cache löschen gelöscht und neu geladen werden. Gemessen auf einem Intel i7-12700KF reduzierte dies die Aktivierungszeit für Shell-Integration von ca. 600 ms auf ca. 50 ms.

Integrierte Terminal-Vervollständigungen in PowerShell

Wir liefern nun integrierte Vervollständigungen für git. Diese basieren auf denen aus dem posh-git-Projekt, aber mit einigen allgemeinen und VS Code-spezifischen Verbesserungen. Hier ist ein Beispiel für die Vervollständigungen in Aktion:

Einige der anderen Verbesserungen sind:

  • Aliase zeigen ihren erweiterten Status rechts an

    Aliases show their expanded state on the right

  • Git-spezifische Symbole für Branches, Tags, Stashes und Remotes

    Branches and tabs have their own icon beside the completions

  • Unterbefehlsbeschreibungen rechts

    Subcommands like 'checkout' show their description on the right

Wir liefern auch integrierte Vervollständigungen für code und code-insiders, obwohl diese sehr einfach sind und in zukünftigen Versionen verbessert werden.

code now shows basic completions for everything in code --help

Diese Vervollständigungen können mit denen aus anderen PowerShell-Modulen in Konflikt geraten. Sie können sie mit der folgenden Einstellung deaktivieren:

"terminal.integrated.suggest.builtinCompletions": {
  "pwshCode": false,
  "pwshGit": false
}

Unterstützung für TypeScript 5.6

Diese Version enthält Unterstützung für die kommende TypeScript 5.6-Version. Schauen Sie sich den TypeScript 5.6 Iterationsplan an, um Details zu den Inhalten dieser Version zu erfahren.

Um Vorschauversionen von TypeScript 5.6 zu verwenden, installieren Sie die TypeScript Nightly extension. Teilen Sie uns Ihr Feedback mit und lassen Sie uns wissen, wenn Sie auf Fehler bei TypeScript 5.6 stoßen.

Vorgeschlagene APIs

QuickInputButtonLocation zum Anzeigen von Schaltflächen rechts neben der Eingabe

In diesem Meilenstein haben wir eine vorgeschlagene API für QuickInputButton eingeführt, die es Erweiterungen ermöglicht zu wählen, wo sie eine Schaltfläche rendern möchten. Die Optionen sind:

  • Title: Dies rendert die Schaltfläche in der Titelleiste des Quick Pick. Dies ist das Standardverhalten und erhält das bestehende Verhalten von Schaltflächen bei.
  • Inline: Dies rendert die Schaltfläche rechts neben dem Eingabefeld. Dies ist nützlich, wenn Sie die Titelleiste nicht für etwas anderes verwenden möchten, aber Schaltflächen anzeigen möchten.

Diese Funktionalität wurde in der Branch erstellen-Eingabeaufforderung der Git-Erweiterung übernommen, die Sie mit git.branchRandomName.dictionary aktivieren können.

Schauen Sie sich vscode#221397 für weitere Informationen und Updates an.

Testverbesserungen

Code mit Tests verknüpfen

Wir arbeiten an einer API, die es einer Erweiterung ermöglicht, Code mit Tests zu verknüpfen und umgekehrt. Dies ermöglicht es Benutzern, zwischen beiden zu springen und Aktionen wie Tests am Cursor ausführen auch in Implementierungscode zu ermöglichen. Wir erwarten, dass wir weitere Erfahrungen aufbauen, wenn sich die API entwickelt.

Schauen Sie sich vscode#126932 für weitere Informationen und Updates an.

Aufruflisten bei Testfehlern

Wir arbeiten an einer API, die es ermöglicht, eine reichhaltige Aufrufliste mit Unit-Testfehlern zu verknüpfen. Dies ermöglicht es Benutzern, auf einen Blick zu sehen, welcher Code zu ihrem Fehler geführt hat.

Schauen Sie sich vscode#214488 für weitere Informationen und Updates an.

Zurechenbare Testabdeckung

Wir arbeiten an einer API zur Zurechnung der Testabdeckung pro Test. Dies ermöglicht es Benutzern zu sehen, welche Tests welchen Code ausgeführt haben, und sowohl die im Editor angezeigte Abdeckung als auch die in der Ansicht Testabdeckung zu filtern.

Schauen Sie sich vscode#212196 für weitere Informationen und Updates an.

Such-APIs

In den letzten Monaten haben wir an der Finalisierung von drei vorgeschlagenen Such-APIs gearbeitet:

  • FindTextInFiles: Text in Arbeitsbereichdateien mithilfe der Textsuche von VS Code finden.
  • FileSearchProvider: Dateisuchergebnisse für benutzerdefinierte Dateischemata bereitstellen, die mit der vorhandenen Suchfunktionalität von VS Code nicht richtig durchsucht werden können. Beispielsweise könnten von Erweiterungen bereitgestellte Ergebnisse beim Suchen in der Schnellsuche innerhalb eines virtuellen Dateisystems angezeigt werden.
  • TextSearchProvider: Ähnlich wie FileSearchProvider, aber für Textsuchergebnisse. Zum Beispiel könnten von Erweiterungen bereitgestellte Ergebnisse beim Suchen in der Suchansicht innerhalb eines virtuellen Dateisystems angezeigt werden.

Darüber hinaus überarbeiten wir die workspace.findFiles API, die die Dateisuchfunktion des VS Code-Arbeitsbereichs zum Finden von Dateien verwendet. Die neue Version sollte mehr Optionen bieten und Ausschlussoptionen klarer handhaben. Die bestehende Funktionssignatur sollte auch nach der Einführung der überarbeiteten Version weiterhin funktionsfähig sein.

Diese Tabelle veranschaulicht, wie die verschiedenen APIs zusammenhängen.

Verwendung von API zum Finden Verwendung von API zum Bereitstellen von Ergebnissen
Für Dateien Dateien finden FileSearchProvider
Für Text in Dateien FindTextInFiles TextSearchProvider

Wenn Sie interessiert sind, besuchen Sie die obigen Links, um Feedback zu geben!

Webseite

Wir haben das Design der VS Code-Website überarbeitet und Unterstützung für helle und dunkle Designs hinzugefügt.

VS Code website light mode.

Das neue Design der Website verwendet standardmäßig das Thema Ihres Systems (heller oder dunkler Modus), und Sie können es auch manuell umschalten, indem Sie das Sonnen-/Mondsymbol oben rechts verwenden.

VS Code website dark mode.

Wir freuen uns auf Ihr Feedback! Reichen Sie Feature-Anfragen oder Fehler im vscode-docs Repo ein.

Technik

Markdown-Sprachserver in ein separates Repository verschieben

Wir haben den Sprachserver, der das integrierte Markdown-IntelliSense von VS Code unterstützt, in ein eigenes Repository verschoben. Zuvor wurde dieses Projekt aus einem Unterordner des Haupt-VS Code-Repositorys veröffentlicht. Diese Änderung erleichtert den Beitrag zum Projekt.

Das Projekt wird weiterhin unter demselben Namen auf npm veröffentlicht: vscode-markdown-languageserver.

Fortschritt bei der Verwendung von ESM für VS Code

In diesem Meilenstein haben wir die Arbeit zur Übernahme von ESM für den VS Code-Kern wieder aufgenommen. Unser Ziel ist es, zukünftig ECMAScript-Module (ESM) zu laden und AMD vollständig abzuschaffen. Dies ist eine Anstrengung über mehrere Meilensteine hinweg, die das Laden und Bündeln von Code insgesamt modernisieren wird.

xterm.js, das von VS Code abhängt

Der neue Scrollbalken im Terminal erforderte erhebliche interne Arbeit. Das Terminal in VS Code basiert auf dem xterm.js OSS-Projekt und wird in seiner kommenden Version auch einen kleinen Teil der Codebasis von VS Code ausliefern, insbesondere Teile des Ordners base/.

Update auf Electron 30

In diesem Meilenstein stellen wir das Electron 30-Update für Benutzer unserer stabilen Version bereit. Dieses Update enthält Chromium 124.0.6367.243 und Node.js 20.14.0. Wir danken allen, die auf den Insiders-Builds selbst gehostet und frühzeitig Feedback gegeben haben.

Hinweis auf eine API-Änderung, die beim Starten von .bat- oder .cmd-Dateien zu Problemen führen kann

Die Node-Version mit diesem Electron-Update enthält eine problematische Änderung als Reaktion auf eine CVE, die Sie betreffen kann, wenn Sie .bat- oder .cmd-Dateien unter Windows ausführen. Sie können die von Node.js festgelegten Richtlinien befolgen, wenn Sie diese Dateien mit der Option shell starten.

Wir haben proaktiv Erweiterungen benachrichtigt, die möglicherweise betroffen sind, basierend auf einer einfachen Quellcode-Analyse. Es ist jedoch möglich, dass wir Ihre nicht erfasst haben. Wenn Sie betroffen sind, erhalten Sie eine EINVAL-Ausnahme beim Starten von .bat- oder .cmd-Dateien unter Windows. Bitte beachten Sie die Node.js-Dokumentation für Anleitungen, wie Sie damit umgehen.

Wir empfehlen Erweiterungsautoren, ihre Erweiterungen immer mit unserer Insiders-Version zu testen, um diese Änderungen im Voraus zu erkennen.

Bemerkenswerte Fehlerbehebungen

  • 211199 Strg+c im Terminal scrollt nicht ganz nach unten, wenn das reibungslose Scrollen aktiviert ist

Vielen Dank

Last but not least, ein großes Danke an die Mitwirkenden von VS Code.

Fehlerverfolgung

Beiträge zu unserer Fehlerverfolgung

Pull-Anfragen

Beiträge zu vscode

Beiträge zu vscode-black-formatter

Beiträge zu vscode-hexeditor

Beiträge zu vscode-languageserver-node

Beiträge zu vscode-markdown-tm-grammar

Beiträge zu vscode-pull-request-github

Beiträge zu vscode-textmate

Beiträge zu debug-adapter-protocol

Beiträge zu language-server-protocol

Beiträge zu monaco-editor

Beiträge zu node-request-light

Beiträge zu python-environment-tools

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