August 2024 (Version 1.93)
Update 1.93.1: Das Update behebt diese Issues.
Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Willkommen zur August 2024-Version von Visual Studio Code. Es gibt viele Updates in dieser Version, die uns hoffen, dass sie Ihnen gefallen werden, einige der wichtigsten Highlights sind
- Profile-Editor - Wechseln und verwalten Sie Ihre Profile von einem einzigen Ort aus.
- Django Unit-Test-Unterstützung - Entdecken und führen Sie Django Unit-Tests aus dem Test-Explorer aus.
- IntelliSense auf vscode.dev - Verbessern Sie Ihre JS- & TS-Codierung in vscode.dev mit IntelliSense.
- Notebook-Diff-Viewer - Überprüfen Sie Änderungen in Notebooks effizient, indem Sie unveränderte Zellen einklappen.
- Spalten über die Tastatur in der Größe ändern - Das Ändern der Größe von Tabellenspalten in VS Code ist über die Tastatur zugänglicher.
- Source Control Graph - Verbergen, einklappen oder verschieben Sie den Source Control Graph einfach.
- GitHub Copilot - Fügen Sie Kontext im Quick Chat hinzu, verbesserte Testgenerierung und Chat-Historie.
- Experiment: Benutzerdefinierte Copilot-Anweisungen - Definieren Sie spezifische Anweisungen zur Code-Generierung für Copilot.
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
Spalten über die Tastatur in der Größe ändern
Ein neuer Befehl, list.resizeColumn, ermöglicht es Ihnen, Spalten mit der Tastatur in der Größe zu ändern. Wenn Sie diesen Befehl auslösen, wählen Sie die Spalte aus, deren Größe Sie ändern möchten, und geben Sie einen Prozentsatz der Breite an, die Sie festlegen möchten. Das folgende Video zeigt, wie Sie diese Funktion anwenden, um die Größe einer Spalte im Editor für Tastenkombinationen zu ändern.
Unterstützung von Screenreadern für die Synthese von Chat-Antworten
Wir haben die Einstellung accessibility.voice.autoSynthesize aktualisiert, damit Screenreader-Benutzer wählen können, ob sie Chat-Antworten von unserem Synthesizer angesagt bekommen möchten, anstatt Aria-Warnungen zu erhalten.
Verbesserungen beim Debuggen
Beim Debuggen mit dem Fokus in einem Editor kündigt der Befehl Debug: Zu Überwachen hinzufügen nun den Wert der Variablen für Screenreader-Benutzer an.
Darüber hinaus wurde der Hilfedialog für die Barrierefreiheit von Debugging-Informationen für eine bessere Vollständigkeit verbessert.
Workbench
Neuer Profile-Editor
Der neue Profile-Editor ist jetzt für alle in Visual Studio Code allgemein verfügbar. Der neue Profile-Editor ermöglicht es Ihnen, Profile von einem einzigen Ort aus zu verwalten. Dieses Erlebnis umfasst das Erstellen neuer Profile, das Bearbeiten und Löschen vorhandener Profile sowie das Importieren und Exportieren von Profilen zum Teilen mit anderen. Weitere Informationen finden Sie in der Profil-Dokumentation.

Linux-Unterstützung für Fenstersteuerungs-Overlays
Eine neue Einstellung window.experimentalControlOverlay ermöglicht das Erscheinen nativer Fenstersteuerungen, auch wenn eine benutzerdefinierte Titelleiste über die Einstellung window.titleBarStyle aktiviert ist.

Standardmäßig haben wir die benutzerdefinierte Titelleiste unter Linux noch nicht aktiviert, planen dies aber schließlich zu tun. Sobald Sie eine benutzerdefinierte Titelleiste aktivieren, erscheinen native Fenstersteuerungs-Overlays automatisch. Wir freuen uns über jedes Feedback, das Sie bei der Nutzung dieser neuen Funktion erhalten!
Sortierung von Kommentaren
Kommentare können jetzt nach ihrer Position in der Datei oder nach Datum sortiert werden.

Kopieren der Einstellungs-URL aus dem Einstellungs-Editor
Sie können eine direkte URL zu einer bestimmten Einstellung aus dem Einstellungs-Editor kopieren. Wenn Sie zur Einstellungs-URL navigieren, wird VS Code geöffnet und die entsprechende Einstellung im Einstellungs-Editor fokussiert.

Umgekehrte Sortierung im Explorer
Wir haben eine zusätzliche Sortieroption hinzugefügt, explorer.sortOrderReverse, die es Ihnen ermöglicht, jede der verschiedenen Explorer-Sortierkonfigurationen umzukehren, was weitere Sortierflexibilität bietet.
Editor
Lightbulb-Verbesserungen
Im vorherigen Meilenstein haben wir die Position verbessert, an der das Icon der Code-Aktionen-Glühbirne angezeigt wird. Wir haben uns nun entschieden, editor.lightbulb.enabled standardmäßig auf onCode zu setzen. Das bedeutet, dass das Glühbirnen-Icon nur angezeigt wird, wenn der Cursor auf Zeilen mit Quellcode steht, und seltener erscheint.
Farbthemen für Aktionslisten
Die Farbe des Aktionslisten-Steuerelements, wie z.B. des Code-Aktionen-Menüs, kann von Themes mit den Schlüsseln editorActionList.background, editorActionList.foreground, editorActionList.focusForeground und editorActionList.focusBackground konfiguriert werden. Standardmäßig entspricht das Thema des Aktionslisten-Steuerelements dem des Quick Pick und der Befehlspalette. Weitere Informationen zur Anpassung eines Farbthemas.
GitHub Copilot
In diesem Meilenstein haben wir die GitHub Copilot-Erfahrung in VS Code weiter verbessert, sowohl im Editor, in der Chat-Ansicht als auch im Inline-Chat. Wir haben auch mehrere experimentelle Funktionen hinzugefügt, die Sie ausprobieren können und zu denen wir Ihr Feedback wünschen.
Verbesserte Testgenerierung
Mit GitHub Copilot können Sie Tests für Ihren Code generieren, entweder über die Aktion Tests mit Copilot generieren im Kontextmenü des Editors oder über den Slash-Befehl /tests im Inline-Chat.
Wir haben den Prozess der Testgenerierung verbessert, indem wir nach einer vorhandenen Testdatei gesucht und die neuen Tests in diese Datei generiert und am Ende angehängt haben. Wenn noch keine Testdatei vorhanden ist, erstellt Copilot eine neue Testdatei für die generierten Tests.
Umbenannte Code-Aktionen zur Generierung von Tests und Dokumentationen
Wenn Sie den Cursor auf einem Bezeichner platzieren, z.B. einem Methodennamen, bietet Ihnen GitHub Copilot Code-Aktionen zum Generieren von Tests oder Dokumentationen. Um ihren Zweck besser widerzuspiegeln, haben wir diese Code-Aktionen in Tests mit Copilot generieren und Dokumentation mit Copilot generieren umbenannt. Zuvor hießen diese Test mit Copilot und Dokument mit Copilot.

