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

November 2023 (Version 1.85)

Update 1.85.1: Das Update behebt diese Probleme.

Update 1.85.2: Das Update behebt diese Probleme.

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


Willkommen zur November 2023-Version von Visual Studio Code. Es gibt viele Neuerungen in dieser Version, die Ihnen hoffentlich gefallen werden. Hier sind einige der wichtigsten Highlights:

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.

GitHub Universe, Copilot und VS Code

Wenn Sie dieses Jahr GitHub Universe verfolgen oder daran teilnehmen konnten, haben Sie gesehen, dass GitHub Copilot im Mittelpunkt stand. Copilot wurde in der Eröffnungskeynote und in Breakout-Sitzungen wie GitHub Copilot: der KI-Pair-Programmierer für heute und morgen vorgestellt.

Das VS Code-Team hat hart daran gearbeitet, Copilot in den Editor zu integrieren. Mehr über die Fortschritte des Teams im Vorfeld von GitHub Universe erfahren Sie in unserem kürzlich veröffentlichten Blogbeitrag Die Jagd nach "wicked smartness" in VS Code. Der Beitrag beschreibt die Entwicklung von Copilot Chat Agents, die als Fachexperten für Codebasen und Technologien fungieren, und wie Erweiterungsautoren eigene benutzerdefinierte Agents zu VS Code beitragen können.

Barrierefreiheit

Barrierefreie Ansicht

In der letzten Iteration haben wir das automatische Schließen der Barrierefreiheitsansicht beim Drücken einer Taste für einen nahtlosen Übergang zwischen einer UI-Komponente und ihrer Barrierefreiheitsansicht eingeführt. In einigen Fällen ist dieses Verhalten möglicherweise nicht erwünscht und kann jetzt über die Einstellung accessibility.accessibleView.closeOnKeyPress deaktiviert werden.

Wenn Sie zwischen dem Terminal und der Barrierefreiheitsansicht des Terminals wechseln, sollten Sie terminal.integrated.accessibleViewFocusOnCommandExecution aktivieren. Dies öffnet automatisch die Barrierefreiheitsansicht, nachdem ein Befehl im Terminal ausgeführt wurde.

Tooltips, die bei Tastaturfokus angezeigt werden

Um die Benutzerfreundlichkeit für Tastaturbenutzer zu verbessern, werden Tooltips jetzt beim Tastaturfokus für Elemente mit benutzerdefinierten Hover-Effekten, wie z. B. Elemente der Aktivitätsleiste und Statusleiste, angezeigt.

Tooltip for Extensions view icon in the Activity Bar

Spracherkennungs-Timeout

Eine neue Einstellung accessibility.voice.speechTimeout steuert, wie lange bei Stille gewartet wird, bevor Spracheingaben akzeptiert werden, z. B. für Copilot Chat. Standardmäßig wird die Spracheingabe nach 1,2 Sekunden Stille automatisch übermittelt. Sie können dies auf 0 setzen, um die Annahme von Spracheingaben vollständig zu deaktivieren.

Workbench

Schwebende Editorfenster

Wir freuen uns, Ihnen mitteilen zu können, dass Sie mit dieser Version Editoren aus dem Hauptfenster in eigene, leichtgewichtige Fenster verschieben können. Änderungen an einem Editor in einem Fenster wirken sich sofort auf alle anderen Fenster aus, in denen der Editor geöffnet ist.

Der einfachste Weg, ein schwebendes Editorfenster zu erstellen, besteht darin, einen Editor aus dem aktuellen Fenster zu ziehen und ihn auf einen leeren Bereich auf Ihrem Desktop fallen zu lassen.

Theme: GitHub Dark (Vorschau auf vscode.dev)

Die neue Einstellung workbench.editor.dragToOpenWindow kann dieses Verhalten deaktivieren.

Es gibt auch neue globale und kontextbezogene Befehle zum Verschieben oder Kopieren von Editoren und Editor-Gruppen in eigene Fenster.

  • Ansicht: Editor in neuem Fenster kopieren (workbench.action.editor.copyWithSyntaxHighlightingAction)
  • Ansicht: Editor in neues Fenster verschieben (workbench.action.editor.moveEditorToNextWindow)
  • Ansicht: Editor-Gruppe in neues Fenster kopieren (workbench.action.editor.copyGroupToNextWindow)
  • Ansicht: Editor-Gruppe in neues Fenster verschieben (workbench.action.editor.moveGroupToNextWindow)
  • Ansicht: Neues leeres Editorfenster (workbench.action.newWindow)

