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

Oktober 2024 (Version 1.95)

Sicherheitsupdate: Die folgenden Erweiterungen haben Sicherheitsupdates: ms-python.python und ms-vscode-remote.remote-ssh.

Update 1.95.1: Das Update behebt diese Probleme.

Update 1.95.2: Das Update behebt diese Probleme.

Update 1.95.3: Das Update behebt diese Probleme.

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


Willkommen zur Oktober 2024-Version von Visual Studio Code. Diese Version enthält viele Updates, die Ihnen hoffentlich gefallen werden. Zu den wichtigsten Highlights gehören:

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 Copilot

Copilot-Funktionen können verschiedene frühe Zugriffsphasen durchlaufen, die typischerweise über Einstellungen aktiviert und konfiguriert werden.

  • Experimentell - Zeigen Sie die experimentellen Funktionen (@tag:experimental)

    Diese Einstellung steuert eine neue Funktion, die sich in aktiver Entwicklung befindet und instabil sein kann. Sie unterliegt Änderungen oder Entfernungen.

  • Vorschau - Zeigen Sie die Vorschau-Funktionen (@tag:preview)

    Diese Einstellung steuert eine neue Funktion, die sich noch in der Verfeinerung befindet, aber bereits einsatzbereit ist. Feedback ist willkommen.

Starten Sie eine Code-Bearbeitungssitzung mit Copilot Edits

Copilot Edits ist derzeit in der Vorschau

Einstellung: github.copilot.chat.edits.enabled

Mit Copilot Edits können Sie eine KI-gestützte Code-Bearbeitungssitzung starten, in der Sie Codeänderungen schnell iterieren können. Basierend auf Ihren Eingabeaufforderungen schlägt Copilot Edits Codeänderungen für mehrere Dateien in Ihrem Arbeitsbereich vor. Diese Änderungen werden direkt im Editor angewendet, sodass Sie sie schnell vor Ort mit dem vollständigen Kontext des umgebenden Codes überprüfen können.

Copilot Edits eignet sich hervorragend für die Iteration großer Änderungen über mehrere Dateien hinweg. Es vereint den konversationellen Fluss von Copilot Chat und das schnelle Feedback von Inline Chat in einer einzigen Erfahrung. Führen Sie eine laufende, mehrstufige Chat-Konversation nebenbei, während Sie von Inline-Codevorschlägen profitieren.

Starten Sie Copilot Edits in nur drei Schritten

  1. Starten Sie eine Bearbeitungssitzung, indem Sie im Chat-Menü Copilot Edits öffnen auswählen oder die Tastenkombination drücken.

    Screenshot showing the Copilot menu in the Command Center, highlighting the Open Edit Session item

  2. Fügen Sie relevante Dateien zum Arbeitsset hinzu, um Copilot mitzuteilen, mit welchen Dateien Sie arbeiten möchten.

  3. Geben Sie eine Eingabeaufforderung ein, um Copilot die gewünschte Bearbeitung mitzuteilen! Zum Beispiel: Füge eine einfache Navigationsleiste zu allen Seiten hinzu oder Verwende vitest anstelle von jest.

Erfahren Sie mehr über Copilot Edits in unserer Dokumentation. Probieren Sie es jetzt aus und geben Sie uns Feedback über unsere Issues!

Chat in der sekundären Seitenleiste

Der neue Standardort für die Chat-Ansicht ist die sekundäre Seitenleiste. Durch die Verwendung der sekundären Seitenleiste können Sie den Chat jederzeit geöffnet haben, während Ihnen andere Ansichten wie der Datei-Explorer oder die Quellcodeverwaltung weiterhin zur Verfügung stehen. Dies bietet Ihnen eine stärker integrierte KI-Erfahrung in VS Code. Sie können schnell zum Chat gelangen, indem Sie die Tastenkombination ⌃⌘I (Windows, Linux Ctrl+Alt+I) verwenden.

Chat view in its new location after having moved.

Mit der Einführung des neuen Chat-Menüs neben dem Command Center ist das Einblenden der sekundären Seitenleiste mit Chat nur einen Klick entfernt

Das Chat-Menü bietet Zugriff auf die gängigsten Aufgaben für Copilot Chat. Wenn Sie dieses Menü ausblenden möchten, steht eine neue Einstellung chat.commandCenter.enabled zur Verfügung.

Chat menu in the Command Center.

Hinweis: Wenn Sie zuvor GitHub Copilot installiert hatten, wird eine Ansicht am früheren Standort des Chats angezeigt, die es Ihnen ermöglicht, die Chat-Ansicht wieder am alten Ort wiederherzustellen, falls dies für Sie besser funktioniert.

Chat view in its old location showing that Chat has moved to the Secondary Side Bar.

Copilot-Code-Reviews

Copilot-Code-Reviews sind derzeit in der Vorschau

Mit GitHub Copilot-Code-Reviews in Visual Studio Code können Sie jetzt schnelles, KI-gestütztes Feedback zu Ihrem Code erhalten, während Sie ihn schreiben, oder eine Überprüfung aller Ihrer Änderungen anfordern, bevor Sie sie übertragen. GitHub Copilot-Code-Reviews in Visual Studio Code befinden sich derzeit in der Vorschau. Probieren Sie es aus und geben Sie Feedback über unsere Issues!