Verbesserte Chat-Historie
Sie können frühere Chats über die Chat-Historie mit der Schaltfläche Chats anzeigen oben in der Chat-Ansicht öffnen. Diese Chats haben jetzt einen benutzerfreundlicheren, KI-generierten Namen. Sie können Chats auch manuell umbenennen, indem Sie das Stiftsymbol in jeder Zeile auswählen.
Diese Einträge der Chat-Historie werden jetzt auch nach dem Datum ihrer letzten Anfrage sortiert und sind nach Datumsbuckeln beschriftet und gruppiert.

Hinweis: Nur neue Chat-Sitzungen erhalten den KI-generierten Namen, bereits vorhandene Chat-Sitzungen werden nicht umbenannt.
Chat-Sitzungen für leere Fenster speichern
Zuvor hat VS Code keine Chat-Sitzungen für leere Fenster (ohne geöffneten Ordner oder Arbeitsbereich) gespeichert. Jetzt werden diese Sitzungen wie erwartet gespeichert, und frühere Chats aus einem leeren Fenster können über die Schaltfläche Chats anzeigen geladen werden.
Hinweis: Vermeiden Sie es, dieselbe Chat-Sitzung gleichzeitig in mehreren leeren Fenstern zu öffnen und zu verwenden.
Kontext im Quick Chat anhängen
Wenn Sie Quick Chat verwenden, können Sie jetzt die Aktion Kontext anhängen verwenden, um Kontext wie Dateien und Symbole an Ihre Copilot-Anfrage anzuhängen.
Feedbackdetails für Daumen runter
Haben Sie eine Antwort von Copilot Chat erhalten, die nicht Ihren Erwartungen entsprach? Helfen Sie uns, indem Sie auf die Schaltfläche Daumen runter auf der Symbolleiste für eine Chat-Antwort klicken. Jetzt wird ein Dropdown-Menü mit detaillierten Optionen angezeigt, mit denen Sie das Problem beschreiben können. Sie können auch den Issue-Reporter aus diesem Menü öffnen.
![]()
Anweisungen zur Code-Generierung (Experimentell)
Einstellung: github.copilot.chat.experimental.codeGeneration.instructions
Copilot kann Ihnen helfen, Code zu generieren, zum Beispiel im Rahmen von Refactoring, der Generierung von Unit-Tests oder der Implementierung einer Funktion. Und Sie möchten vielleicht bestimmte Bibliotheken verwenden oder einen bestimmten Programmierstil für den von Copilot generierten Code einhalten.
Die experimentelle Einstellung github.copilot.chat.experimental.codeGeneration.instructions ermöglicht es Ihnen, eine Reihe von Anweisungen zu definieren, die jeder Copilot-Anfrage zur Code-Generierung hinzugefügt werden.
Die Anweisungen können in den Benutzer- oder Arbeitsbereichseinstellungen eingestellt oder aus einer Datei importiert werden.
Der folgende Code-Schnipsel zeigt, wie eine Reihe von Anweisungen sowohl aus den Einstellungen als auch aus einer externen Datei definiert werden.
"github.copilot.chat.experimental.codeGeneration.instructions": [
{
"text": "Always add a comment: 'Generated by Copilot'."
},
{
"text": "In TypeScript always use underscore for private field names."
},
{
"file": "code-style.md" // import instructions from file `code-style.md`
}
],
Inhalt von myProject/code-style.md
Always use React functional components.
Always add comments.
In der Abbildung sehen Sie in der Referenzsektion, dass die Anweisungen verwendet wurden.

Automatische Erkennung von Chat-Teilnehmern in der Chat-Ansicht (Experimentell)
Einstellung: chat.experimental.detectParticipant.enabled
GitHub Copilot verfügt über mehrere integrierte Chat-Teilnehmer, wie z.B. @workspace, die auch Befehle zur Chat-Ansicht beisteuern. Zuvor mussten Sie den Chat-Teilnehmer und den Befehl explizit in einer Chat-Eingabeaufforderung angeben.
Um die Verwendung von Chat-Teilnehmern mit natürlicher Sprache zu erleichtern, experimentieren wir in den kommenden Wochen damit, Copilot Chat zu ermöglichen, Ihre Frage automatisch an einen geeigneten Teilnehmer oder Chat-Befehl weiterzuleiten.