Der Editorbereich in schwebenden Fenstern kann mit jedem komplexen Layout angeordnet werden, das Sie wünschen. Und da sowohl Terminals als auch Suchergebnisse als Editoren geöffnet werden können, können Sie diese Funktionen jetzt auch in separaten Fenstern haben!

Terminal and Search as editors in a floating window

Probieren Sie diese neue Funktion aus und melden Sie alle Probleme, die Sie feststellen. Stellen Sie sicher, dass Sie unsere bestehenden Probleme überprüfen und Ihre Stimme für fehlende Funktionen abgeben.

Native Einfügung im Dateiexplorer

VS Code unterstützt jetzt das native Einfügen von Dateien aus dem Explorer Ihres Betriebssystems in den VS Code-Dateiexplorer.

Erweiterungs-Auto-Update-Steuerung

Sie können jetzt auswählen, welche Erweiterungen automatisch aktualisiert werden sollen. Dies ist hilfreich, wenn Sie nicht alle Erweiterungen automatisch aktualisieren möchten, sondern selektiv auswählen möchten, welche aktualisiert werden sollen. Sie können entweder eine Erweiterung oder alle Erweiterungen eines Herausgebers auswählen. Wenn Sie alle Erweiterungen eines Herausgebers automatisch aktualisieren möchten, können Sie einzelne Erweiterungen dieses Herausgebers abwählen.

Choose extensions to auto update

Sie sollten entweder keine automatischen Updates aktiviert haben (Keine) oder automatische Updates für ausgewählte Erweiterungen aktiviert haben (Ausgewählte Erweiterungen), um diese Funktion nutzen zu können.

Auto update mode options with Selected Extensions checked

Neue Profilsymbole

Die folgenden neuen Profilsymbole können Ihren Profilen hinzugefügt werden.

New Profile icons

  • vr
  • piano
  • coffee
  • snake
  • robot
  • game
  • chip
  • music

Verbesserungen und Fehlerbehebungen bei der Suche im Einstellungen-Editor

Der Einstellungen-Editor sortiert Suchergebnisse wieder zuerst nach dem Übereinstimmungstyp und nicht nur nach dem Inhaltsverzeichnis. Das heißt, Titel- und Schlüsselworttreffer erscheinen ganz oben, sodass Sie nicht nach unten scrollen müssen, um eine Einstellung mit einem übereinstimmenden Titel zu finden.

Settings editor showing the windows.titleBarStyle setting appearing first when searching "title bar style"

Thema: Light Pink (Vorschau auf vscode.dev)

Der Einstellungen-Editor ordnet Einstellungen immer noch nach dem Inhaltsverzeichnis für Gleichstände, was bedeutet, dass die order-Schlüssel von Erweiterungsautoren für Suchanfragen wie @ext:<extension-id> berücksichtigt werden.

Viele Rückschritte im Einstellungen-Editor wurden in dieser Iteration ebenfalls behoben, einschließlich des Fehlers, dass der Einstellungen-Editor aufgrund von Netzwerkproblemen nicht geladen wurde und bei bestimmten Suchanfragen hängen blieb.

Editor

Code-Aktionen beim Speichern und automatisch

Sie können jetzt Code-Aktionen beim automatischen Speichern im Editor aktivieren, und die Einstellungen Editor: Code-Aktionen beim Speichern (editor.codeActionsOnSave) wurden zu entsprechenden Enum-Werten migriert. Wenn auf always gesetzt, können Code-Aktionen beim Speichern oder automatischen Speichern bei Fensterwechsel (onWindowChange) oder Fokuswechsel (onFocusChange) ausgeführt werden. Um diese Funktion zu aktivieren, aktivieren Sie Editor: Code-Aktionen beim Speichern (editor.codeActionsOnSave) und ändern Sie die Einstellung jeder Code-Aktion auf always.

Die Aktualisierungen der Einstellungswerte sind wie folgt, wobei die vorherigen booleschen Werte zugunsten des Zeichenfolgenäquivalents veraltet sein werden.

Die Optionen sind

  • explicit - Löst Code-Aktionen beim expliziten Speichern aus. Entspricht true.
  • always - Löst Code-Aktionen beim expliziten Speichern und bei automatischen Speichervorgängen durch Fenster- oder Fokuswechsel aus.
  • never - Löst niemals Code-Aktionen beim Speichern aus. Entspricht false.

Hervorhebung mehrerer Dokumente

