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

Februar 2024 (Version 1.87)

Update 1.87.1: Dieses Update behebt die folgenden Probleme.

Update 1.87.2: Dieses Update behebt das folgende Sicherheitsproblem Problem.

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

Willkommen zur Februar 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

Verwenden Sie Spracheingabe im Editor

Sie können jetzt Ihre Stimme verwenden, um direkt in den Editor zu diktieren, vorausgesetzt, Sie haben die VS Code Speech-Erweiterung installiert.

Wir haben neue Befehle zum Starten und Stoppen der Spracheingabe im Editor hinzugefügt: Voice: Start Dictation in Editor (⌥⌘V (Windows, Linux Strg+Alt+V)) und Voice: Stop Dictation in Editor (Esc).

Sie können die Tastenkombination für den Startbefehl (⌥⌘V (Windows, Linux Strg+Alt+V)) gedrückt halten, um den Walkie-Talkie-Modus zu aktivieren. Dabei stoppt die Spracherkennung, sobald Sie die Tasten loslassen.

Hinweis: Die Spracheingabe funktioniert auch an anderen Stellen, an denen ein Rich-Editor verwendet wird, z. B. im SCM-Commit-Eingabefeld und im Kommentarfeld bei der Überprüfung von Pull-Anfragen.

Mehrsprachige Unterstützung für Spracherkennung

Wenn Sie die VS Code Speech-Erweiterung verwenden, können Sie jetzt aus 26 unterstützten Sprachen wählen, indem Sie die Einstellung accessibility.voice.speechLanguage verwenden.

Jede Sprache für die Spracherweiterung kommt als eigene Erweiterung. Wenn Sie die Spracherkennung zum ersten Mal starten, sehen Sie eine Erweiterungsinstallation für jede ausgewählte Sprache.

Barrierefreiheits-Signale

Barrierefreiheits-Signale umfassen sowohl Töne, früher als Audio-Hinweise bezeichnet, als auch Ankündigungen, früher als Alarme bezeichnet.

Die Befehle Help: List Signal Sounds und Help: List Signal Announcements ermöglichen es Benutzern, die verfügbaren Signale anzuzeigen und zu konfigurieren. Die Migration zu dieser neuen Konfiguration erfolgt automatisch.

Vorher

"audioCues.clear": "on | auto | off"
"accessibility.alert.clear": true | false

Nachher

"accessibility.signals.clear": {
    "sound": "auto | on | off",
    "announcement" (optional): "auto | off"
}

Workbench

Interaktive Einstellungen in den Release Notes

Um Ihnen den Einstieg in neue Funktionen zu erleichtern, können Sie eine Einstellung jetzt direkt aus den Release Notes aktivieren oder anzeigen. Wenn Sie die Release Notes innerhalb von VS Code anzeigen (Befehl Show Release Notes), bemerken Sie, dass einige Einstellungen ein Zahnradsymbol haben. Wählen Sie die Einstellung oder das Zahnradsymbol aus, um sofort mit der Einstellung zu interagieren.

Example of an interactive setting in release notes

Transparenz und Kontrolle des Zugriffs auf Sprachmodelle

In dieser Iteration haben wir eine vorgeschlagene API eingeführt, die Erweiterungen die Möglichkeit gibt, die Sprachmodelle von GitHub Copilot Chat zu nutzen. Um die größtmögliche Transparenz und Kontrolle über den Zugriff auf die Modelle zu gewährleisten, haben wir die folgenden Funktionen hinzugefügt.

Sprachmodellzugriff verwalten wie Sie Ihren Authentifizierungszugriff verwalten

Wir haben festgestellt, dass die Verwaltung des Zugriffs auf Sprachmodelle der Verwaltung des Zugriffs auf Ihr GitHub-Konto oder Microsoft-Konto (oder alles, was das AuthenticationProvider-Modell nutzt) in VS Code sehr ähnlich ist. Aufgrund dieser Ähnlichkeiten haben wir den Authentifizierungs-Stack von VS Code auch für den Zugriff auf Sprachmodelle genutzt.

Wenn eine Erweiterung auf die Sprachmodelle einer anderen Erweiterung zugreifen möchte, wird ihr ein einmaliges Aufforderungsfenster für den Zugriff angezeigt, das persistent gespeichert wird: Modal-Dialog, der eine Erweiterung anzeigt, die Zugriff auf Sprachmodelle benötigt