Wenn der automatisch ausgewählte Teilnehmer für Ihre Frage nicht geeignet ist, können Sie auf den Link ohne erneut ausführen am oberen Rand der Chat-Antwort klicken, um Ihre Frage erneut an Copilot zu senden.
Aktuelle Coding-Dateien als Inline-Chat-Kontext verwenden (Experimentell)
Einstellung: github.copilot.chat.experimental.temporalContext.enabled
Wenn Sie Copilot auffordern, fragen Sie oft eine Frage, die sich auf Code bezieht, an dem Sie gerade gearbeitet oder den Sie gerade angesehen haben. Inline Chat kann jetzt kürzlich gesehene oder bearbeitete Code als Kontext verwenden, um relevantere Vorschläge zu machen.
Diese Funktionalität ist noch experimentell, aber auch für alle zum Testen gut geeignet.
Aktuelle Editorzeile als Inline-Chat-Prompt verwenden (Experimentell)
Einstellung: github.copilot.config.experimental.inlineChatCompletionTrigger.enabled
Anstatt zuerst Inline Chat zu öffnen und dann Ihre Chat-Eingabeaufforderung einzugeben, können Sie jetzt mit der Eingabe im Editor beginnen und den Inhalt der aktuellen Zeile direkt als Eingabeaufforderung für Inline Chat verwenden. Und für eine noch reibungslosere Chat-Erfahrung kann Copilot erkennen, wenn Sie eine Eingabeaufforderung eingeben und keinen Code schreiben, und dann automatisch Inline Chat für Sie starten.
Die verschiedenen Möglichkeiten, wie Sie die aktuelle Zeile als Eingabeaufforderung für Inline Chat verwenden können, sind die folgenden:
- Geben Sie Inline Chat: Im Editor mit aktueller Zeile starten aus der Befehlspalette ein (⇧⌘P (Windows, Linux Ctrl+Shift+P))
- Konfigurieren Sie eine Tastenkombination für den Befehl
inlineChat.startWithCurrentLine, kombinieren Sie sie mit dem KontextschlüsselinlineChatExpansion. - Aktivieren Sie die Einstellung
github.copilot.config.experimental.inlineChatCompletionTrigger.enabled, damit Copilot erkennt, dass die aktuelle Zeile hauptsächlich Text und nicht Quellcode enthält, und dann Inline Chat startet.
Das folgende Video zeigt, wie Copilot nach dem Erkennen von hauptsächlich Text in der aktuellen Zeile vorschlägt, Inline Chat zu starten.
Starten Sie das Debugging aus dem Chat (Experimentell)
Einstellung: github.copilot.advanced.startDebugging.experimental.enabled
Ein neuer experimenteller Slash-Befehl, /startDebugging, ist für den @vscode Chat-Teilnehmer verfügbar. Dieser Befehl ermöglicht es Ihnen, eine Startkonfiguration zu erstellen und Ihre App zu debuggen.
Sie können diesen Befehl auch über die Option Debug-Konfiguration mit GitHub Copilot generieren im Quick Pick zum Erstellen einer launch.json-Datei aufrufen.

Tests basierend auf Testabdeckung generieren (Experimentell)
Einstellung: github.copilot.chat.experimental.generateTests.codeLens
Wenn Informationen zur Testabdeckung verfügbar sind, kann GitHub Copilot eine CodeLens-Option Tests mit Copilot generieren für Funktionen und Methoden anbieten, die noch nicht von Tests abgedeckt sind.
Sprachen
Umbenennung von "SQL" in "MS SQL"
Der Sprachname für SQL-Dateien wurde von "SQL" in "MS SQL" umbenannt, um den Fokus der Sprache auf die Microsoft SQL Server (T-SQL) Syntax besser widerzuspiegeln. Die Dateierweiterung für diesen Sprachmodus ist weiterhin .sql und die Syntaxhervorhebung bleibt unverändert.
Vollständige Projekt-IntelliSense und Paket-Typdefinitionen auf vscode.dev
Die Arbeit mit JavaScript und TypeScript auf VS Code für das Web ist gerade erheblich besser geworden. Zunächst haben wir die Paket-IntelliSense implementiert, sodass Sie Vorschläge und Dokumentationen von jedem importierten Paket, wie z.B. react, sehen können. Dies funktioniert ähnlich wie in der Desktop-Version von VS Code.

In TypeScript-Dateien bieten wir IntelliSense für Pakete an, die in Ihrer package.json aufgeführt sind. JavaScript-Dateien sind etwas flexibler und verwenden automatische Typenerwerbung, die IntelliSense für jedes in die aktuelle Datei importierte Paket bietet, auch wenn es nicht in der package.json aufgeführt ist.
Dank der Paket-IntelliSense haben wir auch die vollständige Projekt-IntelliSense für JavaScript- und TypeScript-Projekte aktiviert. Dies verbessert die Navigation im Code erheblich, sodass Sie korrekt zu Definitionen navigieren und alle Verweise auf Symbole in Ihrem Projekt finden können. Es ermöglicht auch die Meldung von Typfehlern. Wir unterstützen jetzt sogar automatische Importe während der Codierung.

Paket-Typdefinitionen und vollständige Projekt-IntelliSense werden in Chrome, Microsoft Edge und Firefox unterstützt. Safari wird noch nicht unterstützt, da es ReadableByteStreamController nicht implementiert.
Quellcodeverwaltung
Source Control Graph Ansicht
Basierend auf Benutzerfeedback haben wir den im letzten Meilenstein aktivierten Verlaufs-Graph aus der Source Control-Ansicht in eine neue Ansicht namens Source Control Graph verschoben. Dies reduziert die Informationsüberflutung in der Hauptansicht und ermöglicht es Ihnen, die neue Ansicht nach Bedarf auszublenden/einzuklappen/zu verschieben. Dies legt auch den Grundstein für einen voll ausgestatteten Verlaufs-Graph.
Die Source Control Graph Ansicht zeigt derzeit den Remote/Base-Branch für den aktuellen Branch an. Im nächsten Meilenstein arbeiten wir daran, die Möglichkeit hinzuzufügen, den Graphen nach einem beliebigen Repository-Referenz zu filtern, und die Erfahrung für Arbeitsbereiche mit mehreren Repositories zu verbessern.