Die Hervorhebung mehrerer Dokumente wird durch eine neue vorgeschlagene MultiDocumentHighlightProvider-API zusätzlich unterstützt. Es gibt jetzt eine integrierte Unterstützung für die semantische Hervorhebung von Vorkommen für die TypeScript-Sprache, die durch Ändern des Einstellungswerts Editor: Vorkommen hervorheben (editor.occurrencesHighlight) von singleFile auf multiFile aktiviert werden kann. Für andere Sprachen als TypeScript werden Vorkommen mehrerer Dokumente anhand von textuellen Vorkommen hervorgehoben, bis mehr sprachspezifische Provider implementiert sind.

Quellcodeverwaltung

Eingehende/Ausgehende Änderungen

In diesem Meilenstein haben wir einen neuen Abschnitt Eingehende/Ausgehende in der Ansicht "Quellcodeverwaltung" eingeführt, um eingehende und ausgehende Änderungen für den aktuellen Branch im Vergleich zu seinem Remote anzuzeigen. Der neue Abschnitt zeigt sowohl die einzelnen Änderungen mit der Anzahl der geänderten Ressourcen sowie Einfügungen und Löschungen an, als auch einen Eintrag Alle Änderungen, der alle Ressourcen über alle Änderungen hinweg zusammenfasst. Die Sichtbarkeit des neuen Abschnitts kann über die Einstellungen scm.showIncomingChanges und scm.showOutgoingChanges gesteuert werden. Beide Einstellungen unterstützen die folgenden Werte: always, auto (Standard) und never.

Incoming/Outgoing changes in the Source Control view

Maximale Eingabezeilen

Zuvor wuchs die Eingabe der Quellcodeverwaltung automatisch an, um maximal 6 Textzeilen anzuzeigen, was für die meisten Commit-Nachrichten ausreichend Platz bot. Es gab jedoch Fälle, in denen mehr Platz hilfreich gewesen wäre, und es gibt eine neue Einstellung, scm.inputMaxLines, die die maximale Anzahl von Zeilen in der Eingabe der Quellcodeverwaltung steuert.

Terminal

Sticky Scroll

Sticky Scroll ist im Terminal gelandet! Mithilfe von Informationen aus der Shell-Integration bleibt die Eingabeaufforderung des Befehls am oberen Rand des Ansichtsfensters am oberen Rand des Terminals haften, ähnlich wie Sticky Scroll im Editor funktioniert.

Running 'ls' command in the terminal will show the 'ls' prompt at the top of the terminal

Ein Klick auf ein Sticky Scroll-Element scrollt zu diesem Teil des Terminalpuffers.

Dies ist derzeit standardmäßig deaktiviert, kann aber durch Setzen von "terminal.integrated.stickyScroll.enabled": true aktiviert werden. Wir planen, dies in Zukunft standardmäßig zu aktivieren, und dann können Sie es deaktivieren, indem Sie mit der rechten Maustaste klicken und es deaktivieren.

Befehlshervorhebung

Das Überfahren eines Befehls im Terminal zeigt nun einen Hervorhebungsbalken links davon an. Dies ist nützlich für einfache Terminal-Eingabeaufforderungen, bei denen nicht klar ist, wo ein Befehl beginnt und ein anderer endet.

Hovering a command will show a line to the left that highlights the command and its output

Shell-Integration und Verbesserungen bei der Befehlsnavigation

Mit der Einführung von Sticky Scroll wurden viele Verbesserungen an der Shell-Integration vorgenommen. Insbesondere bei Terminals unter Windows, wo die von der Shell-Integration empfangenen Marker nicht vollständig zuverlässig sind. Es gibt nun Logik, die den Terminalinhalt intelligent scannt und die Marker anpasst, bevor der Terminalbefehl verfügbar gemacht wird.

Die Shell-Integration kann nun auch die einzelnen Teile einer Eingabeaufforderung erkennen: die Eingabeaufforderung und ihre Eingabe. Dies bestimmt, welcher Teil des Befehls bei Verwendung von Sticky Scroll angezeigt wird. Dies wird auch leere Zeilen vom Anfang der Eingabeaufforderung abschneiden, die häufig verwendet werden, um die Ausgabe zu trennen und das Terminal leichter lesbar zu machen.

Die vorhandene Funktion für die Befehlsnavigation profitiert ebenfalls, da Sie zur zuverlässigeren Eingabeaufforderung für Sticky Scroll navigieren können, anstatt zur weniger zuverlässigen Eingabeaufforderungszeile.

Vorher

Before only a single line would be highlighted

Nachher

When navigating commands, the entire prompt is now highlighted

Verbesserte Unterstreichungsdarstellung

Gestrichelte und gepunktete Unterstreichungen im Terminal werden jetzt pixelgenau gerendert.

Dotted and dashed underlines are now pixel perfect

The underline improvements also work when zoomed in

Git Pull Quick Fix