Es gibt zwei Möglichkeiten, Copilot-Code-Reviews in VS Code zu nutzen

  • Auswahl überprüfen: Für eine schnelle Überprüfung wählen Sie Code im Editor aus und wählen Sie entweder Copilot > Überprüfen und kommentieren aus dem Kontextmenü des Editors oder verwenden Sie den Befehl GitHub Copilot: Überprüfen und kommentieren aus der Befehlspalette. (Diese Funktion ist in der Vorschau.)

  • Änderungen überprüfen: Für eine tiefere Überprüfung aller nicht festgeschriebenen Änderungen wählen Sie die Schaltfläche Copilot Code Review in der Ansicht Quellcodeverwaltung aus, was Sie auch in Ihrem Pull-Request auf GitHub.com tun können. (Treten Sie der Warteliste bei, offen für alle Copilot-Abonnenten)

    Request review of uncommitted changes

Das Feedback von Copilot erscheint als Kommentare im Editor, die an Ihren Codezeilen angehängt sind. Wo immer möglich, enthalten die Kommentare umsetzbare Codevorschläge, die Sie mit einer einzigen Aktion anwenden können.

Screenshot showing a comment reviewing a code selection

Um mehr über Copilot-Code-Reviews zu erfahren, besuchen Sie die GitHub Code Review-Dokumentation.

Die schnelle Überprüfung von Copilot bei Codeauswahl kann Feedback liefern, das den spezifischen Praktiken Ihres Teams oder Projekts entspricht, vorausgesetzt, Sie geben den richtigen Kontext an. Bei der Überprüfung von Auswahlen mit benutzerdefinierten Überprüfungsanweisungen können Sie diese spezifischen Anforderungen über die Einstellung github.copilot.chat.reviewSelection.instructions definieren. Ähnlich wie bei Anweisungen zur Codegenerierung und Testgenerierung können Sie die Anweisungen entweder direkt in der Einstellung definieren oder sie in einer separaten Datei speichern und in der Einstellung referenzieren.

Der folgende Code-Schnipsel zeigt ein Beispiel für Überprüfungsanweisungen

  "github.copilot.chat.reviewSelection.instructions": [
    {
      "text": "Logging should be done with the Log4j ."
    },
    {
      "text": "Always use the Polly library for fault-handling."
    },
    {
      "file": "code-style.md" // import instructions from file `code-style.md`
    }
  ],

Ein Beispiel für den Inhalt der Datei code-style.md

Private fields should start with an underscore.

A file can only contain one class declaration.

Automatische Erkennung von Chat-Teilnehmern

Einstellung: chat.experimental.detectParticipant.enabled

GitHub Copilot verfügt über mehrere integrierte Chat-Teilnehmer, wie z. B. @workspace, und Sie haben möglicherweise auch andere Erweiterungen installiert, die Chat-Teilnehmer beisteuern.

Um die Verwendung von Chat-Teilnehmern mit natürlicher Sprache zu erleichtern, leitet Copilot Chat Ihre Frage bei Bedarf automatisch an einen geeigneten Teilnehmer oder Chat-Befehl weiter.

Wenn der automatisch ausgewählte Teilnehmer für Ihre Frage nicht geeignet ist, können Sie trotzdem auf den Link erneut ausführen ohne am oberen Rand der Chat-Antwort klicken, um Ihre Frage erneut an Copilot zu senden.

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

In diesem Monat haben wir auch eine Aktion hinzugefügt, mit der Sie dieses Erkennungsverhalten pro Anfrage überspringen können. Die Standardaktion beim Eingeben einer Chat-Eingabeaufforderung ist Senden und verteilen, was die Teilnehmererkennung einschließt. Wenn Sie Senden wählen, wird die Anfrage direkt an Copilot Chat gesendet und nicht automatisch an einen Chat-Teilnehmer verteilt.

The list of available "send" commands in the chat view.

Sie können die automatische Teilnehmererkennung auch vollständig mit der Einstellung chat.experimental.detectParticipant.enabled deaktivieren.

Steuerung des aktuellen Editor-Kontexts

Copilot Chat hat schon immer automatisch Ihre aktuelle Auswahl oder den aktuell sichtbaren Code als Kontext zu Ihrer Chat-Anfrage hinzugefügt. Große Sprachmodelle (LLMs) sind im Allgemeinen gut darin, zu verstehen, ob ein Kontextstück relevant ist. Aber manchmal, wenn Sie eine Frage stellen, die sich nicht auf Ihren aktuellen Editor bezieht, kann das Hinzufügen dieses Kontexts die Interpretation Ihrer Frage durch das Modell beeinflussen.

Wir zeigen jetzt eine spezielle Anhangskontrolle in der Chat-Eingabe an, die einen Hinweis auf den Editor-Kontext gibt und es Ihnen ermöglicht, ein- oder auszuschalten, ob der Editor-Kontext einbezogen werden soll.

The current editor context control in the chat input, which shows that the context is not included.

Es gibt keine Änderungen am Verhalten des Editor-Kontexts. Wenn der aktive Editor eine Auswahl hat, wird nur die Auswahl einbezogen. Andernfalls wird nur der Code einbezogen, der in die Ansicht gescrollt ist. Sie können immer noch andere Dateien oder die gesamte Datei anhängen, indem Sie auf die Büroklammer klicken oder # in der Chat-Eingabeaufforderung eingeben.

Ein häufiger Anwendungsfall für Copilot Chat ist das Stellen von Fragen zum Code in Ihrem Arbeitsbereich, z. B. die Verwendung von /tests zum Generieren neuer Unit-Tests für den ausgewählten Code oder die Frage an @workspace, um eine bestimmte Klasse oder Funktion in Ihrem Projekt zu finden. In diesem Meilenstein haben wir erweiterte Links für alle Arbeitsbereichssymbole hinzugefügt, die Copilot in Chat-Antworten erwähnt. Diese Symbol-Links können Ihnen helfen, Copilot-Antworten besser zu verstehen und mehr über die darin verwendeten Symbole zu erfahren.

