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:
- Spracheingabe im Editor - Verwenden Sie Ihre Stimme, um direkt in den Editor zu diktieren.
- Inline-Vervollständigungen für mehrere Cursor - Überprüfen und akzeptieren Sie Inline-Vervollständigungen für mehrere Cursor.
- Namensvorschläge mit Copilot-Unterstützung - Erhalten Sie Namensvorschläge für Symbole von Copilot.
- Vorschau für Refactoring nebeneinander - Vorschau für Refactorings über Dateien hinweg mit dem Multi-Diff-Editor.
- Intelligentere Python-Importe - Verbesserungen beim Hinzufügen fehlender Python-Importe.
- Sticky Scroll im Editor - Sticky Scroll ist im Editor standardmäßig aktiviert.
- Mehrsprachige Unterstützung für Spracherkennung - Mehrere Sprachen werden für die Spracherkennung unterstützt.
- Copilot-Vorschläge für Dev-Container - Erhalten Sie Vorlagen- und Feature-Vorschläge für Dev-Container-Konfigurationen.
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.

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: 
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" führt Sie zu einer Schnellauswahl, wo Sie bei Bedarf den Zugriff verwalten können.

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.
![]()
![]()
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.

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.

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.

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.

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.

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.

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.labelCreatedkann 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.
- Chat-Teilnehmer (Issue #199908) -
vscode.proposed.chatParticipant.d.ts - Sprachmodellnutzung (Issue #206265) -
vscode.proposed.languageModels.d.ts
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.excludeundsearch.excludezu 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
- @a-stewart (Anthony Stewart): Verhindern, dass F1 Browserhilfe in Webviews öffnet PR #204499
- @aramikuto (Aleksandr Kondrashov)
- Nicht
respectMultiSelectionfür Upload und Einfügen verwenden PR #201145 - Sicherstellen, dass die Zustandsänderung des Cursors immer beim Wiederherstellen des Zustands emittiert wird PR #203451
- Nicht
- @CGNonofr (Loïc Mangeonjean)
- Ersetzen von
mapdurchforeachPR #199194 - Behebe inoperablen try/catch PR #203904
- Ersetzen von
- @charlypoirier (Charly): Korrigiere Tippfehler in configurationEditingMain.ts PR #203970
- @emilan (Emil): Korrektur für automatische Ordneröffnungsaufgaben mit der Remote SSH-Erweiterung PR #204008
- @fmarier (Francois Marier): Verwende HTTPS für das apt-Repository PR #203833
- @gjsjohnmurray (John Murray)
- Stelle Befehlselemente beim Filtern der Checkout-QuickPick wieder her (Korrektur #202870) PR #204107
- Stelle sicher, dass der Schaltfläche "Alle reduzieren/erweitern" des Suchbaums korrekt initialisiert wird (Korrektur #204316) PR #205235
- @harbin1053020115 (ermin.zem): chore: Aktualisiere bekannte VS Code-Variablen PR #204568
- @hsfzxjy (Xie Jingyi): Füge Dauer zum Tooltip des Terminalbefehls SI hinzu PR #199357
- @jcarrus (Justin Carrus): Erhöhe editor.stickyScroll.maxLineCount von 10 auf 20 PR #201451
- @jnnklhmnn (Jannik Lehmann): "Alle reduzieren"-Aktion für geladene Skripte einführen PR #203560
- @Krzysztof-Cieslak (Krzysztof Cieślak)
- Verbessere Vorbedingungen für Inline-Bearbeitungsbefehle PR #205373
- Führe
onDidBlurEditorWidgetundonDidFocusEditorTextnicht aus, wenn die Inline-Bearbeitung deaktiviert ist PR #205378 - Inline-Bearbeitung - sende keine Reject-Callback beim Verlassen PR #205976
- @luctowers (Lucas Towers): Korrigiere Markdown-Hell- und Dunkelmodus bei Verwendung von High-Contrast-Themes PR #203690
- @NorthSecond (Yifei Yang): Korrektur: GLIBCXX-Versionserkennungsfehler in check-requirements-linux.sh (Issue #204186) PR #204635
- @notnoop (Mahmood Ali): VS Code Server: Bewältige mehrere libc/libc++-Installationen PR #204032
- @orgads (Orgad Shaneh): Tunnel: Erweitere Portzuordnungs-Lookup auch für Query-String PR #203908
- @owlhuang (Dennis): Überprüfe, ob eine der Bibliotheken (des Arch) die Anforderung erfüllt. PR #204221
- @perplexyves (Yves Daaboul): Korrektur(193523): Optionale JSDoc-Parameter werden in Funktionen nicht angezeigt PR #202963
- @petvas (Peter V): Korrigiere, dass
IRawGalleryExtension.shortDescriptionundefiniert sein kann. PR #202780 - @pyrrho (Drew Pirrone-Brusse): Erweitere TextEditorLineNumbersStyle um Interval PR #198787
- @RedCMD (RedCMD)
- Trage zu JSON-Sprachserver mit einer benutzerdefinierten Sprache bei. PR #198583
- Aktiviere JSON-Sprachunterstützung für
code-snippets-Dateien PR #204090 - Verbessere die Spracherkennung von Markdown-Codeblöcken in der Erweiterungs-
README-Vorschau PR #205329
- @rzvc: Korrigiere Docblock-Erweiterung in TS, wenn das Sternchen nicht von einem Leerzeichen gefolgt wird PR #204400
- @sandersn (Nathan Shively-Sanders): Teile KI-gestützte Code-Aktionen von TS in separate Einträge auf PR #201140
- @SimonSiefke (Simon Siefke)
- fix: Speicherleck im Notebook-Editor-Widget PR #204892
- fix: Speicherleck im Code-Editor-Widget PR #205488
- @timotheeMM (timotheeMM): Korrigiere einen Tippfehler in src/vs/platform/terminal/common/terminal.ts PR #204245
- @tisilent (xiejialong): Schließe Sash PR #199081
- @tomqwpl: Korrektur: Erweiterung wird nichtPopulated, wenn ein Notebook-Kernel ausgewählt wird (#_197619) PR #197810
- @vbem (Lei LI): Korrigiere Tippfehler in shellIntegration-bash.sh PR #203407
- @weartist (Hans): Korrigiere die defekten Links zu den aktuellsten gültigen Links PR #184131
- @werat (Andy Hippo)
- Speicherleck im Kommentar-Browser beheben PR #205162
- Speicherlecks beheben PR #205589
- @wy-luke: docs: Kommentar für hideFromUser aktualisieren PR #202730
- @xavierdecoster (Xavier Decoster): Kommentar in extensionGalleryService.ts aktualisieren PR #205004
- @xiaoyun94 (暴躁暴躁最暴躁/Bigforce): Korrigiere, dass der Browser-Host im Merge-Modus zusätzliche Dateien öffnet PR #205663
- @yiliang114 (易良): Tipps für Debug-Ansichten hinzufügen PR #205861
Beiträge zu vscode-black-formatter
- @bn-d (Boning): Mindest-VS-Code-Version aktualisieren PR #445
Beiträge zu vscode-hexeditor
- @deitry (Dmitry Vornychev): Plugin-Beschreibung korrigieren PR #480
- @jogo-
- @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
- @archont94: Korrektur für Auswahl von
isort-Einstellungen aus dem Pfad PR #386 - @connorads (Connor Adams): Konfigurationsbeispiel aktualisieren PR #390
Beiträge zu vscode-languageserver-node
- @michaelpj (Michael Peyton Jones)
- @w0rm (Andrey Kuzmin): Rundeprozentsatz gemäß Spezifikation PR #1413
Beiträge zu vscode-pull-request-github
- @Malix-off (Malix): Korrigiere #5693 PR #5694
- @umakantv (Umakant Vashishtha): Feature: Automatische Bezeichnungen PR #5679
Beiträge zu language-server-protocol
- @alanwsmith (Alan Smith): Veralteten Rust Language Server (RLS) entfernt PR #1899
- @debonte (Erik De Bonte): WorkspaceEditMetadata-Unterstützung hinzufügen PR #1881
- @falko17 (Falko): Korrekturen der Snippet-Grammatik und kleinere formale Verbesserungen in der LSP-Spezifikation PR #1886
- @MariaSolOs (Maria José Solano)
- @michaelpj (Michael Peyton Jones): Haskell zur Sprachkind-Tabelle hinzufügen PR #1898
- @qvalentin (valentin): feat(implementors): helm-ls hinzufügen PR #1895
Beiträge zu node-pty
- @kkocdko (kkocdko): Port zu NAPI PR #644