Wenn ein Git-Branch-Checkout mit Fast Forward erfolgen kann, bietet ein neues Terminal-Quick-Fix die Option, git pull auszuführen.

Aufgaben

Die Einstellung npm.packageManager kann nun auf bun gesetzt werden, um die Erkennung und Ausführung von Bun-Skripten zu aktivieren, die in package.json definiert sind.

Debuggen

JavaScript Debugger

Visualisierung von Heap-Schnappschüssen

V8-Heap-Schnappschüsse, gespeichert als .heapsnapshot, können jetzt in VS Code visualisiert werden. Es gibt sowohl eine herkömmliche Tabellenansicht als auch eine grafische Darstellung der Retainer eines bestimmten Speicherobjekts.

Graphical view of a heap snapshot showing references to a specific memory object

Theme: Codesong (Vorschau auf vscode.dev)

Heap-Schnappschüsse können mit dem Befehl Performance-Profil erstellen während des Debuggens von JavaScript-Code erfasst werden. Sie können auch über den Tab Speicher in den Browser-Entwicklertools erfasst werden.

Verbesserte Ansicht von Ereignislistener-Breakpoints

Die Ansicht Ereignislistener-Breakpoints, die beim Debuggen von Microsoft Edge oder Google Chrome angezeigt wird, wurde verbessert. Sie ist jetzt eine Checkbox-Liste und unterstützt das Anhalten bei XHR/Fetch-Anfragen basierend auf der URL.

Event Listener Breakpoints view with "XHR/fetch URL" checked and "Add new URL" option highlighted

WebAssembly-Debugging mit Rust

Sowohl VS Code als auch wasm-bindgen haben Änderungen vorgenommen, die das Debuggen von in WebAssembly kompiliertem Rust in VS Code ermöglichen. Weitere Informationen finden Sie in unserer Dokumentation zum WebAssembly-Debugging.

Testen

Die Suchen-Steuerung wird jetzt im Terminal der Ansicht Testergebnisse unterstützt.

Sprachen

TypeScript 5.3

Diese Version enthält TypeScript 5.3. Dieses wichtige Update fügt Unterstützung für Importattribute, bessere Typeneingrenzung und mehr hinzu. Es enthält auch neue Sprach-Tooling-Funktionen und Fehlerbehebungen.

Sie können mehr über TypeScript 5.3 im TypeScript-Blog lesen.

Gehe zu Symbol im Workspace schließt jetzt standardmäßig Symbole aus node_modules aus. Dies erleichtert das Auffinden von Symbolen in Ihrem Code, ohne von Symbolen aus installierten Paketen überwältigt zu werden.

Sie können zum vorherigen Verhalten zurückkehren, das alle Symbole im Projekt einschloss, indem Sie "typescript.workspaceSymbols.excludeLibrarySymbols": false einstellen.

Sprung zur Definition für Inlay-Hinweise

Typen in JavaScript und TypeScript Inlay-Hinweisen sind jetzt interaktiv. Springen Sie schnell zur Definition eines Typs, indem Sie über den Typ fahren und bei gedrückter Strg-Taste unter Windows und Linux oder Cmd-Taste unter macOS klicken.

Inlay hint hover showing Go to Definition by using Ctrl/Cmd + click

Bevorzugen Sie die Verwendung von 'type' für automatische Importe

Nur-Typ-Importe ermöglichen es Ihnen, einen Typ zu importieren und sicherzustellen, dass der Import zur Laufzeit vollständig entfernt wird. Wenn Sie standardmäßig immer type-Importe verwenden möchten, können Sie jetzt "typescript.preferences.preferTypeOnlyAutoImports": true einstellen, und automatische Importe verwenden Nur-Typ-Importe. Diese Einstellung ist standardmäßig deaktiviert.

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

  • Installieren Sie automatisch die Erweiterungen GitHub Copilot und Pull Requests und Issues in Dev Containers.
  • Feinere Steuerung, welche Erweiterungen in Dev Containers installiert werden.
  • Lokale Maschinen-Zertifikate in lokalen Dev Containers und WSL-Sitzungen wiederverwenden.

Mehr Informationen zu diesen Funktionen finden Sie in den Release Notes für Remote Development.

Beiträge zu Erweiterungen

GitHub Copilot

Verbesserungen der Inline-Chat-Benutzeroberfläche

Der Verlauf der Inline-Chat-Eingabeaufforderungen wird jetzt über VS Code-Sitzungen hinweg gespeichert. Die Tastenkombinationen zum Anzeigen der vorherigen und nächsten Eingabeaufforderungen wurden ebenfalls zu Auf und Ab geändert, um sie an andere "vorherige und nächste"-Element-Shortcuts in VS Code anzupassen.