Symbol-Links werden in der Antwort als kleine Pillen dargestellt, ähnlich wie die Datei-Links, die wir im letzten Meilenstein hinzugefügt haben. Um mehr über ein Symbol zu erfahren, klicken Sie einfach auf den Symbol-Link, um zur Definition dieses Symbols zu springen.

Sie können auch über den Symbol-Link fahren, um zu sehen, in welcher Datei das Symbol definiert ist.

Hovering over a symbol link to see the file it's defined in.

Um ein Symbol detaillierter zu untersuchen, klicken Sie mit der rechten Maustaste auf den Symbol-Link, um ein Kontextmenü mit Optionen wie Zu Implementierungen springen und Zu Referenzen springen anzuzeigen.

Using the context menu on a symbol link to learn more about a symbol.

Grundlegende Symbol-Links sollten für jede Sprache funktionieren, die "Gehe zur Definition" unterstützt. Weiterführende IntelliSense-Optionen wie "Gehe zu Implementierungen" erfordern ebenfalls die Unterstützung für diese Sprache. Stellen Sie sicher, dass Sie Sprach-Erweiterungen installieren, um die beste Symbolunterstützung für alle in Copilot-Antworten verwendeten Programmiersprachen zu erhalten.

Fehlerbehebung mit Copilot-Aktion im Problem-Hover

Wenn Sie mit der Maus über ein Problem im Editor fahren, wird nun eine Aktion zum Beheben des Problems mit Copilot angezeigt. Diese Aktion ist für Probleme verfügbar, bei denen eine Behebungsmöglichkeit besteht und die Behebung von Copilot generiert wird.

The Problem hover showing a Fix using Copilot action.

Arbeitsbereichsindexierung

@workspace ermöglicht es Ihnen, Fragen zu Code in Ihrem aktuellen Projekt zu stellen. Dies wird entweder über GitHubs Code-Suche oder einen intelligenten lokalen Index, den VS Code erstellt, implementiert. In diesem Meilenstein haben wir weitere UI-Elemente hinzugefügt, mit denen Sie verstehen können, wie dieser Arbeitsbereichsindex verwendet wird.

Zuerst ermöglicht der neue Befehl GitHub Copilot: Lokalen Arbeitsbereichsindex erstellen, den aktuellen Arbeitsbereich explizit zu indizieren. Diese Indizierung wird normalerweise automatisch gestartet, wenn Sie zum ersten Mal eine @workspace-Frage stellen. Mit dem neuen Befehl können Sie stattdessen jederzeit mit der Indizierung beginnen. Der Befehl ermöglicht auch die Indizierung größerer Arbeitsbereiche, derzeit bis zu 2000 Dateien (ohne ignorierte Dateien wie die Verzeichnisse node_modules oder out).

Während der Index erstellt wird, zeigen wir nun auch ein Fortschrittselement in der Statusleiste an.

A status bar item showing the progress of indexing the current workspace.

Das Indizieren von Arbeitsbereichen mit Hunderten von Dateien kann etwas dauern. Wenn Sie versuchen, eine @workspace-Frage zu stellen, während die Indizierung läuft, versucht Copilot anstatt zu warten, schnell zu antworten, indem es einen einfacheren lokalen Index verwendet, der schneller erstellt werden kann. Wir zeigen nun eine Warnung in der Antwort an, wenn dies geschieht.

A warning showing on a response telling the user the Copilot index is being constructed.

Beachten Sie, dass Copilot die Frage in diesem Fall trotzdem beantworten konnte, obwohl es den einfacheren lokalen Index anstelle des fortschrittlicheren verwendet hat. Das ist oft der Fall, obwohl mehrdeutige oder komplexe Fragen möglicherweise erst beantwortbar sind, sobald der intelligentere Index erstellt wurde. Beachten Sie auch, dass wir, wenn Ihr Arbeitsbereich von einem GitHub-Repository unterstützt wird, stattdessen GitHubs Code-Suche verwenden können, um Fragen zu beantworten. Das bedeutet, dass die Codesuche anstelle des einfacheren lokalen Index verwendet wird.

Verbesserungen bei Chat-Nachfassfragen

Einstellung: github.copilot.chat.followUps

Um mehr Platz für Chat-Gespräche in der Chat-Ansicht zu schaffen, haben wir Nachfassfragen prägnanter gestaltet und sie erscheinen standardmäßig nur in der ersten Runde. Konfigurieren Sie die Einstellung github.copilot.chat.followUps, um festzulegen, wann Nachfassfragen erscheinen.

  • firstOnly (Standard) - Nachfassfragen erscheinen nur in der ersten Runde
  • always - Nachfassfragen erscheinen immer
  • never - Nachfassfragen deaktivieren

Sortierung nach Relevanz in semantischer Suche (experimentell)

Einstellung: github.copilot.chat.search.semanticTextResults

Im letzten Meilenstein haben wir die Möglichkeit eingeführt, eine semantische Suche mit Copilot durchzuführen, um Suchergebnisse zu erhalten, die semantisch relevant für Ihre Abfrage sind. Wir haben die Suchergebnisse nun verbessert, indem wir sie nach ihrer Relevanz sortieren. Schlüsselworttreffer aus relevanteren Snippets werden insgesamt als relevanter eingestuft.

Workbench

Mehrere GitHub-Konten

Die Funktion vom letzten Monat wird zum Standardverhalten und es ist nun möglich, gleichzeitig mit mehreren GitHub-Konten in VS Code angemeldet zu sein.

Multiple GitHub Accounts in the Account menu.

Hier sind einige Szenarien, in denen Sie mehrere Konten benötigen könnten

  • Verwenden Sie Account1 für Settings Sync und Account2 für die GitHub Pull Request-Erweiterung
  • Verwenden Sie Account1 für die GitHub-Erweiterung (zum Pushen) und Account2 für GitHub Copilot