Sobald der Zugriff gewährt wurde, können Sie diesen Zugriff an derselben Stelle verwalten, an der Sie den Zugriff auf Ihre Konten verwalten, im Menü "Konto".

Manage trusted extensions options in the account menu

"Manage Trusted Extensions" führt Sie zu einer Schnellauswahl, wo Sie bei Bedarf den Zugriff verwalten können.

Manage trusted extensions quick pick

Mit der anfänglichen Arbeit werden wir die Erfahrung weiter verfeinern, damit sie so reibungslos und klar wie möglich ist.

Sprachmodellnutzung einer Erweiterung verfolgen

Sie können die Sprachmodellnutzung einer Erweiterung im Extension Editor und im Runtime Extensions Editor verfolgen. Die folgenden Bilder zeigen die Anzahl der Anfragen, die die Copilot Chat Sample Extension an das GitHub Copilot Chat Sprachmodell gestellt hat.

Tracking language model usage in extension editor

Tracking language model usage in running extensions editor

Editor

Editor Sticky Scroll

In dieser Iteration aktivieren wir Sticky Scroll im Editor standardmäßig. Sie können dies mit der Einstellung editor.stickyScroll.enabled ändern.

Wir haben auch die maximale Anzahl von Zeilen erhöht, die im Sticky-Widget des Editors angezeigt werden können, von 10 auf 20. Sie können die maximale Zeilenanzahl mit der Einstellung editor.stickyScroll.maxLineCount konfigurieren.

Inline-Vervollständigungen für mehrere Cursor

In dieser Iteration haben wir die Unterstützung für Multi-Cursor-Inline-Vervollständigungen hinzugefügt. Jetzt werden die Inline-Vervollständigungen an den primären und sekundären Cursorpositionen in der Vorschau angezeigt und angewendet.

Vorschau für Refactoring im Multi-Diff-Editor

Mit Refactor Preview können Sie die Änderungen überprüfen, die durch ein Code-Refactoring angewendet werden. Refactor Preview-Änderungen werden jetzt in einem Multi-Diff-Editor angezeigt, was es erleichtert, alle Änderungen auf einen Blick zu sehen und sie mit der vorherigen Version zu vergleichen.

Terminal

Dauer von Befehlen wird verfolgt

Die Dauer von Terminalbefehlen wird jetzt verfolgt und Details werden im Befehls-Hover angezeigt, wenn die Shell-Integration aktiviert ist.

Hovering the terminal command shows how long it took in milliseconds

Neue Befehle zum Zoomen, Verkleinern und Zurücksetzen

Es gibt neue Befehle zum Zoomen, Verkleinern und Zurücksetzen der Terminal-Schriftgröße. Diese sind standardmäßig nicht gebunden, aber Sie können sie an Ihre bevorzugten Tastenkombinationen binden.

  • Terminal: Schriftgröße erhöhen (workbench.action.terminal.fontZoomIn)
  • Terminal: Schriftgröße verringern (workbench.action.terminal.fontZoomOut)
  • Terminal: Schriftgröße zurücksetzen (workbench.action.terminal.fontZoomReset)

Quellcodeverwaltung

Repository- oder Branch-Namen im Fenstertitel anzeigen

Benutzer können den Fenstertitel mit der Einstellung window.title anpassen. In dieser Iteration haben wir zwei neue Variablen hinzugefügt, die mit dieser Einstellung verwendet werden können: ${activeRepositoryName} und ${activeRepositoryBranchName}. Diese Variablen werden durch den Namen des aktiven Repositorys bzw. des aktiven Branches ersetzt.

Verbesserungen bei der Validierung von Commit-Eingaben

In dieser Iteration haben wir die Verwendung von Spracydiagnostiken untersucht, um eine bessere Eingabevalidierung für Commit-Nachrichten zu ermöglichen. Durch die Verwendung von Spracydiagnostik können wir Code-Aktionen anzeigen, die aufgerufen werden können, um die Warnungen zur Eingabevalidierung zu beheben. Wir haben Code-Aktionen hinzugefügt, um Leerzeichen zu entfernen und Zeilen basierend auf den Einstellungen git.inputValidationSubjectLength und git.inputValidationLength umzubrechen, und wir planen, in Zukunft weitere Code-Aktionen hinzuzufügen.