Wenn der Inline-Chat das Erstellen neuer Dateien vorschlägt, z. B. bei Verwendung des /test-Slash-Befehls, können Sie nun den Dateinamen und den Speicherort auswählen, indem Sie Erstellen als aus dem Dropdown-Menü Erstellen auswählen.

Create and Create As actions for newly suggested files from inline chat

Zuletzt gibt es einen neuen experimentellen leichtgewichtigen UI-Modus für den Inline-Chat. Er bietet ein reibungsloseres Streaming-Erlebnis und rendert Diffs nur bei Bedarf. Sie können ihn über die Einstellung "inlineChat.mode": "live3" aktivieren.

Inline chat lightweight mode with diff on demand

Inline-Chat für Korrekturen zeigt Zusammenfassung und Folgeaktion an

Wenn Sie Inline-Chat für Korrekturen (/fix) verwenden, erhalten Sie nun auch eine kurze Zusammenfassung, was die Korrektur bewirkt. Wenn verbleibende Fehler vorhanden sind, können Sie die Korrektur durch Klicken auf die angebotene Folgeaktion verfeinern.

Inline chat with summary

Progressive Nachrichtenanzeige im Inline-Chat

Inline-Chat verwendet nun die gleiche progressive Anzeige wie die Chat-Ansicht.

Inline chat progressive rendering

Terminal-Generierung von Commit-Nachrichten Quick Fix

In der letzten Version wurde ein Copilot "Glitzer"-Symbol zur Generierung von Commit-Nachrichten in das Eingabefeld der Quellcodeverwaltung eingefügt. Für Terminalbenutzer gibt es nun einen Quick Fix, um nach Ausführung des Befehls git add... eine bearbeitbare Commit-Nachricht im Terminal zu generieren.

Verbesserungen bei Terminal-Agenten und Befehlsvorschlägen

Alle terminalbezogenen Funktionen wurden zum @terminal-Agenten verschoben. Dies geschah, um klarzustellen, dass der Terminal-Agent keine Workspace-Informationen abrufen könnte, um die Funktionalität zu konsolidieren und die Nutzung zu erleichtern.

Hier sind die Zuordnungen von den alten zu den neuen Eingabeaufforderungen

Alt Neu
@workspace /terminal Wie liste ich Dateien auf? @terminal Wie liste ich Dateien auf?
@workspace /explain #terminalSelection @terminal #terminalSelection
@workspace /explain #terminalLastCommand @terminal #terminalLastCommand

Darüber hinaus wurden die Befehlsvorschläge in dieser Version erheblich verbessert. Terminal-Befehlsvorschläge kennen nun das Betriebssystem und die verwendete Shell. Workspace-Informationen werden ebenfalls bedingt abgerufen, je nachdem, ob Copilot glaubt, dass die Frage mit dem Workspace zusammenhängt. Die Sammlung von Workspace-Kontexten wird sich weiter verbessern, sowohl in Bezug auf die Geschwindigkeit als auch auf das, was genau referenziert wird.

Progress is displayed while fetching workspace details

Beachten Sie in diesem Beispiel, wie der @terminal-Agent weiß, wie Dateipfade im Repository microsoft/vscode gebildet werden.

The terminal agent is capable of answering questions that need knowledge about file naming standards in the repository

Es gibt auch praktische Folgeaktionen, um vorgeschlagene Befehle zu erklären, die als blaue Glitzersymbole direkt über dem Chat-Eingabefeld angezeigt werden.

The blue sparkle link just before the input box explains the suggestion

Die Aktivierung der Folgeaktion Erklären liefert eine detaillierte Erklärung des vorgeschlagenen Befehls.

The detailed explanation typically explains the command and each argument

Upgrade-Dialog für Authentifizierung bei Verwendung von GitHub-Remote-Suchfunktionen für private Repositories

Wenn für Ihr Benutzerkonto aktiviert, sucht Copilot Chat bei der Verwendung des @workspace-Agents über Remote-Suchfunktionen in Ihrem Workspace. Um die Remote-Suche mit privaten Repositories nutzen zu können, ist ein Authentifizierungstoken mit mehr Berechtigungen erforderlich. Wenn kein Token mit den erforderlichen Berechtigungen vorhanden ist, werden Sie nach zusätzlichen Berechtigungen gefragt.

Authentication dialog when searching the workspace

Sie werden diesen Dialog nur einmal sehen, und zukünftige Anfragen an den @workspace-Agenten verwenden das zwischengespeicherte Token.