Um diese Funktionalität zu nutzen, lösen Sie einfach eine Anmeldeaktion aus (entweder mit einer integrierten Funktion wie Settings Sync oder mit einer Erweiterung), und Sie erhalten die Option, sich mit einem anderen Konto anzumelden. Diese Funktion lässt sich auch gut mit der Account-Präferenz-Schnellauswahl kombinieren, falls Sie das ausgewählte Konto zu einem späteren Zeitpunkt ändern müssen.

Obwohl die meisten Dinge mit Ihren bestehenden Erweiterungen weiterhin funktionieren sollten, spielen einige Verhaltensweisen mit dieser Multi-Account-Welt möglicherweise noch nicht perfekt zusammen. Wenn Sie der Meinung sind, dass es Verbesserungspotenzial gibt, eröffnen Sie bitte ein Issue für diese Erweiterungen. Mit Hilfe der relativ neuen API vscode.authentication.getAccounts('github') haben Erweiterungen viel Macht, um mehrere Konten zu verwalten.

Zusätzliche Konten beim Ändern von Kontopräferenzen hinzufügen

Letzten Monat haben wir die Account-Präferenz-Schnellauswahl eingeführt, die nützlich ist, um das bevorzugte Konto für eine Erweiterung zu ändern, falls Sie dies aus irgendeinem Grund ändern müssen.

Eines der erhaltenen Feedbacks bezog sich auf den Wunsch nach einer einfachen Möglichkeit, ein Konto hinzuzufügen, das noch nicht angemeldet ist. In diesem Meilenstein haben wir ein neues Element in der Schnellauswahl eingeführt, das Ihnen genau das ermöglicht. Verwenden Sie das Element Neues Konto verwenden..., um einen Authentifizierungsfluss zu starten und die Kontopräferenz sofort auf dieses Konto festzulegen.

Use a new account option in the account preference Quick Pick.

Indikator für experimentelle und Vorschau-Einstellungen im Einstellungseditor

Zuvor war es im Einstellungseditor nicht immer klar ersichtlich, welche Einstellungen experimentell oder Vorschau waren. Um experimentelle und kommende Funktionen hervorzuheben, zeigt der Einstellungseditor nun Indikatoren neben experimentellen und Vorschau-Einstellungen an. Sie können @tag:experimental oder @tag:preview in das Suchfeld des Einstellungseditors eingeben, um die Einstellungen entsprechend zu filtern.

Erweiterungsautoren können ihren Einstellungen "experimentelle" oder "Vorschau"-Tags hinzufügen, um den entsprechenden Indikator im Einstellungseditor anzuzeigen.

Thema: Light Pink (Vorschau auf vscode.dev)

Mehr Icons für Profile

In diesem Meilenstein haben wir mehr Icons für Profile hinzugefügt. Sie können nun aus einer größeren Auswahl an Icons wählen, um Ihr Profil anzupassen.

Image showing all available profile icons, highlighting the newly added icons.

Ansichtssymbole im Panel

Im Arbeitsbereichsbereich werden Ansichten typischerweise als Bezeichnungen in der Titelleiste angezeigt (z. B. TERMINAL oder OUTPUT). Auf kleineren Bildschirmen können diese Bezeichnungen jedoch den verfügbaren Platz überschreiten, was dazu führt, dass einige Ansichten in ein Dropdown-Menü überlaufen.

Um dies zu beheben, haben wir eine neue Einstellung hinzugefügt: workbench.panel.showLabels. Wenn diese deaktiviert ist, werden Ansichten als Symbole anstelle von Bezeichnungen angezeigt, wodurch horizontaler Platz gespart und Überläufe reduziert werden.

workbench.panel.showLabels: true

Panel area showing the labels for each panel.

workbench.panel.showLabels: false

Panel area showing an icon for each panel and no label.

Editor

Verzögerung der Hervorhebung von Vorkommen

In diesem Meilenstein haben wir die Einstellung editor.occurrencesHighlightDelay eingeführt, um Ihnen die Kontrolle über die Verzögerung vor der Hervorhebung von Vorkommen im Editor zu geben. Eine Verringerung dieses Verzögerungswerts kann zu einer reaktionsfreudigeren Editor-Erfahrung bei der Arbeit mit semantischer Hervorhebung führen.

VS Code für das Web

VS Code für das Web unterstützt lokale Datei-Events

Wenn Sie Chrome oder Edge ab Version 129 verwenden, unterstützt das Öffnen von https://insiders.vscode.dev mit einem lokalen Ordner nun Datei-Events. Wenn Sie Änderungen an Dateien und Ordnern des geöffneten Arbeitsbereichs außerhalb des Browsers vornehmen, werden diese Änderungen sofort im Browser reflektiert.

Diese Funktion nutzt die neue FileSystemObserver-Schnittstelle, die als neue API für das Web vorgeschlagen wird.

Beiträge zu Erweiterungen

Copilot-Erweiterungs-Showcase

In diesem Meilenstein hat das Team an der Entwicklung mehrerer Erweiterungen gearbeitet, die die Copilot-Erweiterbarkeit in VS Code demonstrieren. Diese Erweiterungen zeigen die folgenden Fähigkeiten

Probieren Sie diese Erweiterungen aus und sehen Sie, wie Sie Copilot in Ihren eigenen Erweiterungen erweitern können.

Erweiterung Links
GitHub Pull Requests Marketplace
Web-Suche für Copilot Marketplace, Quellcode
MermAId-Diagrammerstellung mit Copilot Marketplace
Datenanalyse für Copilot Marketplace, Quellcode
VS Code Commander Marketplace
Vision für Copilot Vorschau Marketplace

