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

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

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.

Screenshot that shows the Profiles editor.

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.

Screenshot of VS Code on Linux, highlighting the Linux window control overlays in the top-right corner.

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.

Screenshot that shows the additional comment sorting options.

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.

Video that shows how to copy a setting URL in the Settings editor.

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.

New code action names for test and documentation generation

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.

The chat history picker shows friendly session names and entries are grouped by age.

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.

The chat response feedback dropdown, showing extra details on the thumbs down button.

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.

Copilot Chat using code generation instructions.

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.

Screenshot of Chat view that shows how the '@workspace' participant is automatically detected.

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üssel inlineChatExpansion.
  • 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.

Generate Debug Configuration with GitHub Copilot is an option in the Create a launch.json file Quick Pick.

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.

IntelliSense and error reporting for an imported package on vscode.dev.

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.

Finding all references of a symbol in a TypeScript project.

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.

Source Control Graph view showing a graph visualization of the repository.

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:

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.

Screenshot, der die Netzwerkansicht für den JavaScript-Debugger zeigt. 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.

Editor, der eine Testfehlermeldung und den entsprechenden Aufrufstack, der zum Fehler geführt hat, anzeigt. 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.

Terminal showing the prompt for adding the Microsoft packages repo during the install.

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.

Open diff by selecting Open Changes for changed resources.

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.

Django-Unit-Tests, die im Test-Explorer entdeckt und ausgeführt werden. 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.

Go to Definition supported by using Ctrl/Cmd + click when hovering over a Python type on an inlay hint.

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.

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 getSessions als auch an createSession ü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 checkout enthält nun eine Vervollständigung für -, um zum vorherigen Branch zu wechseln.
  • Der Standardwert für terminal.integrated.suggest.runOnEnter ist nun auf ignore gesetzt, 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 cd ist nun immer er selbst, was die Sache reibungsloser macht, wenn terminal.integrated.suggest.runOnEnter gesetzt ist. cd in docs wird docs als Top-Ergebnis anzeigen.
  • 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. cd ..\ wird eine Vervollständigung für ..\..\. geben.

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

  1. 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.

  2. 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

Pull-Anfragen

Beiträge zu vscode

Beiträge zu vscode-css-languageservice

Beiträge zu vscode-eslint

Beiträge zu vscode-flake8

Beiträge zu vscode-generator-code

Beiträge zu vscode-hexeditor

Beiträge zu vscode-isort

Beiträge zu vscode-js-profile-visualizer

Beiträge zu vscode-json-languageservice

Beiträge zu vscode-languageserver-node

Beiträge zu vscode-loader

Beiträge zu vscode-mypy

Beiträge zu vscode-pull-request-github

Beiträge zu vscode-python-debugger

Beiträge zu vscode-vsce

Beiträge zu language-server-protocol

Beiträge zu python-environment-tools

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