Senden Sie eine Anfrage an @workspace einfacher

Da der @workspace-Agent in vielen Copilot-Abfragen verwendet wird, wollten wir sicherstellen, dass er so einfach wie möglich zu aktivieren ist. Sie können jetzt eine Frage in das Chat-Eingabefeld eingeben und dann drücken, um die Frage zu senden und automatisch @workspace voranzustellen.

Erklärung von Rust-Code mit Copilot

Copilot Chat sammelt nun dateiübergreifenden Kontext aus Ihrer Codebasis, wenn Sie es bitten, Rust-Code zu erklären und eine Rust-Sprachdienst-Erweiterung wie rust-analyzer installiert haben. Um eine Copilot-Erklärung anzuzeigen, wählen Sie Code in Ihrem aktiven Editor aus und verwenden Sie dann Copilot > Dies erklären aus dem Kontextmenü oder /explain aus dem Inline-Chat oder der Chat-Ansicht.

Copilot > Explain This action in the editor context menu

Erkennung potenzieller Schwachstellen im Code

Wir möchten sicherstellen, dass Sie sich möglicher Probleme mit Copilot-generiertem Quellcode bewusst sind. Daher führen wir Code in Chat-Ansicht-Codeblöcken jetzt durch ein Modell zur Erkennung von Code-Schwachstellen und kennzeichnen erkannte Probleme. Möglicherweise sehen Sie diese Funktion nicht sofort, aber wir werden sie schrittweise für Copilot Chat-Benutzer einführen und auch die Art der erkannten Schwachstellen abstimmen.

Wenn festgestellt wird, dass ein Codeblock eine potenzielle Schwachstelle enthält, wird er am unteren Rand des Codeblocks annotiert. Das Modell zur Erkennung von Schwachstellen wird von uns pilotiert. Treffen Sie daher Ihre eigene Bestimmung, wenn Sie die Vorschläge von Copilot und mögliche Schwachstellen überprüfen.

Copilot code vulnerability warning displayed in the Chat view

Copilot-Videos und Livestream-Sitzungen

Verpassen Sie nicht die aktuellen VS Code Copilot-Videos auf YouTube. Erfahren Sie mehr über die neuesten Copilot Chat-Funktionen und wie Copilot "viel schlauer geworden ist".

Und wenn Sie die VS Code-Livestreams noch nicht verfolgen, sollten Sie die Copilot-Demos ansehen, die in der 1.84 Release Party gezeigt wurden.

Python

Typenhierarchie mit Pylance anzeigen

Sie können jetzt die Typbeziehungen Ihrer Python-Projekte bequemer erkunden und navigieren, wenn Sie Pylance verwenden. Dies kann hilfreich sein, wenn Sie mit großen Codebasen mit komplexen Typbeziehungen arbeiten.

Wenn Sie mit der rechten Maustaste auf ein Symbol klicken, können Sie Typenhierarchie anzeigen auswählen, um die Typenhierarchieansicht zu öffnen. Von dort aus können Sie durch die Untertypen und Obertypen der Symbole navigieren.

Theme: Catppuccin Macchiato (Vorschau auf vscode.dev)

Konfigurierbare Debugging-Option im Menü der Schaltfläche "Ausführen"

Die Erweiterung Python Debugger verfügt nun über eine konfigurierbare Debug-Option im Menü der Schaltfläche Ausführen. Wenn Sie Python Debugger: Debuggen mit launch.json auswählen und bereits eine launch.json in Ihrem Workspace vorhanden ist, werden alle verfügbaren Debug-Konfigurationen angezeigt, aus denen Sie zum Starten des Debuggers auswählen können. Wenn keine Konfigurationen vorhanden sind, werden Sie aufgefordert, eine Debug-Konfigurationsvorlage auszuwählen, um eine launch.json-Datei für Ihre Python-Anwendung zu erstellen.

Python Debugger: Debug using launch.json option under the Run button menu

Deaktivierungsbefehl unterstützt, wenn er über Umgebungsvariablen aktiviert wird

Die Python-Erweiterung verfügt über einen neuen Aktivierungsmechanismus, der die ausgewählte Umgebung in Ihrem Standardterminal aktiviert, ohne explizite Aktivierungsbefehle auszuführen. Dies ist derzeit hinter einer experimentellen Flagge versteckt und kann über die folgende Benutzer-Einstellung aktiviert werden: "python.experiments.optInto": ["pythonTerminalEnvVarActivation"].