GitHub Pull Requests

Version 0.100.0 der GitHub Pull Requests-Erweiterung fügt Copilot-Integration hinzu.

  • Verwenden Sie den Chat-Teilnehmer @githubpr in der Chat-Ansicht, um nach Issues zu suchen, Issues/PRs zusammenzufassen und Korrekturen für Issues vorzuschlagen. @githubpr verwendet eine Reihe von Sprachmodell-Tools, um dies zu erreichen.
  • Es gibt auch eine neue Ansicht Benachrichtigungen, die GitHub-Benachrichtigungen anzeigt, mit einer Aktion zur Priorisierung durch Copilot.

Um alles auszuprobieren, können Sie die folgenden Einstellungen vornehmen

Issue-Suche mit Copilot

Der neue Chat-Teilnehmer @githubpr kann nach Issues auf GitHub suchen.

Copilot issue search for most open bugs.

Beim Anzeigen von Issues zeigt @githubpr eine Markdown-Tabelle an und versucht, die besten Spalten basierend auf der Suche auszuwählen.

Copilot issue search for closed October issues.

Zusammenfassen und Beheben mit Copilot

Jedes in der Ansicht Issues aufgeführte Issue hat nun eine neue Aktion, Mit Copilot zusammenfassen, die das Chat-Panel öffnet und das ausgewählte Issue zusammenfasst. Wir haben auch eine weitere Aktion hinzugefügt, Mit Copilot beheben, die das ausgewählte Issue zusammenfasst und den Arbeitsbereichskontext nutzt, um eine Behebung dafür vorzuschlagen.

Benachrichtigungspriorisierung mit Copilot (experimentell)

In diesem Meilenstein haben wir eine experimentelle Ansicht Benachrichtigungen hinzugefügt, die Ihre ungelesenen Benachrichtigungen über Repositorys hinweg auflistet. Standardmäßig werden die Benachrichtigungen nach dem zuletzt aktualisierten Datum absteigend sortiert, aber Sie können die Aktion Nach Priorität sortieren mit Copilot aus dem ...-Menü des Ansichtstitels verwenden, um Copilot die Benachrichtigungen priorisieren zu lassen. Die Auswahl jeder Benachrichtigung löst eine Aktion aus, um die Benachrichtigung mit Copilot zusammenzufassen. Die Ansicht enthält auch leicht zugängliche Aktionen, um eine Benachrichtigung als gelesen zu markieren oder die Benachrichtigung auf GitHub.com zu öffnen.

Notifications View

Web-Suche für Copilot

Diese Erweiterung zeigt

  • Chat-Teilnehmer- & Tool-APIs
  • prompt-tsx
  • Wie man die von GitHub Copilot bereitgestellten Sprachmodelle nutzt

Der Quellcode ist hier auf GitHub verfügbar.

Beschreibung

Holen Sie sich die aktuellsten und relevantesten Informationen aus dem Web direkt in Copilot.

Dies wird durch eine von zwei verschiedenen Suchmaschinen angetrieben, konfiguriert über websearch.preferredEngine

Als Benutzer müssen Sie einen API-Schlüssel von einem dieser Dienste erwerben, um diese Erweiterung zu verwenden. Bei der ersten Verwendung wird nach diesem Schlüssel gefragt und er wird über den integrierten geheimen Speicher von VS Code gespeichert und kann über den Authentifizierungsstapel von VS Code verwaltet werden, genau wie bei Ihrem GitHub-Konto.

Chat-Teilnehmer

Diese Erweiterung trägt den Chat-Teilnehmer @websearch bei, der Fragen bearbeiten kann, die wahrscheinlich Live-Informationen aus dem Internet benötigen. Sie können ihn manuell aufrufen, indem Sie @websearch Wann wurde Workspace Trust in vscode veröffentlicht? verwenden.

The question "when did Workspace Trust ship in vscode" and the answer showing the references and details.

Chat-Tool

Diese Erweiterung trägt auch das Chat-Sprachmodell-Tool #websearch bei, das dem Teilnehmer ähnelt, aber nützlich ist, um Kontext aus dem Web in anderen Chat-Teilnehmern bereitzustellen. Zum Beispiel:

  • @workspace /new #websearch Erstellen Sie eine neue Web-App in Python mit dem beliebtesten Framework

The question "create a new web app written in Python using the most popular framework" using the websearch variable with /new. The result is a project using Django.

Zusätzlich, wenn Sie an Ihrem eigenen Chat-Teilnehmer oder Werkzeug arbeiten, können Sie dieses Chat-Werkzeug über die API vscode.lm.invokeTool verbrauchen.

MermAId-Diagrammerstellung mit Copilot

Die Erweiterung vscode-mermAId (vscode:extension/ms-vscode.copilot-mermaid-diagram) fügt GitHub Copilot einen neuen Chat-Teilnehmer hinzu, um Visualisierungen für Ihren Code mit Mermaid, einem diagramm- und chartbasierten Werkzeug im Markdown-Stil, zu erstellen und zu modifizieren.

Diagramme erstellen und rendern

Erstellen Sie beliebige von Mermaid unterstützte Diagramme über Chat-Gespräche und verwenden Sie den Slash-Befehl /iterate, um das Diagramm zu verfeinern. Slash-Befehle sind für bestimmte Diagramme verfügbar, um dem Modell zusätzliche Anleitungen zu geben.

Für bestimmte Diagrammtypen, wie z. B. Flussdiagramme, werden Links hinzugefügt, die auf die Referenzen verweisen, die zum Erstellen des Diagramms gesammelt wurden.

Mermaid Visual Outline-Ansicht