Um dies zu aktivieren, schalten Sie die Einstellung git.inputValidation um. Wir haben noch einige Probleme zu lösen, bevor wir dies standardmäßig aktivieren können, aber in der Zwischenzeit können Sie es gerne aktivieren und uns Ihr Feedback mitteilen.

Verwaltung der Einstellungen für eingehende/ausgehende Änderungen

Wir polieren weiterhin den Abschnitt Eingehende/Ausgehende der Source Control-Ansicht. In dieser Iteration haben wir eine Einstellungsaktion zum "Eingehende/Ausgehende"-Trennzeichen hinzugefügt, die es Benutzern ermöglicht, die Einstellungen scm.showIncomingChanges, scm.showOutgoingChanges und scm.showChangesSummary einfacher umzuschalten. Diese Aktionen sind auch im Menü Eingehende & Ausgehende im ...-Menü der Titelleiste der Source Control-Ansicht verfügbar.

Befehl "Alle unveränderten Editoren schließen"

Um die Editorverwaltung zu erleichtern, haben wir den Befehl Alle unveränderten Editoren schließen zur Befehlspalette hinzugefügt, der alle Editoren mit unveränderten Dateien schließt. Der Befehl schließt keine Editoren mit ungespeicherten Änderungen.

Notebooks

Einrückungseinstellungen für Notebooks

Wir unterstützen jetzt Notebook-spezifische Einrückungseinstellungen über die Einstellung notebook.editorOptionsCustomizations. Diese Einstellung ermöglicht es Benutzern, einen bestimmten Einrückungsstil für Notebooks über die Einstellungen editor.tabSize, editor.indentSize und editor.insertSpaces festzulegen.

Benutzer werden auch einen Eintrag in der Statusleiste mit dem Namen Notebook Indentation bemerken, der die aktuellen Einrückungseinstellungen für den Notebook-Editor anzeigt. Dieser Eintrag verfügt über ein Schnellauswahlmenü, mit dem die Einrückungseinstellungen verwaltet werden können, ohne den Einstellungseditor öffnen zu müssen. Dies ist dasselbe Schnellauswahlmenü, das auch im Editor verfügbar ist.

Debuggen

Unterstützung für neues BreakpointMode

VS Code unterstützt eine neue Ergänzung des Debug Adapter Protocol (DAP), die es Ihnen ermöglicht, verschiedene "Modi" von Breakpoints zu setzen. Diese Funktionalität kann üblicherweise von Debuggern für nativen Code verwendet werden, um beispielsweise Hardware- vs. Software-Breakpoints zu setzen. Der Modus eines Breakpoints kann über die Aktion Edit Mode im Kontextmenü geändert werden.

Breakpoint context menu now has an 'Edit Mode...' option to change the breakpoint mode

Remote-Entwicklung

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

Zu den Highlights gehören

  • GitHub Copilot Chat schlägt Vorlagen und Features beim Hinzufügen von Dev-Container-Konfigurationsdateien zu einem Workspace vor

Sie können mehr über diese Features in den Remote Development Release Notes erfahren.

Verpassen Sie nicht den aktuellen Lernpfad "Remote Development mit Visual Studio Code", um eine Einführung in die verschiedenen Remote Development-Features in VS Code zu erhalten.

Beiträge zu Erweiterungen

GitHub Copilot

Namensvorschläge

Wir rollen schrittweise Namensvorschläge von Copilot aus. Wenn Sie ein Symbol im Editor umbenennen, schlägt GitHub Copilot eine Liste möglicher neuer Namen für dieses Symbol basierend auf Ihrem Code vor.

Inline-Chat-Barrierefreiheitsansicht

Der Inline-Chat verfügt jetzt über eine Barrierefreiheitsansicht, die Code-Änderungen wie der zugängliche Diff-Viewer anzeigt. Die Barrierefreiheitsansicht wird aktiviert, wenn Sie den Screenreader-Modus verwenden. Sie können sie auch so konfigurieren, dass sie immer aktiviert oder deaktiviert ist, indem Sie die Einstellung inlineChat.accessibleDiffView verwenden.

Außerdem können die Änderungs-Hunks jetzt mit der Tastatur mit den Tastenkombinationen F7 und Umschalt+F7 navigiert werden.

Standardmodus für Inline-Chat