Ein anfänglicher Nachteil dieses Aktivierungsmechanismus war jedoch, dass er den deactivate-Befehl nicht unterstützte. Wir haben Feedback erhalten, dass dies ein wichtiger Teil des Workflows einiger Benutzer ist. Daher haben wir die Unterstützung für deactivate hinzugefügt, wenn das ausgewählte Standardterminal PowerShell oder Eingabeaufforderung ist. Wir haben Pläne, die Unterstützung für zusätzliche Terminals in Zukunft hinzuzufügen.

Warnmeldung und Einstellung für REPL Smart Send

Beim Versuch, Smart Send über Umschalt+Eingabe in einer Python-Datei mit ungültigem oder veraltetem Code zu verwenden, wird nun eine Warnmeldung und eine Option angezeigt, REPL Smart Send zu deaktivieren. Benutzer können ihr benutzerspezifisches und arbeitsbereichsspezifisches Verhalten für REPL Smart Send über die Einstellung Python.REPL: REPLSmart Send aktivieren (python.REPL.enableREPLSmartSend) ändern.

Settings editor entry for Python REPL Smart Send

Neuerstellung der Testarchitektur

Die Neuerstellung des Testadapters für Python wurde für 100 % der Benutzer ausgerollt. Derzeit können Sie sich abmelden, indem Sie "python.experiments.optOutFrom" : "pythonTestAdapter" zu Ihrer settings.json hinzufügen. Wir werden diese experimentelle Flagge jedoch bald entfernen und diese neue Architektur übernehmen.

GitHub Pull Requests und Issues

Es wurden weitere Fortschritte bei der Erweiterung GitHub Pull Requests und Issues erzielt, die es Ihnen ermöglicht, Pull Requests und Issues zu bearbeiten, zu erstellen und zu verwalten.

  • Merge-Warteschlangen werden jetzt in der PR-Beschreibung und der Erstellen-Ansicht unterstützt.
  • Eine neue Einstellung "githubPullRequests.allowFetch": false verhindert die Ausführung von fetch.
  • Die Unterstützung für Submodule wurde verbessert.

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

Vorschau-Features

Sticky Scroll in Bäumen

Aufbauend auf dem Erfolg von Sticky Scroll im Editor haben wir diese Funktion auf alle Baumansichten erweitert, um den Benutzern die Navigation in Projektbäumen zu erleichtern. Sticky Scroll für Bäume kann durch Setzen von workbench.tree.enableStickyScroll: true aktiviert werden. Um sicherzustellen, dass Sticky Scroll nicht zu viel Platz einnimmt, kann es maximal 40 % der Ansichtshöhe beanspruchen. Zusätzlich können Benutzer die maximale Anzahl von Sticky-Elementen konfigurieren, indem sie workbench.tree.stickyScrollMaxItemCount einstellen, das standardmäßig auf 7 gesetzt ist.

Für eine verbesserte Baum-Navigation können Sie ein Sticky-Element auswählen, um direkt dorthin im Baum zu springen, oder auf den Pfeil eines übergeordneten Elements klicken, um alle seine untergeordneten Elemente auszublenden. Darüber hinaus ist der Zugriff auf Kontrollkästchen und Aktionsschaltflächen einfacher, wenn Sticky Scroll aktiviert ist.

Multi-Datei-Diff-Editor

Diese Version liefert eine Vorschau des Multi-Diff-Editors. Der Multi-Diff-Editor ermöglicht es Ihnen, Änderungen in mehreren Dateien in einer einzigen scrollbaren Ansicht anzuzeigen.

Um den Multi-Diff-Editor zu aktivieren, setzen Sie "multiDiffEditor.experimental.enabled": true. Derzeit kann der Multi-Diff-Editor zur Überprüfung lokaler Änderungen, gestageter Änderungen, eingehender/ausgehender Änderungen und Änderungen von Pull Requests verwendet werden. Beachten Sie, dass der Multi-Diff-Editor noch nicht vollständig funktionsfähig ist und möglicherweise nicht in allen Szenarien funktioniert.

Alternative Zeichenfilterung für Koreanisch

Für verschiedene Funktionen in der Benutzeroberfläche, die Filterung verwenden, sucht VS Code nun auch nach der entsprechenden QWERTY-Tastaturbelegung, da es üblich ist, versehentlich zu vergessen, den Input Method Editor (IME) zu wechseln. Dies funktioniert ähnlich wie bei Suchmaschinen, jedoch in Echtzeit. Zum Beispiel ist debug, wenn es in einem koreanischen IME eingegeben wird, ㅇ듀ㅕㅎ, was unsinnig ist.

Searching for a "ㅇ듀ㅕㅎ" command will now present results for "debug"

Derzeit funktioniert dies nicht, wenn von mitten im Wort gefiltert wird.