Öffnen Sie die Ansicht Visuelle Gliederung, um dynamisch Diagramme aus dem aktiven Editor zu generieren. Sie können für eine feinere Steuerung in den Chat wechseln.

Chat-Tool

Die Erweiterung stellt ein Werkzeug bereit, um Symbolinformationen innerhalb von Dateien oder des gesamten Arbeitsbereichs zu sammeln, und das von anderen Chat-Teilnehmern verwendet werden kann, wenn diese Erweiterung installiert ist.

Datenanalyse für Copilot

Die Erweiterung "Data Analysis for Copilot" befähigt Menschen im Bereich Data Science. Von der Bereinigung einer .csv-Datei bis hin zur Durchführung höherer Datenanalysen mithilfe verschiedener statistischer Maße, Grafiken und prädiktiver Modelle hilft der Chat-Teilnehmer @data, fundiertere und informiertere Entscheidungen zu treffen, indem er maßgeschneiderte Einblicke und Interaktivität für Datenaufgaben bietet.

Die Erweiterung stellt ein Tool bereit, mit dem das LLM das Ausführen von Python-Code mithilfe von Pyodide anfordern und das Ergebnis der relevanten Python-Codeausführung erhalten kann. Es kann auch geschickt wiederholen, um bessere oder passendere Ausführungsergebnisse im Fehlerfall zu erzielen. Sie können auch den Code exportieren, der zur Durchführung der Analyse (oder zur Generierung von Visualisierungen) verwendet wird, in ein Jupyter-Notebook oder eine Python-Datei.

Sie können die Erweiterung vom Marketplace herunterladen und der Quellcode ist hier auf GitHub verfügbar.

Datenanalyse und Visualisierungen
  • Geben Sie für eine CSV-Datei eine Eingabeaufforderung wie Analysiere die Datei #<Dateiname> ein oder schreiben Sie eine spezifischere Eingabeaufforderung (siehe unten aufgezeichnete Aufnahme).
  • Geben Sie Nachfassaufforderungen ein, um die Generierung von Visualisierungen wie Diagrammen, Plots und mehr anzufordern.

Exportieren des Codes, der zur Durchführung der Datenanalyse verwendet wird.
  • Der für die Analyse und Generierung von Visualisierungen verwendete Python-Code kann angezeigt werden.
  • Der Code kann in einem Jupyter-Notebook oder einer Python-Datei exportiert werden.

Editor- und Explorer-Integrationen für CSV-Dateien
  • Klicken Sie mit der rechten Maustaste auf eine CSV-Datei, um sie zu analysieren.
  • Öffnen Sie eine CSV-Datei und verwenden Sie das Copilot-Symbol, um die Datei zu analysieren.

VS Code Commander-Erweiterung

Die VS Code Commander-Erweiterung (vscode:extension/ms-vscode.vscode-commander) fungiert als Ihr persönlicher Assistent in VS Code. Dieses leistungsstarke Werkzeug ermöglicht es Ihnen, Ihre VS Code-Umgebung mit konversationellem, freiem Text zu konfigurieren. Mit VS Code Commander können Sie:

  • Verschiedene Einstellungen und Befehle entdecken und erkunden.
  • Ihre Entwicklungsumgebung an Ihre Bedürfnisse anpassen.

Diese Aktionen können über eine einfache und intuitive Chat-Oberfläche ausgeführt werden, wodurch die Verwaltung Ihrer VS Code-Konfiguration einfacher als je zuvor ist.

Vision for Copilot Preview-Erweiterung

Die "Vision for Copilot Preview"-Erweiterung (vscode:extension/ms-vscode.vscode-copilot-vision) ermöglicht es Ihnen, Bilder direkt als kontextbezogenen Input anzuhängen, um Konversationen zu bereichern und dynamischere, visuell unterstützte Antworten zu ermöglichen. Diese Erweiterung wird zugunsten des integrierten Bildflusses in GitHub Copilot Chat letztendlich veraltet sein.

Vision im Chat

Fürs Erste können Sie den Bildanhängefluss in der Chat-Ansicht erleben, indem Sie Ihre eigenen OpenAI-, Azure OpenAI-, Anthropic- oder Gemini-Schlüssel verwenden. Beginnen Sie einfach, indem Sie Bilder aus der Zwischenablage anhängen oder sie direkt in den Chat ziehen.

Screenshot of a chat exchange. A user asks for HTML and CSS for a landing page. The response provides a basic HTML structure with a header, navigation links (Home, About, Contact), and a link to an external CSS file.

Thema: Sapphire (Vorschau auf vscode.dev)

Vision mit Quick Fixes

Zusätzlich können Sie alternativen Text für Bilder in Markdown-, HTML-, JSX- oder TSX-Dokumenten mit den bereitgestellten Code-Aktionen generieren oder verfeinern, was den Prozess der Einbindung beschreibenden Textes für besseren Kontext und Barrierefreiheit vereinfacht. Alt-Text-Quick-Fixes funktionieren für Bilder im Arbeitsbereich und für Bild-URLs.

An example markdown document displays a quick fix feature for generating alt text, resulting in the automatic insertion of an alt tag and a value. The user is then prompted with a different quick fix to refine the alt text using an input box. After the user enters and submits their refined description, the alt text is updated accordingly.

Diese Erweiterung verwendet die vorgeschlagene API ChatReferenceBinaryData. Schauen Sie sich gerne ein Beispiel für die Verwendung im Quellcode an, hier auf GitHub verfügbar.

Python

Native REPL-Variablenansicht

Die native Python REPL bietet nun aktuelle Variablen für die integrierte Variablenansicht. Dies ermöglicht es Ihnen, den Zustand des Interpreters zu untersuchen, während Sie Code aus Dateien oder über das REPL-Eingabefeld ausführen.