Thema: GitHub Sharp (Vorschau auf vscode.dev)
Unterstützung für das Reftable-Format
Git 2.45 hat die vorläufige Unterstützung für das neue Referenzspeicher-Backend namens "reftable" hinzugefügt. In diesem Meilenstein haben wir die integrierte Git-Erweiterung aktualisiert, um dieses neue Referenzspeicher-Backend zu unterstützen.
Mit Git 2.45 können Sie ein Repository, das das neue Referenzspeicher-Backend verwendet, mit dem Flag --ref-format=reftable erstellen oder klonen. Git 2.46 hat auch die Unterstützung für die Migration eines bestehenden Repositorys zur Verwendung des neuen Referenzspeicherformats mit dem Befehl git refs migrate hinzugefügt.
Bitte beachten Sie, dass das neue Referenzspeicher-Backend immer noch als experimentell gilt.
Einstellung für komprimierte Ordner
Dank eines Community-Beitrags haben wir eine neue Einstellung, scm.compactFolders, hinzugefügt, um zu steuern, ob Ordner in der Source Control Ansicht komprimiert dargestellt werden, wenn Änderungen als Baum angezeigt werden.
Terminal
Julia und NuShell-Unterstützung
Es gibt jetzt Shell-Integrationsunterstützung für Julia und NuShell. Dies ermöglicht Funktionen wie Befehlsdekorationen und zuletzt ausgeführten Befehl für diese Shell-Typen.
Mehrere Terminal-Tabs verschieben
Sie können jetzt mehrere Terminal-Tabs auswählen und sie als geordnete Gruppe in der Liste der Terminals verschieben.
Befehlsleitfaden-Einstellung und Farbthematisierung
Der Befehlsleitfaden ist eine Leiste, die neben einem Befehl und seiner Ausgabe erscheint, wenn Sie mit der Maus darüber fahren. Sie können den Befehlsleitfaden mit der Einstellung terminal.integrated.shellIntegration.showCommandGuide deaktivieren und die Farbe kann von Themes mit dem Theme-Schlüssel terminalCommandGuide.foreground konfiguriert werden.
Notebooks
Ein- oder Ausblenden unveränderter Zellen in der Diff-Ansicht
Die Notebook-Diff-Ansicht blendet jetzt unveränderte Zellen aus, damit Sie sich auf die geänderten Zellen konzentrieren können. Gleichzeitig ist die Eingabe aller unveränderten Zellen immer zusammengeklappt.
Leerzeichenverwaltung in der Diff-Ansicht
Die Notebook-Diff-Ansicht berücksichtigt jetzt die folgende Einstellung:
diffEditor.ignoreTrimWhitespace- Ignoriert führende und nachgestellte Leerzeichen (Trimmen) bei der Anzeige von Unterschieden.
Sticky Scrolling für Notebook-Ausführungsanzahl
Die Ausführungsanzahl einer Code-Zelle bleibt beim Scrollen nach unten durch eine Code-Zelle am unteren Bildschirmrand haften. Dies erleichtert die Anzeige des Ausführungszustands und die Aktualisierung bei der Arbeit in einer langen Code-Zelle.
Aufgaben
Aufgaben-Terminal nach Prozessende geöffnet lassen
Wenn der Terminalprozess einer Aufgabe mit einem von Null verschiedenen Code beendet wird, behalten wir das Terminal nun offen, um das Debuggen zu erleichtern.
Debuggen
Springen zur Variablendefinition
Debug-Erweiterungen können nun Variablen und Ausdrücke mit Speicherorten in Ihrem Code verknüpfen. Daten mit diesem Link sind Ctrl-auswählbar (Cmd-auswählbar unter macOS) in der Variablenansicht, der Überwachungsansicht und der Debug-Konsole.
Der integrierte JavaScript-Debugger verknüpft Speicherorte von Funktionen, die in Ihrem Code definiert sind. Andere Debug-Erweiterungen müssen die entsprechende Protokolländerung übernehmen, um diese Funktion zu aktivieren.
Suchfeld
Sie können jetzt das Suchfeld in der Debug-Konsole (⌥⌘F (Windows, Linux Ctrl+Alt+F)) öffnen, um nach Ergebnissen in der Eingabe zu suchen. Die Unterstützung für die Suche von Ergebnissen in der Ausgabe wird in zukünftigen Meilensteinen untersucht.
Sie können das Feld auch über die Aktion Debug-Konsole: Suche fokussieren aufrufen, die auf der Symbolleiste der Debug-Konsole rechts neben dem Filterfeld erscheint.
Cache für Startkonfigurations-Eingaben
Input-Variablen, die in Startkonfigurationen und Aufgaben verwendet werden, behalten nun ihren zuletzt eingegebenen Wert bei, um das erneute Ausführen von Debug-Sitzungen, die davon abhängen, zu erleichtern. Dies geschieht nur, wenn für die Eingabe kein expliziter default definiert ist.
JavaScript Debugger
Experimentelle Netzwerkansicht
Der JavaScript-Debugger enthält jetzt eine grundlegende, experimentelle Netzwerkansicht, die verfügbar ist, wenn die Einstellung debug.javascript.enableNetworkView aktiviert ist. Die Ansicht zeigt Informationen über Anfragen und Antworten von Browsersitzungen an.
Thema: Codesong (Vorschau auf vscode.dev)
Die Netzwerkansicht funktioniert auch für Node.js 22.6.0 und höher, wenn der Prozess mit --experimental-network-inspection in seinen Argumenten gestartet wird, z.B. durch Hinzufügen von "runtimeArgs": ["--experimental-network-inspection"] zu einer node-Startkonfiguration.
Hinweis: Die Implementierung von Netzwerken durch Node ist noch sehr früh und die meisten Daten zu Anfragen und Antworten sind noch nicht verfügbar.
Testen
Unterstützung für Stacktraces bei Nachrichten
Test-Erweiterungen können nun einen Stacktrace mit Testfehlern verknüpfen. Wenn sie dies tun, sehen Sie den Code um jeden Frame des Aufrufstacks in der Testergebnisansicht und in den Fehlermeldungen. Sie können Code in den Ansichten Ctrl-auswählen (Cmd-auswählen unter macOS), um zu den ursprünglichen Speicherorten zu gelangen, oder die Aktion Datei öffnen in deren Kopfzeilen verwenden.
Thema: Codesong (Vorschau auf vscode.dev)
Installer
Das Debian-Paket fordert Sie nun auf, zu bestätigen, ob Sie das Repository packages.microsoft.com hinzufügen möchten. Dies ermöglicht es Ihnen, das Paket anschließend mit apt zu aktualisieren.

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
- Optionale Pfade für Dev Container-Vorlagen
- Erweiterte Kompatibilität für Remote-Betriebssysteme mit SSH
Sie können mehr über diese Funktionen in den Release-Hinweisen zur Remote-Entwicklung erfahren.
VS Code für das Web
Die Einstellung git.openDiffOnClick wird nun beim Durchsuchen eines GitHub-Repositorys auf https://vscode.dev oder auf dem Desktop mit der Erweiterung GitHub Repositories berücksichtigt.