Probleme-Dekorationen ausblenden

Es gibt eine neue Einstellung, um Probleme-Dekorationen im Editor und in der gesamten Benutzeroberfläche auszublenden (außer in der Probleme-Ansicht). Die Einstellung Probleme: Sichtbarkeit (problems.visibility) ist standardmäßig aktiviert, um alle Probleme anzuzeigen.

Einige UI-Einstellungen für Probleme sind deaktiviert, wenn Probleme: Sichtbarkeit deaktiviert ist.

  • Gliederung > Probleme: Abzeichen (outline.problems.badges)
  • Gliederung > Probleme: Farben (outline.problems.colors)
  • Gliederung > Probleme: Aktiviert (outline.problems.enabled)
  • Probleme > Dekorationen: Aktiviert (problems.decorations.enabled)

Eine Warnung wird in der Statusleiste angezeigt, wenn Probleme: Sichtbarkeit deaktiviert ist.

Problems: Visibility off Status Bar item and hover

Vorgeschlagene APIs

Jeder Meilenstein bringt neue vorgeschlagene APIs mit sich, und Erweiterungsautoren können sie ausprobieren. Wie immer freuen wir uns über Ihr Feedback. Hier sind die Schritte, um eine vorgeschlagene API auszuprobieren:

  1. Suchen Sie nach einem Vorschlag, den Sie ausprobieren möchten, und fügen Sie dessen Namen zu package.json#enabledApiProposals hinzu.
  2. Verwenden Sie die neueste Version von @vscode/dts und führen Sie npx @vscode/dts dev aus. Dies lädt die entsprechenden d.ts-Dateien in Ihren Workspace herunter.
  3. Sie können nun gegen den Vorschlag programmieren.

Sie können keine Erweiterung veröffentlichen, die eine vorgeschlagene API verwendet. Es kann zu Breaking Changes in der nächsten Version kommen und wir möchten niemals bestehende Erweiterungen beeinträchtigen.

Testabdeckung

In dieser Iteration haben wir die Arbeit an der Testabdeckung wieder aufgenommen, mit erster UI-Integration und einigen kleineren Aktualisierungen des langjährigen Vorschlags. Obwohl die API zu lang ist, um sie hier aufzunehmen, glauben wir, dass sie ziemlich unkompliziert ist und freuen uns über Ihr Feedback zu dem Vorschlag in Issue #123713.

Chat-Agenten

Wie in unserem Blogbeitrag Die Jagd nach "wicked smartness" in VS Code erwähnt, entwickeln wir ein Modell, damit Erweiterungen Chat-Agenten für die Copilot Chat-Ansicht beitragen können. Die Chat-Agenten-API ist vorgeschlagen, aber Sie können bereits mit dem Hinzufügen Ihres eigenen Chat-Agenten experimentieren. Abonnieren Sie Issue #199908 für Updates.

Multi-Dokument-Hervorhebungs-API

Wie in der vorherigen Version eingeführt, gibt es nun Unterstützung für die Hervorhebung mehrerer Dokumente in VS Code. In dieser Iteration haben wir eine vorgeschlagene MultiDocumentHighlightProvider-API hinzugefügt, um Multi-Dokument-Hervorhebungsanbieter zu registrieren. Dies ermöglicht die semantische Hervorhebung von Vorkommen für bestimmte Programmiersprachen. Anbieter geben eine neue MultiDocumentHighlight-Struktur mit einer Map von URI zu DocumentHighlight zurück. Feedback und weitere Updates können über Issue #196354 verfolgt werden.

Technik

Neuer CDN

Wir führen das Deployment auf einen neuen CDN-Endpunkt ein: vscode.download.prss.microsoft.com. Systemadministratoren sollten sicherstellen, dass Netzwerkregeln so konfiguriert sind, dass Datenverkehr von diesem Endpunkt zugelassen wird.

Unterstützung für macOS 10.13 und 10.14 wurde eingestellt

VS Code 1.85 ist die letzte Version, die macOS 10.13 (macOS High Sierra) und 10.14 (macOS Mojave) unterstützt. Weitere Informationen finden Sie in unseren FAQs.

Bemerkenswerte Fehlerbehebungen

  • 195796 Das Durchsuchen von Text nach Lokalisierung wird im Einstellungen-Editor nicht unterstützt
  • 197319 vscode://file// Links funktionieren nicht mehr
  • 194094 Picker für Profilsymbol nicht schließen, wenn die Maus außerhalb des Pickers bewegt wird
  • 197070 Unterstützung für die Positionierung der Debug-Symbolleiste in der benutzerdefinierten Titelleiste

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-pull-request-github

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