Generieren von Docstrings mit Pylance

Sie können nun Ihre Python-Codes einfacher dokumentieren mit der Docstring-Vorlagengenerierungsfunktion von Pylance! Sie können eine Docstring-Vorlage für Klassen oder Methoden generieren, indem Sie """ oder ''' eingeben, Ctrl+Leertaste drücken oder die Glühbirne auswählen, um die Code-Aktion Docstring generieren aufzurufen. Der generierte Docstring enthält Felder für die Beschreibung der Funktion, Parameter, Parametertypen, Rückgabe und Rückgabetypen.

Diese Funktion wird derzeit von einer experimentellen Einstellung gesteuert, aber wir freuen uns darauf, sie bald zum Standard zu machen. Sie können sie noch heute ausprobieren, indem Sie die Einstellung python.analysis.supportDocstringTemplate aktivieren.

Alle Docstrings einklappen

Dokumentationsstrings sind großartig, um Kontext und Erklärungen für Ihren Code zu liefern, aber manchmal möchten Sie sie vielleicht einklappen, um sich auf den Code selbst zu konzentrieren. Sie können dies nun einfacher tun, indem Sie Docstrings mit dem neuen Befehl Pylance: Alle Docstrings einklappen einklappen, der auch einer Tastenkombination Ihrer Wahl zugewiesen werden kann. Um sie auszuklappen, verwenden Sie den Befehl Pylance: Alle Docstrings ausklappen.

Verbesserte Importvorschläge

Eine der leistungsstarken Funktionen von Pylance ist seine Fähigkeit, Auto-Import-Vorschläge zu machen. Standardmäßig bietet Pylance den Importvorschlag von dort an, wo das Symbol definiert ist, aber Sie möchten vielleicht, dass es von einer Datei importiert wird, aus der das Symbol importiert wird (d. h. aliasiert). Mit der neuen Einstellung python.analysis.includeAliasesFromUserFiles können Sie nun steuern, ob Pylance Alias-Symbole aus Benutzerdateien in seinen Auto-Import-Vorschlägen oder in der Schnellauswahl "Import hinzufügen" berücksichtigt.

Beachten Sie, dass die Aktivierung dieser Einstellung die Leistung beeinträchtigen kann, insbesondere in großen Codebasen, da Pylance möglicherweise mehr Symbole indizieren und mehr Dateien auf Änderungen überwachen muss, was den Ressourcenverbrauch erhöhen kann.

Experimentelle KI-Code-Aktion: Abstrakte Klassen implementieren

Sie können jetzt das Beste aus beiden Welten mit KI und statischer Analyse mit der neuen experimentellen Code-Aktion zum Implementieren abstrakter Klassen erhalten! Diese Funktion erfordert sowohl die Erweiterungen Pylance als auch GitHub Copilot. Um sie auszuprobieren, können Sie die Code-Aktion Alle geerbten abstrakten Klassen mit Copilot implementieren auswählen, wenn Sie eine Klasse definieren, die von einer abstrakten erbt.

Sie können diese Funktion deaktivieren, indem Sie "python.analysis.aiCodeActions": {"implementAbstractClasses": false} in Ihren Benutzereinstellungen festlegen.

Erweiterungsentwicklung

Werkzeuge für Sprachmodelle

Wir haben unsere API LanguageModelTool finalisiert! Diese API ermöglicht es Chat-Erweiterungen, leistungsfähigere Erlebnisse zu schaffen, indem sie Sprachmodelle mit externen Datenquellen verbinden oder Aktionen ausführen. 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. Wenn ein Tool über die Methode lm.registerTool registriert wird, ist es auch für andere Erweiterungen in der Liste lm.tools zugänglich. Dies ermöglicht es Chat-Erweiterungen, nahtlos mit anderen Erweiterungen über ein Ökosystem gemeinsamer Tools zu integrieren.

  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.

Die Nutzung von Sprachmodell-Tools ist komplex, und diese API verbirgt diese Komplexität nicht. Wenn Sie ein Tool registrieren oder Tools in Ihrem Chat-Teilnehmer nutzen möchten, empfehlen wir, mit dem Erweiterungsbeispiel zu beginnen.

Erkennung von Chat-Teilnehmern

Wir haben unsere API für die Erkennung von Chat-Teilnehmern finalisiert, die es GitHub Copilot ermöglicht, automatisch Ihren Chat-Teilnehmer oder Ihr Teilnehmerkommando auszuwählen, um eine Benutzerfrage zu bearbeiten. Bitte lesen Sie unsere Dokumentation für ein detailliertes Tutorial und Empfehlungen.

VS Code Sprache

Die VS Code Speech-Erweiterung wurde auf die August-Version des Azure Speech SDK aktualisiert und enthält neuere Modelle für die Spracherkennung. Mit diesem Update sollten Sie verbesserte Ergebnisse für die Sprache-zu-Text-Integrationen in VS Code, wie z. B. Copilot Chat, erzielen.

collapsibleState für Kommentar-Threads

Der Aufklapp-/Zuklappzustand eines CommentThread kann mit der neuen Eigenschaft CommentThread.collapsibleState geändert werden, auch nachdem der Thread bereits angezeigt wurde. Zuvor wurde diese Eigenschaft nur beim ersten Anzeigen des Kommentar-Threads berücksichtigt.

Codicons in Willkommensansichten

Willkommensansichten unterstützen nun die Darstellung von Codicons. Sie können dies tun, indem Sie die üblichen $(icon-name) in Ihrer Willkommensansicht verwenden.

A sample welcome view showing the use of text, links, buttons, and codicons.

Zugriff auf Modell-Auswahl für Chat-Teilnehmer

Sie haben möglicherweise bereits die Modell-Auswahl in der Chat-Ansicht bemerkt, mit der Sie das für eine Chat-Anfrage verwendete Modell auswählen können.

Copilot model picker control in the Chat view enables switching to another language model.

Ihre Chat-Teilnehmer-Erweiterung muss eine neue API übernehmen, um diese Modell-Auswahl nutzen zu können. Wir haben gerade eine neue Eigenschaft model für das ChatRequest-Objekt finalisiert, die auf die Instanz LanguageModelChat für das Modell in der Auswahl gesetzt wird. Sie können diese anstelle der Methode lm.selectChatModels verwenden. Wenn Ihre Erweiterung ein bestimmtes Modell neben dem ausgewählten verwenden möchte, können Sie stattdessen weiterhin lm.selectChatModels verwenden.

Vorschau-Features

TypeScript 5.7

Wir haben unsere Unterstützung für die kommende TypeScript 5.7-Version weiter verbessert. Lesen Sie den TypeScript 5.7 Beta Blogbeitrag und den TypeScript 5.7 Plan für Details.

Um Vorschauversionen von TypeScript 5.7 nutzen zu können, installieren Sie die TypeScript Nightly extension.

Imports beim Einfügen für JavaScript und TypeScript aktualisieren

Keine Lust mehr, nach dem Verschieben von Code zwischen Dateien Imports hinzufügen zu müssen? Probieren Sie unsere experimentelle Unterstützung für das Aktualisieren von Imports beim Einfügen aus! Wenn Sie Code zwischen Editoren kopieren und einfügen, fügt VS Code automatisch Imports hinzu, wenn der Code eingefügt wird.

Beachten Sie, dass nicht nur Imports hinzugefügt wurden, sondern sogar ein neuer Export für eine lokale Variable, die im eingefügten Code verwendet wurde, hinzugefügt wurde!

Um dies heute auszuprobieren, stellen Sie sicher, dass Sie TypeScript 5.7+ verwenden. Aktivieren Sie dann javascript.experimental.updateImportsOnPaste/typescript.experimental.updateImportsOnPaste. Derzeit wird dies nur unterstützt, wenn zwischen Texteditoren im selben VS Code-Fenster eingefügt wird.

Vorgeschlagene APIs

Chat-Referenz Binärdaten für Bildanhänge

Wir erlauben nun das Einfügen von Bildern (png, jpeg, bmp, gif und tiff) in den Chat, wenn eine Erweiterung die vorgeschlagene API ChatReferencebinaryData verwendet.

export class ChatReferenceBinaryData {
  /**
   * The MIME type of the binary data.
   */
  readonly mimeType: string;

  /**
   * Retrieves the binary data of the reference.
   * @returns A promise that resolves to the binary data as a Uint8Array.
   */
  data(): Thenable<Uint8Array>;

  /**
   * @param mimeType The MIME type of the binary data.
   * @param data The binary data of the reference.
   */
  constructor(mimeType: string, data: () => Thenable<Uint8Array>);
}

Erweiterungsautoren können nach dem Erstellen eines Chat-Handlers über request.references darauf zugreifen, was eine URI sein kann, wenn Bilder per Drag & Drop oder über die Schnellansicht angehängt werden, oder ChatReferenceBinaryData für eingefügte Bilder.

Technik

Prompt-Builder-Bibliothek für LLMs

Diesen Monat haben wir unsere @vscode/prompt-tsx-Bibliothek Open Source gestellt, die wir im letzten Jahr für die Erstellung von Sprachmodell-Prompts in Copilot Chat entwickelt und verwendet haben. Die Bibliothek ermöglicht es Entwicklern, ihre Prompts mit TSX/JSX-Syntax, ähnlich wie bei React, zu erstellen und enthält eine Vielzahl von Werkzeugen, um das Token-Budget von Prompts optimal zu nutzen.

Entfernung von AMD-Code und mehr ESM-Nutzung im Web

Wir haben die letzten Spuren von AMD (Asynchronous Module Definition) aus unseren Quellen entfernt, hauptsächlich aus den Build-Skripten, die wir zur Unterstützung von AMD für den Fall einer Wiederherstellungsversion noch beibehalten hatten.

Darüber hinaus läuft https://vscode.dev nun zu 100 % mit ausschließlich ESM (ECMAScript Modules).

Migration zu ESLint 9

Wir haben sowohl das Haupt-VS-Code-Repository als auch alle unsere Erweiterungsbeispiele aktualisiert, um ESLint 9 zu verwenden. Dies beinhaltete die Migration unserer gesamten ESLint-Konfiguration zur Nutzung moderner Flat Configs.

Electron 32 Update

In diesem Meilenstein bringen wir das Electron 32 Update für Benutzer unserer stabilen Version. Dieses Update enthält Chromium 128.0.6613.186 und Node.js 20.18.0. Wir möchten uns bei allen bedanken, die auf Insider-Builds getestet und frühes Feedback gegeben haben.

Bemerkenswerte Fehlerbehebungen

  • 177046 stürzt nach der Suche im Erweiterungsbereich ab

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-docs

Beiträge zu vscode-js-debug

Beiträge zu vscode-languageserver-node

  • @DanTup (Danny Tuppeny): Unterstützung für CompletionList "applyKind" hinzufügen, um zu steuern, wie Standardwerte und per-Item commitCharacters/data kombiniert werden PR #1558

Beiträge zu vscode-mypy

Beiträge zu vscode-vsce

Beiträge zu language-server-protocol

Beiträge zu lsprotocol

Beiträge zu tolerant-php-parser

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