Wir haben den Modus live preview eingestellt und live zum Standardmodus für den Inline-Chat gemacht. Das bedeutet, dass Vorschläge direkt im Editor angewendet werden und Änderungen durch Inline-Diffs hervorgehoben werden.

Mikrofonsymbol ist immer sichtbar

Das Mikrofonsymbol zum Starten der Spracherkennung in Copilot Chat ist jetzt immer sichtbar. Wenn die VS Code Speech-Erweiterung noch nicht installiert ist, wird beim Auswählen des Symbols zuerst die Installation der Erweiterung angeboten, um die Sprache-zu-Text-Funktionen zu aktivieren.

Microphone icon in chat input

Wenn Sie an dieser Funktion nicht interessiert sind oder sie nur über Tastenkombinationen verwenden möchten, können Sie die Funktionalität über das Kontextmenü ausblenden.

Hide microphone icon in chat input

Sprachunterstützung für Agenten und Slash-Befehle

Wenn Sie die VS Code Speech-Erweiterung verwenden, um das Chat-Eingabefeld per Sprache zu füllen, werden Phrasen wie "at workspace" oder "slash fix" jetzt in die entsprechenden Agenten- und Slash-Befehle übersetzt. Dies funktioniert sowohl in der Chat-Ansicht als auch im Inline-Chat.

Walkie-Talkie-Modus überall

Wenn Sie die VS Code Speech-Erweiterung verwenden, funktioniert der Befehl Voice: Start Voice Chat (⌘I (Windows, Linux Strg+I)) jetzt überall und öffnet einen Sprachchat, abhängig von Ihrem Fokus (Inline-Chat im Editor, ansonsten Panel-Chat).

Um den Walkie-Talkie-Modus zu aktivieren, halten Sie die Tastenkombination gedrückt. Die Spracherkennung ist aktiv, bis Sie die Tasten loslassen, danach wird die Anfrage automatisch übermittelt.

Copilot: Explain This basierend auf der Cursorposition

Zuvor erforderte die Eingabe von Explain This im Chat, dass Sie zuerst den zu erklärenden Text in Ihrem aktiven Editor auswählen. Sie können jetzt auch Ihren Cursor auf einen Bezeichner setzen, damit Copilot die Definition des Bezeichners sieht. Wenn sich die Definition in einer anderen Datei befindet, ist hierfür eine umfassende Sprachunterstützung erforderlich.

Vorschau: #codebase-Variable

In dieser Iteration haben wir in der Vorabversion von GitHub Copilot Chat eine neue Chat-Variable namens #codebase eingeführt. Diese Variable kann verwendet werden, um kontextbezogene Informationen zum Workspace basierend auf Ihrer Abfrage an Copilot oder einen Chat-Teilnehmer zu übermitteln.

In diesem Beispiel können Sie sich #codebase so vorstellen, als würden Sie zuerst @workspace die Frage stellen und dann diese Antwort zu der Frage hinzufügen, die Sie an @terminal stellen.

Dies ist eine Vorschaufunktion, daher ist #codebase möglicherweise nicht der endgültige Name dieser Variablen, aber die Absicht ist, dass wir eine Möglichkeit bieten werden, Workspace-Kontext an Chat-Teilnehmer zu übermitteln.

Nochmals, dies ist nur in der Vorabversion von GitHub Copilot Chat. Teilen Sie uns Ihre Meinung und Ihre Nutzung mit!

Terminal Workspace-Kontext

Das Terminal zieht nicht mehr automatisch den Workspace-Kontext heran, was einige Zeit in Anspruch nehmen konnte. Stattdessen müssen Sie ihn explizit über die Variable #codebase einbeziehen.

Terminal-Chat-Position

Es gibt eine neue Einstellung github.copilot.chat.terminalChatLocation, die das Terminal-Chat-Erlebnis steuert. Der Standardwert ist chatView und kann auf quickChat gesetzt werden, wenn Sie das vorherige Verhalten bevorzugen.

Jupyter

Language Server-Unterstützung für lokal laufende Jupyter-Server

Beim Verbinden mit lokalen Jupyter-Servern behandelte die Jupyter-Erweiterung diese Jupyter-Server zuvor als remote. Infolgedessen konnte die Pylance-Erweiterung die installierten Pakete nicht erkennen.