Beiträge zu Erweiterungen
Python
Django Unit-Test-Unterstützung
Wir freuen uns, die Unterstützung für eine unserer am meisten nachgefragten Funktionen bekannt zu geben: Sie können nun Django Unit-Tests über den Test-Explorer entdecken und ausführen! Anweisungen zur Einrichtung, wie Sie diese Funktionalität aktivieren können, finden Sie in unserer Dokumentation.
Thema: Catppuccin Macchiato (Vorschau auf vscode.dev)
Während Sie diese neu hinzugefügte Funktion erkunden, geben Sie uns bitte Feedback und melden Sie alle Probleme in unserem vscode-python Repo oder über den Befehl Python: Problem melden.
Verbesserungen am nativen REPL
Wir haben weitere Verbesserungen und Fehlerbehebungen an der neuen nativen REPL-Erfahrung vorgenommen. Wir rollen die native REPL als Standardziel für Smart Send als Experiment aus. Wenn Sie dies ausprobieren möchten, können Sie python.REPL.sendToNativeREPL in Ihrer Benutzer-settings.json-Datei einstellen und Ihr VS Code-Fenster neu laden.
Gehe zu Definition von Inlay-Hinweisen mit Pylance
Wenn Inlay-Hinweise mit Pylance aktiviert sind, können Sie jetzt bequemer zu einer Typdefinition navigieren, indem Sie mit der Maus darüber fahren und bei gedrückter Ctrl-Taste (Cmd unter macOS) klicken.