Failed language features for remote Jupyter Servers

In dieser Iteration erkennt die Jupyter-Erweiterung, ob der verbundene Jupyter-Server lokal oder remote ist. Dies ermöglicht es der Pylance-Erweiterung, umfassendere Sprachfunktionen basierend auf den installierten Paketen (innerhalb einer lokalen Python-Umgebung) bereitzustellen.

Language features for remote Jupyter Servers

Python

Shell-Integration für den Python REPL

Wir haben jetzt Shell-Integration für den Python REPL, aktiviert unter Mac, Linux und Windows über die WSL-Erweiterung. Wenn Sie Befehle im Python REPL ausführen, zeigen farbige Kreise an, ob die Befehle erfolgreich waren oder fehlgeschlagen sind. Zusätzlich unterstützen wir auch den Befehl Terminal: Run Recent Command… für Python REPL, mit dem Sie den Befehlsverlauf des REPL anzeigen und nutzen können.

Wir unterstützen jetzt auch den Shell-Dateiverlauf von Python für alle Betriebssysteme, erreichbar über Terminal: Run Recent Command.

Reduzierung des Risikos von ignorierten ersten Befehlen

Zuvor bemerkten einige Benutzer von Python REPL Probleme mit ihrem ersten Befehl an den Python REPL (z. B. durch Verwenden von Umschalt+Enter). Entweder wurde ihr Python-Befehl ignoriert und nicht an den Python REPL gesendet, oder der Befehl wurde mehrmals in die Shell eingefügt, die den Python REPL startet, anstatt in den Python REPL selbst. Dieses Verhalten trat insbesondere bei Benutzern unter Windows oder auf älteren Rechnern auf.

In dieser Iteration haben wir uns bemüht, das Risiko dieses Verhaltens zu mindern und zu reduzieren. Benutzer erleben jetzt seltener, dass ihr erster Befehl verloren geht, wenn sie ihren Python-Befehl an die erste REPL-Instanz innerhalb von VS Code senden.

Verbesserungen beim Hinzufügen fehlender Importe

Die Pylance-Erweiterung bietet eine Add Imports Code-Aktion zum Hinzufügen fehlender Importe. In der Vorabversion von Pylance haben wir diese Code-Aktion verbessert. Pylance verwendet jetzt Heuristiken, um nur die drei besten Importoptionen mit hoher Zuverlässigkeit anzuzeigen, priorisiert nach folgenden Kriterien: zuletzt verwendete Importe, Symbole aus demselben Modul, Symbole aus der Standardbibliothek, Symbole aus Benutzermodulen, Symbole aus Drittanbieterpaketen und schließlich sortiert nach Modul- und Symbolnamen.

Zusätzlich werden zwei neue Code-Aktionen eingeführt: Search for additional import matches, die ein Schnellauswahlmenü anzeigt, mit dem Sie nach Importoptionen suchen können, die dem fehlenden Import-Symbol per Präfix entsprechen, und Change spelling, die Importvorschläge für fehlende Importe aufgrund von Tippfehlern anbietet.

Sie können dieses Verhalten jetzt mit der Einstellung python.analysis.addImport.heuristics aktivieren. Wir planen, dies bald zum neuen Standardverhalten zu machen und die Einstellung in einer zukünftigen Version als veraltet zu kennzeichnen.

Automatisches Öffnen des Browsers beim Debuggen von Django- oder Flask-Apps

Die Entwicklung und das Testen Ihrer Python-Webanwendungen sind jetzt mit der Python Debugger extension bequemer! Sie können den Browser jetzt automatisch öffnen lassen, wenn Sie den Debugger mit Django- oder Flask-Apps starten, indem Sie autoStartBrowser: true in Ihrer launch.json-Konfiguration einstellen.

{
  "name": "Python Debugger: Flask",
  "type": "debugpy",
  "request": "launch",
  "module": "flask",
  "env": {
    "FLASK_APP": "hello_app.webapp",
    "FLASK_DEBUG": "1"
  },
  "args": ["run"],
  "jinja": true,
  "autoStartBrowser": true
}

Fehlerbehebung für Pytest in symlinked Workspaces

Wir haben eine Fehlerbehebung implementiert, die es Pytest-Tests ermöglicht, für Workspaces mit Symlinks korrekt zu funktionieren. Bei der Neuschreibung von Tests werden Tests aus Symlink-Speicherorten korrekt anhand ihrer Symlink-Pfade referenziert und ausgeführt.

GitHub Pull Requests

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

  • Umbenannt von "GitHub Pull Requests and Issues" zu "GitHub Pull Requests"
  • Die E-Mail-Adresse, die mit einem Merge- oder Squash-Commit verknüpft ist, kann beim Merge/Squash-Vorgang ausgewählt werden.
  • Die Einstellung githubPullRequests.labelCreated kann verwendet werden, um die Labels zu konfigurieren, die automatisch zu erstellten PRs hinzugefügt werden.
  • PR-Vorlagen auf "Owner-Ebene" werden jetzt unterstützt.
  • Projekte können beim Erstellen von PRs und Issues hinzugefügt werden.

Lesen Sie das Changelog für Release 0.82.0 der Erweiterung, um die anderen Highlights kennenzulernen.

Vorschau-Features

Für Erweiterungsautoren: Vorschau von @vscode/l10n-dev und Azure AI Translator

In dieser Iteration haben wir einen neuen Befehl eingeführt, einen Unterbefehl von @vscode/l10n-dev, der es Ihnen ermöglicht, Ihre Zeichenketten mit Azure AI Translator zu übersetzen.

Nachdem Sie Ihre Zeichenketten exportiert und eine Azure AI Translator-Instanz erstellt haben, können Sie die Umgebungsvariablen AZURE_TRANSLATOR_KEY und AZURE_TRANSLATOR_REGION festlegen und dann den folgenden Befehl ausführen, um Übersetzungen mit Azure AI Translator zu generieren.

npx @vscode/l10n-dev generate-azure -o ./l10n/ ./l10n/bundle.l10n.json ./package.nls.json

Azure AI Translator bietet eine kostenlose Stufe. Wir dachten, es wäre eine gute Gelegenheit, Werkzeuge für Erweiterungsautoren anzubieten, damit sie die vielen Benutzer, die verschiedene Sprachen sprechen, leichter unterstützen können. Beachten Sie bitte, dass dies maschinelle Übersetzungen sind und daher möglicherweise nicht immer perfekt sind. Sie können ein guter Ausgangspunkt für verfeinerte Übersetzungen durch Personen sein, die die Sprache sprechen, falls Sie dazu in der Lage sind.

Weitere Informationen finden Sie in der l10n-dev-Dokumentation zur Azure AI Translator-Integration.

Erweiterungsentwicklung

Testabdeckung in Erweiterungen

Erweiterungsautoren, die die Test-CLI für ihre Erweiterungen verwenden, können die Testabdeckung generieren, indem sie auf die neueste Version des @vscode/test-cli-Pakets aktualisieren.

Die Abdeckung kann auf der Kommandozeile generiert werden, indem das Flag --coverage beim Ausführen von Tests übergeben wird, und in der VS Code-Benutzeroberfläche, indem die Aktionen Run with Coverage verwendet werden.

Testkonfigurationen in launch.json

Sie können jetzt in Ihrer launch.json-Konfiguration auf Testkonfigurationsdateien verweisen.

{
    "type": "extensionHost",
    "request": "launch",
    "name": "My extension tests",
+   "testConfiguration": "${workspaceFolder}/.vscode-test.js",
-   "args": ["--extensionDevelopmentPath=${workspaceFolder}"]
},

Die verschiedenen zuvor erforderlichen args werden für Sie generiert, aber alle zusätzlichen übergebenen Argumente werden an die Befehlszeile von VS Code angehängt.

Beitragen von zusätzlichen Daten im Issue Reporter

Letzte Iteration haben wir Felder für data und uri im Befehl workbench.action.openIssueReporter hinzugefügt. Dies ermöglichte es Erweiterungen, den nativen Issue Reporter mit mehr vorab ausgefüllten Informationen zu öffnen.

Damit Erweiterungen dies im separaten Fall der Navigation durch den normalen Issue Reporter-Flow über Help: Reporter Issues... nutzen können, können Erweiterungen einen benutzerdefinierten Befehl (der openIssueReporter aufruft) und einen Menübeitragspunkt zu issue/reporter beisteuern.

Ein Beispiel für einen beigesteuerten Befehl und ein Menü für contributes in package.json