Neustartunterstützung beim Debuggen von Tests
Sie können den Debugger jetzt neu starten, wenn Sie Tests über das Steuerelement der Debug-Symbolleiste debuggen.
GitHub Pull Requests und Issues
Es gab weitere Fortschritte bei der Erweiterung GitHub Pull Requests, die es Ihnen ermöglicht, Pull Requests und Issues zu bearbeiten, zu erstellen und zu verwalten. Lesen Sie das Changelog für die Version 0.96.0 der Erweiterung, um die Highlights kennenzulernen.
Erweiterungs-Authoring
Auswirkungen des EcmaScript Module (ESM) Ladens von VS Code
Wir sind dabei, wie unser Code in VS Code Core geladen wird, von AMD/CommonJS auf ESM umzustellen. Erweiterungen werden weiterhin als CommonJS geladen, aber diese Änderung bringt eine Änderung an der require-Methode mit sich: Insbesondere wird require.main ab unserer 1.94-Version undefined sein. Wenn Sie einen Anwendungsfall haben, um auf eine Datei aus der Installation zuzugreifen, ziehen Sie bitte vscode.env.appRoot stattdessen in Betracht oder kontaktieren Sie uns.
Terminal Shell Integration API
Die Terminal Shell Integration API ist jetzt verfügbar. Diese leistungsstarke API ermöglicht es einer Erweiterung, ausgeführte Befehle in Terminals zu überwachen und deren Rohausgabe, Exit-Code und Befehlszeilen zu lesen.
window.onDidEndTerminalShellExecution(event => {
if (event.execution.commandLine.value.startsWith('git')) {
if (event.exitCode === 0) {
// React to a successful git command
} else {
// React to a failing git command
}
}
});
Sie bietet auch eine zuverlässigere Methode zur Ausführung eines Befehls, die auf eine Eingabeaufforderung wartet, bevor der Befehl gesendet wird, um zu verhindern, dass der Befehl ein zusätzliches Mal im Terminal ausgegeben wird.
const commandLine = 'echo "Hello world"';
if (term.shellIntegration) {
const execution = shellIntegration.executeCommand({ commandLine });
window.onDidEndTerminalShellExecution(event => {
if (event.execution === execution) {
console.log(`Command exited with code ${event.exitCode}`);
}
});
} else {
term.sendText(commandLine);
// Without shell integration, we can't know when the command has finished or what the
// exit code was.
}
Siehe die API in vscode.d.ts und das Erweiterungsbeispiel für weitere Informationen.
Terminal.shellIntegrationwindow.onDidChangeTerminalShellIntegrationwindow.onDidStartTerminalShellExecutionwindow.onDidEndTerminalShellExecution
Authentifizierungskonto-API
Die Authentifizierungs-APIs bieten nun mehr Kontrolle bei der Handhabung mehrerer Konten. Etwas, das immer gefehlt hat, war die Möglichkeit, alle Konten abzurufen und eine AuthenticationSession für ein bestimmtes Konto zu erhalten. Das ist nun mit der Finalisierung der getAccounts-API möglich.
Erweiterungsautoren, die Authentifizierungssitzungen nutzen möchten, können den folgenden Code ausführen, um die AuthenticationSessionAccountInformation der Konten zu erhalten, bei denen der Benutzer angemeldet ist.
const accounts = vscode.authentication.getAccounts('microsoft');
Von dort können Sie diese Konten verwenden, um Sitzungen speziell für diese Konten zu erstellen.
const session = vscode.authentication.getSession('microsoft', scopes, {
account: accounts[0]
});
Hinweis: Damit dies funktioniert, muss der Authentifizierungsanbieter einen Parameter verarbeiten, der sowohl an
getSessionsals auch ancreateSessionübergeben wird. Die integrierten GitHub- und Microsoft-Anbieter haben dies bereits übernommen.
Wir glauben, dass dies der klarste Weg ist, mehrere Authentifizierungssitzungen zu verwalten und auch verschiedene Szenarien zu bewältigen, die wir bisher nicht unterstützen konnten.
Debug Adapter Protocol
Wir haben locationReferences zu Variablen und anderen Datentypen im Debug Adapter Protocol hinzugefügt, um die Zuordnung eines Quellorts zu ermöglichen.
WebAssemblies in VS Code
Die Versionen 1.0 der Erweiterung wasm-wasi-core zusammen mit den npm-Modulen @vscode-wasm-wasi und @vscode/wasm-component-model wurden veröffentlicht. Nutzungsbeispiele finden Sie im Repository vscode-extension-samples in den Unterordnern wasm-*. Es gibt auch mehrere Beiträge darüber, wie WebAssembly-Code innerhalb einer VS Code-Erweiterung verwendet werden kann, im VS Code-Blog.
Vorschau-Features
Verbesserungen an der Terminal-IntelliSense
Experimentelle PowerShell-IntelliSense erhielt in dieser Version die folgenden Verbesserungen:
git checkoutenthält nun eine Vervollständigung für-, um zum vorherigen Branch zu wechseln.- Der Standardwert für
terminal.integrated.suggest.runOnEnterist nun aufignoregesetzt, was bedeutet, dass Enter überhaupt nicht mit IntelliSense interagiert. Dies war Feedback von Benutzern, die die Auswirkungen auf die Muskelgedächtnis zu störend fanden. - PowerShell-Schlüsselwörter sind nun als Vervollständigungen für den Befehl (nicht die Argumente) verfügbar.
- Der Vorschlag für das Verzeichnis
cdist nun immer er selbst, was die Sache reibungsloser macht, wennterminal.integrated.suggest.runOnEntergesetzt ist.
- Vorschläge sind nun konsistenter, wenn sie an verschiedenen Positionen in der Befehlszeile angefordert werden.
- Eine Vervollständigung wird für
<path>/../bereitgestellt, wenn Verzeichnisse zurücknavigiert werden.
Conpty wird im Produkt ausgeliefert
Conpty ist das Backend für das Terminal, das emuliert, wie Pseudoterminals auf anderen Betriebssystemen funktionieren. Diese Komponente wird in Windows selbst ausgeliefert, was bedeutet, dass Fehlerbehebungen über Windows Update veröffentlicht werden. Benutzer müssen möglicherweise lange auf die Zustellung dieser Korrekturen warten.
In dieser Version gibt es eine experimentelle Einstellung, die Conpty in VS Code selbst bündelt, ähnlich wie es Windows Terminal tut. Das bedeutet, dass Benutzer Fehlerbehebungen erhalten können, wenn wir Updates für VS Code veröffentlichen, anstatt auf Windows-Updates warten zu müssen.
Um dies zu aktivieren, setzen Sie die folgende Einstellung auf true.
"terminal.integrated.experimental.windowsUseConptyDll": true
Die Art von Verbesserungen, die Sie für die Aktivierung dieser Funktion erwarten sollten, sind:
- Bessere Leistung
- Zuverlässigere Shell-Integration
- Mehr Escape-Sequenz-Unterstützung (z.B. bald Sixel-Unterstützung unter Windows)
Das einzige derzeit bekannte Problem ist, dass bei einigen Benutzern ein Prozess übrig bleibt und VS Code-Updates blockiert (microsoft/vscode#225719), was das manuelle Beenden des Prozesses zur Ermöglichung von Updates erfordert.
TypeScript 5.6-Unterstützung
Wir haben unsere Unterstützung für die kommende TypeScript 5.6-Version weiter verbessert. Lesen Sie den Blogbeitrag zur Ankündigung von TypeScript 5.6 RC, um Details zu dieser Version zu erfahren.
Um Vorschau-Builds von TypeScript 5.6 nutzen zu können, installieren Sie die TypeScript Nightly-Erweiterung.
Neue Implementierung des Issue Reporters
In diesem Meilenstein experimentieren wir mit einer neuen Implementierung des Issue Reporters. Die Funktionalität bleibt dieselbe, es sollte jedoch einige Verbesserungen geben, wie z. B. eine verbesserte Unterstützung für mehrere Monitore und die Verfügbarkeit des Issue Reporters in VS Code für das Web.
Die neue Version des Issue Reporters ist standardmäßig aktiviert und kann in Desktop-Versionen von VS Code mit der Einstellung issueReporter.experimental.auxWindow konfiguriert werden.
Vorgeschlagene APIs
Werkzeuge für Sprachmodelle
Wir arbeiten weiter an unserer LanguageModelTool API. Die API besteht aus zwei Hauptteilen
-
Die Möglichkeit für Erweiterungen, ein Tool zu registrieren. Ein Tool ist ein Funktionsbestandteil, der für Sprachmodelle gedacht ist. Zum Beispiel das Lesen der Git-Historie einer Datei.
-
Die Mechanismen, mit denen Sprachmodelle Tools unterstützen, wie z. B. das Übergeben von Tools durch Erweiterungen bei Anfragen, das Anfordern einer Tool-Ausführung durch Sprachmodelle und die Rückmeldung der Ergebnisse einer Tool-Ausführung durch Erweiterungen.
Eine der Änderungen in diesem Monat ist die Möglichkeit für den Benutzer, bestimmte Tools manuell zu seiner Chat-Anfrage hinzuzufügen. Ein Beispiel hierfür wäre ein Tool, das einen dynamischen Kontext berechnet, den der Benutzer in seiner Anfrage verwenden möchte.
Der Vorschlag ist unter vscode.proposed.lmTools.d.ts zu finden. Schauen Sie sich die Beispielerweiterung tool-user an, die die Registrierung und den Aufruf von Tools demonstriert.
Beobachten Sie Issue #213274 für Updates oder um uns Feedback zu geben.
Hinweis: Die API befindet sich noch in der aktiven Entwicklung, und Dinge werden sich ändern.
Verbesserungen beim Testen
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 wechseln, und ermöglicht Aktionen wie Tests an der Cursorposition ausführen, die auch im Implementierungscode funktionieren. Wir gehen davon aus, dass wir weitere Erfahrungen entwickeln werden, wenn sich die API weiterentwickelt.
Weitere Informationen und Updates finden Sie unter vscode#126932.
Zurechenbare Testabdeckung
Wir arbeiten an einer API zur Zuordnung der Testabdeckung pro Test. Dies ermöglicht es Benutzern zu sehen, welche Tests welchen Code ausgeführt haben, und filtert sowohl die im Editor angezeigte Abdeckung als auch die in der Ansicht Test Coverage.
Weitere Informationen und Updates finden Sie unter vscode#212196.
API zur Erkennung von Chat-Teilnehmern
Wenn Sie eine Erweiterung erstellen, die Teilnehmer oder Chat-Befehle für die Chat-Ansicht bereitstellt, können Sie Ihre Teilnehmer und Befehle automatisch erkennen lassen, indem Sie Metadaten zu Ihrem chatParticipants-Beitrag in package.json hinzufügen. Wir haben das vscode-extension-samples-Repository mit Beispielen aktualisiert, wie Sie diese API nutzen können. Testen Sie dabei unbedingt die Einstellung chat.experimental.detectParticipant.enabled. Bitte beachten Sie, dass es sich hierbei um eine vorgeschlagene API handelt, die sich ändern kann.
Webseite
Wir haben mehrere Links auf der Seite VS Code API korrigiert. Links zu generischen Typen und Funktionen funktionieren wieder, und primitive Typen und Werte werden nicht mehr als Links formatiert!
Technik
Fortschritt bei der Nutzung von ESM für VS Code
Während dieses Meilensteins haben wir die meiste Arbeit zur Übernahme von ESM für VS Code Core abgeschlossen. Unser Ziel ist es, ECMAScript Modules (ESM) zu verwenden und AMD vollständig abzuschaffen. Wir werden im September beginnen, ESM-fähige Insider-Builds zu veröffentlichen und planen, ESM im Oktober für unsere nächste stabile Version zu veröffentlichen.
Unser Plan für die Veröffentlichung von ESM ist unter https://github.com/microsoft/vscode/issues/226260 erfasst.
Bemerkenswerte Fehlerbehebungen
Vielen Dank
Last but not least, ein großes Danke an die Mitwirkenden von VS Code.
Fehlerverfolgung
Beiträge zu unserer Fehlerverfolgung
- @gjsjohnmurray (John Murray)
- @IllusionMH (Andrii Dieiev)
- @RedCMD (RedCMD)
- @albertosantini (Alberto Santini)
Pull-Anfragen
Beiträge zu vscode
- @akinomyoga (Koichi Murase): Korrektur der Bash-Integration, die
$?für PROMPT_COMMAND überschreibt PR #226929 - @andrewbranch (Andrew Branch): [typescript-language-features] Präferenz autoImportSpecifierExcludeRegexes hinzugefügt PR #226202
- @anton-matosov (Anton Matosov): Nachfolge-PR zu #171066, der zsh- und fish-Shell-Implementierungen behebt PR #223421
- @arvid220u (Arvid Lunnemark): Nie geleerte Auxwindow-Timeouts ausführen PR #221296
- @BABA983 (BABA)
- Doppelten Code entfernen PR #224091
- Beibehaltung der ursprünglichen Reihenfolge von Terminal-Tabs nach dem Ziehen mehrerer Tabs PR #224591
- Befehl registerWindowTitleVariable hinzugefügt PR #225408
- @bsShoham (Shoham Ben Shitrit): Chat-Variablen-Vervollständigung am Wortanfang auslösen PR #224174
- @Cecil0o0 (hj): refactor: gleiche Namespace-Deklaration zusammenführen PR #219638
- @CGNonofr (Loïc Mangeonjean): Node-Umgebung überall korrekt erkennen PR #221357
- @cobey (Cody Beyer): Hinzufügen von KI-Inferenz-Tags für Python und JS PR #225098
- @dangerman (Anees Ahee)
- Fehlenden Befehl "Restart TS Server" im Befehlsmenü behoben PR #223433
- Abgerundete Fokusumrandungen für Benachrichtigungen PR #225824
- @Flanker32 (Hanxiao Liu): Workspace-Tagging für Java-KI-Bibliotheken aktualisiert PR #223677
- @gabritto (Gabriela Araujo Britto)
- [typescript-language-features] Commit-Zeichen von tsserver verwenden, wenn verfügbar PR #223541
- [typescript-language-features] Diagnose-Telemetrieeigenschaftsname korrigiert PR #225079
- @gjsjohnmurray (John Murray)
- Schreibgeschütztes Dateinamens-Dekorationsbild nach Rückgängigmachung angezeigt, das auch mtime zurücksetzt (Fix #221014) PR #221023
- Falsche Groß-/Kleinschreibung von Statusleisten-Texten bei Vervollständigungselementen behoben (#_225429) PR #225431
- Beschreibung der Einstellung
workbench.editor.enablePreviewverbessert (Fix #225453) PR #225704
- @hron (Aleksei Gusev): fix:
merge.toggleActiveConflictals Tastenkürzel PR #225320 - @iisaduan (Isabel Duan): Einstellungen für TypeScript's organizeImports zur Einstellungs-Oberfläche hinzugefügt PR #209293
- @jeanp413 (Jean Pierre)
- Suchergebnisse werden bei Editoränderungen nicht automatisch aktualisiert, wenn die Suchansicht an einen anderen Ort verschoben wird, behoben PR #215764
- Codicon für die Umbenennung des Terminals geändert PR #225444
- Explorer ignoriert Ordner/Elemente, die das Wort "cut" enthalten, behoben PR #225455
- @Jesscha (JessCha): Tippfehler in extHostExtensionService.ts behoben PR #224111
- @m-byte (Matthias B.): Fix: apt-Quellen nur für Benutzer hinzufügen, die sie wünschen (#_22145) PR #221285
- @mkasenberg: focusResult des Sucheditors behoben PR #205914
- @mogelbrod (Victor Hallberg): Option "Sortieren nach zuletzt aktualisiert" zum Kommentarfenster hinzugefügt PR #221665
- @NriotHrreion (Norcleeh): Fix: Befehlsmenü schließt, wenn aktives Terminal beendet wird PR #225500
- @r3m0t (Tomer Chachamu): Behebt das Problem "Open Workspace Settings", wenn die Benutzereinstellungen geöffnet sind (Fix #148709) PR #225311
- @rbuckton (Ron Buckton): Aktualisierung zur Unterstützung von strictBuiltinIteratorReturn PR #222009
- @rehmsen (Ole): Normaler Text in Markdown-Kommentaren in Notebook-Editoren umbrechen lassen. PR #224484
- @RichardLuo0 (RichardLuo): Fix: Tooltips von Dialogfeldschaltflächen entfernen PR #225772
- @stalematker (Kevin): Tippfehler in extensionEnablementService.ts behoben PR #224145
- @swordensen (Michael Sorensen): Behebt #218626 PR #219148
- @thegecko (Rob Moran): Hinzufügen des `viewContainer`-Beitragspunkts PR #212499
- @tisilent (xiejialong): Hinzufügen von scm.compactFolders. PR #221459
- @troy351: Fix: multiDiffEditor hat einen falschen Hintergrundfarbnamen PR #224151
- @walter-erquinigo (Walter Erquinigo): Fehler von Dynamic Debug Configuration Providern behandeln PR #202622
- @zkat (Kat Marchán): Verhindert, dass AutoInstallerFs für immer abstürzt und korrigiert den Typen-Installer PR #225648
Beiträge zu vscode-css-languageservice
- @wkillerud (William Killerud): Fix: Unterstützung für bedingte Exporte im Sass-Paket PR #400
Beiträge zu vscode-eslint
- @denis-sokolov (Denis Sokolov): Trivialfixe im Readme PR #1903
Beiträge zu vscode-flake8
- @taesungh (Taesung Hwang): Globale Einstellungen für
ignorePatterns-Standardwert verwenden PR #327
Beiträge zu vscode-generator-code
- @spjpgrd (seán patrick john paul george ringo doran): vsc-extension-quickstart.md aktualisiert PR #486
Beiträge zu vscode-hexeditor
- @tomilho (Tomás Silva): HexEditor-Diff PR #522
Beiträge zu vscode-isort
- @iloveitaly (Michael Bianco): Fix: Werkzeugpfad hinzufügen, damit isort ohne gebündelte Version funktioniert PR #417
- @jicruz96 (J.I. Cruz): Traceback nicht protokollieren, wenn die Datei den Kommentar
skip_fileenthält PR #416
Beiträge zu vscode-js-profile-visualizer
Beiträge zu vscode-json-languageservice
- @jeremyfiel (Jeremy Fiel): Ungültiges JSON-Beispiel in DocumentSymbols.test.ts aktualisiert PR #241
- @remcohaszing (Remco Haszing): Thenable veraltet und Alias zu PromiseLike PR #239
- @ttlopes (Tomás Lopes): Behebt microsoft/vscode#209655: Fehler bei sortiertem JSON mit falscher Groß-/Kleinschreibung PR #238
Beiträge zu vscode-languageserver-node
- @DavyLandman (Davy Landman): Fehlermeldung vom LSP-Server anzeigen PR #1490
- @sh-cho (Seonghyeon Cho): npm-, Azure-Pipeline-Links korrigiert PR #1544
Beiträge zu vscode-loader
- @SimonSiefke (Simon Siefke): feature:
amdLoaderGlobalaufglobalThissetzen, fallsthisnicht definiert ist PR #58
Beiträge zu vscode-mypy
- @hamirmahal (Hamir Mahal)
- @meghprkh (Megh Parikh): mypy auf 1.11.0 aktualisiert PR #311
Beiträge zu vscode-pull-request-github
Beiträge zu vscode-python-debugger
Beiträge zu vscode-vsce
- @BlackHole1 (Kevin Cui): Fix: probabilistischer Auslöser für V8-Absturz PR #1032
- @mark-wiemer (Mark Wiemer): Warnung vor Veralterung von Punycode behoben PR #1037
Beiträge zu language-server-protocol
- @asukaminato0721 (Asuka Minato): Egglog hinzugefügt PR #1989
- @LPeter1997: Draco.Lsp als LSP-SDK in .NET hinzugefügt PR #2001
- @marcoroth (Marco Roth)
- @techee (Jiří Techet): Geany zur Liste der Editoren hinzugefügt, die LSP unterstützen PR #2008
- @XuechunHHH (Xuechun Hua): PartiQL zu servers.md hinzugefügt PR #1985
Beiträge zu python-environment-tools