"commands": [
    {
        "command": "extension.myCommand",
        "title": "Report Issue"
    }
],
    "menus": {
        "issue/reporter": [
            {
                "command": "extension.myCommand"
            }
        ]
    }

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

Vorgeschlagene APIs

Chat- und Sprachmodell-APIs stehen kurz vor der Finalisierung

Wir haben an der Unterstützung für Erweiterungen gearbeitet, um zur Chat-Ansicht beizutragen und Sprachmodelle allgemein zu nutzen. Wir befinden uns jetzt in den Endphasen der Finalisierung der folgenden APIs und würden uns über Ihr Feedback freuen.

Erfahren Sie mehr darüber, wie Sie Chat-Erweiterungen erstellen und wie Sie Sprachmodelle nutzen können, in unseren Erweiterungsleitfäden.

FindFiles2 API

Wir haben eine neue vorgeschlagene Erweiterungs-API hinzugefügt, die eine verbesserte Version der bestehenden workspace.FindFiles API ist. Die neue workspace.FindFiles2 API führt neue Optionen ein, die eine Suche nach Workspace-Dateien ermöglichen, um

  • Einstellungen für files.exclude und search.exclude zu berücksichtigen
  • Ignorierte Dateien zu berücksichtigen
  • Eine Fuzzy-Suche durchzuführen
  • Symlinks zu folgen

Sie können die neue API hier einsehen.

Beachten Sie, dass FindFiles2 ein vorläufiger Name ist und diese Funktionalität in Zukunft möglicherweise als alternative Überladung von FindFiles bereitgestellt wird.

Test Coverage API

In dieser Iteration sind die Test Coverage API und die In-Editor-Erfahrung im Feature-Complete-Zustand. Wir ermutigen Erweiterungsautoren, sie auszuprobieren und Feedback zu geben, bevor ihre voraussichtliche Finalisierung in der VS Code 1.88-Version erfolgt.

Das Extension Pack for Java hat bereits die Test Coverage API übernommen. Entwickler können bereits die Testergebnisse von Java-Tests sehen. Jetzt können Sie die Testabdeckung erhalten, indem Sie die Schaltfläche Run Test With Coverage auswählen, und das Panel Test Coverage in der Test Explorer-Ansicht anzeigen. Erfahren Sie mehr über die Testabdeckung mit dem Extension Pack for Java in den Updates des Teams vom Dezember und Januar.

Obwohl die API zu lang ist, um sie hier aufzunehmen, glauben wir, dass sie recht geradlinig ist, und würden uns über Ihre Meinung zu dem Vorschlag in Issue #123713 freuen.

Debug Visualizer API

Wir haben eine neue API, die es Erweiterungen ermöglicht, Visualisierer für eine Variable beizusteuern. Diese Visualisierer können entweder Aktionen sein, die einen Befehl ausführen, z. B. das Öffnen eines neuen Editors, oder Bäume, die inline in die Debug-Ansichten eingebettet sind und die Standarddarstellung der Daten ersetzen.

Sie können die neue API hier einsehen.

Neue API für Symbolnamenanbieter

Diese API ermöglicht es Erweiterungen, Namensvorschläge bereitzustellen, wenn der Benutzer ein Symbol umbenennen möchte.

Bemerkenswerte Fehlerbehebungen

  • 184046 Links funktionieren in Terminals manchmal gar nicht mehr

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

  • @deitry (Dmitry Vornychev): Plugin-Beschreibung korrigieren PR #480
  • @jogo-
    • Unsigned vor Signed Int64 anzeigen PR #482
    • ASCII-Zeichen im Dateninspektor anzeigen PR #483
    • Statusversatz und Auswahl in Dezimal und Hexa anzeigen PR #486
    • Anzeige von ULEB128 und SLEB128 im Dateninspektor PR #488
    • Tippfehler in CHANGELOG.md korrigieren PR #489
  • @liudonghua123 (liudonghua): Unterstützung für gängige CJK-Kodierungen (GB18030 für vereinfachtes Chinesisch, Big5 für traditionelles Chinesisch, EUC-KR für Koreanisch, EUC-JP für Japanisch) hinzufügen PR #465

Beiträge zu vscode-isort

Beiträge zu vscode-languageserver-node

Beiträge zu vscode-pull-request-github

Beiträge zu language-server-protocol

Beiträge zu node-pty

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