Freigeben über


Verwalten des Chatkontexts mit Verweisen

Legen Sie Ihre Fragen auf GitHub Copilot Chat fest, indem Sie zusätzlich zu den impliziten Kontextkenntnissen Verweise verwenden, um bessere Antworten zu erhalten.

In diesem Artikel erfahren Sie, wie Sie bessere Antworten erhalten, indem Sie weitere Informationen zu Copilot Chat bereitstellen:

  • Verstehen des impliziten Kontexts , den Copilot hinter den Kulissen nutzt
  • Festlegen des Chats auf bestimmte Dateien mithilfe von Verweisen
  • Fügen Sie Bilder an Ihre Aufforderung an, um zusätzlichen Kontext bereitzustellen und Ihre Ideen besser zu veranschaulichen
  • Überprüfen Sie die von Copilot verwendete Quelle , um die Antwort zu generieren.
  • Verwenden Sie für jeden Ihrer Copilot-Chats unterschiedliche Threads , um den Chatverlauf und unterschiedliche Kontexte in jedem

Voraussetzungen

Um mit der Verwendung von GitHub Copilot Chat in Visual Studio zu beginnen, benötigen Sie Folgendes:

Impliziter Kontext

Visual Studio stellt automatisch Kontext für die Chataufforderung basierend auf Ihrer aktuellen Aktivität bereit.

Die folgenden Informationen sind implizit im Chatkontext enthalten:

  • Der aktuell markierte Text im aktiven Editor.
  • Die aktuelle Datei, die im Editor aktiv ist.

Je nach Aufforderung liest Copilot den Inhalt der aktiven Datei vor. Wenn Sie den Inhalt einer anderen Datei explizit in den Chatkontext aufnehmen möchten, wählen Sie die vorgeschlagene Datei mithilfe der + Schaltfläche in der Chatansicht aus, um Anlagen hinzuzufügen.

Screenshot des impliziten Kontexts im Copilot-Chat.

Referenz: Bereich Copilot-Ergebnisse

Sie können Ihre Codierungsfragen in natürlicher Sprache stellen. Diese beantwortet GitHub Copilot Chat im Kontext der in Visual Studio geöffneten Codebasis. Mit Referenzen erhalten Sie spezifischere Informationen, die Copilot berücksichtigen soll, wenn Sie Ihre Frage beantworten.

Wenn Sie einen bestimmten Kontext in Ihrer Codebasis auswählen, können Sie problemlos bessere Fragen erstellen, ohne lange Informationen schreiben oder einfügen zu müssen. Durch die Angabe des Kontexts kann Copilot Ihnen auch relevantere Antworten bereitstellen.

Screenshot der Referenzen im Copilot-Chat.

Verweisen auf eine Datei

Um auf einfache Weise auf eine Datei in GitHub Copilot Chat zu verweisen, fügen Sie einfach ein # Symbol am Anfang des Dateinamens hinzu. Wenn Sie beispielsweise eine Datei mit dem Namen BasketService.cshaben, verweisen Sie im Chat als #BasketService.csdarauf.

Screenshot der Dateireferenz im Copilot-Chat.

Verweisen auf eine Methode, Klasse oder Funktion

Mit Visual Studio 2022, Version 17.11, können Sie jetzt auf eine bestimmte Methode, Klasse oder Funktion in GitHub Copilot Chat verweisen.

Um einfach auf eine Methode, Klasse oder Funktion in GitHub Copilot Chat zu verweisen, fügen Sie einfach ein # Symbol am Anfang der Methode, Klasse oder Funktionsnamen hinzu. Wenn Sie beispielsweise eine Methode namens BasketAddItem-haben, verweisen Sie im Chat als #BasketAddItemdarauf.

Screenshot von Verweisen auf Methoden in GitHub Copilot Chat in Visual Studio.

Verweisen auf die gesamte Lösung

Verwenden Sie @workspace, um auf die in der IDE aktive Lösung für den Kontext zu verweisen. Bei der Verwendung von @workspace für den Kontext nutzt Copilot Chat die Informationen zu den Dateien, Projekten und Konfigurationen, die derzeit geöffnet sind und in Ihrer IDE bearbeitet werden. Dadurch kann Copilot Chat relevantere und kontextbezogenere Vorschläge und Antworten bereitstellen.

Screenshot des Referenzlösungskontexts im Copilot-Chat.

Mit Visual Studio 2022, Version 17.11, können GitHub Copilot Enterprise Abonnenten jetzt @github im Chat verwenden, um Kontext aus ihrem gesamten Repository einzuschließen und das Web zu durchsuchen (wenn Suche von Ihrem Administratoraktiviert ist). Weitere Informationen zur Sammlung von GitHub-spezifischen Fähigkeiten, die Copilot verwenden kann, um Ihre Frage bei der Verwendung von @githubzu beantworten, finden Sie unter Verwenden von GitHub-Fähigkeiten für Copilot.

Screenshot der Verwendung von GitHub-Fähigkeiten in Copilot Chat.

Verweisen auf ein Bild

Mit der Vision-Integration für Copilot Chat in Visual Studio 17.14 und höher können Sie Bilder an Ihre Chataufforderung anfügen und Copilot zusätzlichen Kontext für verbesserte Antworten bereitstellen. Verwenden Sie Bilder in Kombination mit Bereich und anderen kontextbezogenen Features wie Schrägstrichbefehlen , um maßgeschneiderte Antworten zu generieren.

Im folgenden Beispiel interpretiert Copilot das angefügte Bild, um einen Plan zu generieren und Code vorzuschlagen, um ein farbiges Breakout-Spiel von Grund auf neu zu erstellen.

Screenshot eines Beispielszenarios zum Hinzufügen eines Bilds in Copilot Chat.

Referenzausgabefenster

Sie können nun das Ausgabefenster als Kontext im Chat verwenden, um Fragen zu stellen und Hilfe zu Ausgabeprotokollen zu erhalten. Unterstützte Ausgabefenster sind Build, Debug, Tests, Quellcodeverwaltung, Paket-Manager oder ein beliebiger anderer aktiver Ausgabefensterbereich.

Referenzieren Sie die Ausgabeprotokolle im Chat auf eine der folgenden Arten:

  • Verwenden Sie #output , um direkt im Chat darauf zu verweisen.
  • Wählen Sie das ➕ Symbol in der Chateingabe aus, und fügen Sie es als Kontext hinzu Output logs .
  • Fragen Sie Copilot direkt, z. B. überprüfen Sie meine Ausgabeprotokolle, und helfen Sie mir, diesen Fehler zu beheben.
  • Klicken Sie mit der rechten Maustaste in das Ausgabefenster , und wählen Sie "Mit Copilot erklären" aus, um es anzufügen.

Screenshot des Ausgabefensters als Kontext im Copilot-Chat.

Referenz-URLs

Fügen Sie eine URL in das Eingabeaufforderungsfeld ein, und Copilot ruft Informationen aus dem Web ab, um die Leerzeichen auszufüllen, wenn die Schulungsdaten von Copilot kein Thema abdecken oder wenn Sie auf eine bestimmte Ressource verweisen möchten.

Sie können Copilot beispielsweise auffordern, Ihnen beim Schreiben einer readme.md-Datei basierend auf den bewährten Methoden für GitHub zu helfen.

Screenshot des Verweises auf eine URL im Chat für Kontext.

Beachten Sie, dass Copilot nur auf statische HTML-Inhalte aus der von Ihnen bereitgestellten öffentlichen URL verweisen kann und nicht auf andere Links auf dieser Seite, seiten hinter der Authentifizierung oder auf Inhalte von dynamischen Seiten zugreifen kann.

Verwendungsbeispiele

Hier sind einige Beispiele für die Verwendung von Verweisen zur Kontextsteuerung:

Beispiel Kontext, der von Copilot verwendet wird, um eine Frage zu bilden
Was ist der Zweck von #MyFile.cs: 66-72? Exakter Abschnitt der Datei
Wo befinden sich die Tests in #BasketService.cs? BasketService.cs
/erklären Sie die #AddItemToBasket in #BasketService.cs AddItemToBasket-Methode in BasketService.cs
Gibt es eine Methode zum Löschen von Körben in diesem @workspace? Aktuelle Lösung in der IDE geöffnet
Ich habe eine Testmethode namens #TestCalculator. Wie kann ich sicherstellen, dass sie ordnungsgemäß ausgeführt wird? TestCalculator-Methode
Könnten Sie die Unterschiede zwischen Klassen #BasketService und #OrderService erläutern? BasketService-Klasse und OrderService-Klasse
In meinem @workspace Wo befindet sich #AddItemToBasket? Aktuelle Lösung in der IDE geöffnet
Aktualisieren der Benutzeroberfläche in "App.tsx" auf ähnliche Weise wie dieses Bild Hochgeladenes Bild

Überprüfen der von Copilot Chat verwendeten Quellen

Copilot Chat zeigt den Kontext an, der nach jedem Ergebnis verwendet wird, damit Sie feststellen können, was bei der Beantwortung Ihrer Frage berücksichtigt wurde. Wenn Sie Copilot Chat eine Frage stellen und eine Antwort im Chatfenster erhalten, wird unterhalb der Antwort das Dropdownmenü Verweise angezeigt. Die Einträge in der Dropdown-Liste Verweise zeigen Ihnen den Kontext, auf den Copilot Chat zugreift, um diese Antwort zu generieren. Diese Informationen können Ihnen helfen, Ihre Frage zu ändern, um bessere und relevantere Antworten zu erhalten.

Screenshot: Dropdownliste für verwendete Verweise in Copilot Chat

Organisieren: Verwalten des Chatverlaufskontexts mit Threads

Während Sie mehrere Chataufforderungen in einer Chatsitzung durchlaufen und senden, verwendet Copilot den Verlauf von Chataufforderungen und -antworten als Kontext für Ihre aktuelle Chataufforderung. Dies bedeutet, dass Sie Nachverfolgungsfragen stellen oder Ihre vorherige Frage klären können, ohne den Kontext wiederholen zu müssen. Sie können z. B. "Wie unterscheidet sich dies von ...", "Fügen Sie jetzt einen Testfall hinzu", "erläutern Sie ausführlicher" und vieles mehr.

Um mit einer neuen Chatsitzung zu beginnen und den aktuellen Kontext zu verwerfen, starten Sie einen neuen Thread in der Chatansicht. Dies ist nützlich, wenn Sie zu einem anderen Thema wechseln und den vorherigen Kontext und verlauf vermeiden möchten. Verwenden Sie Threads, um Unterhaltungen auf die jeweilige Aufgabe zu konzentrieren und den Kontext klar zu halten, sodass die Antworten auf den relevanten Verlauf basieren.

Neuer Chatthread

Wählen Sie im Chatfenster " Neuen Thread erstellen" oder "STRG+N " aus, um einen neuen Thread zu starten.

Screenshot des Symbols

Chatthread wechseln

Sie können zwischen mehreren fortlaufenden Threads auswählen, um den richtigen historischen Kontext für Ihre Frage bereitzustellen. Sie können STRG+PgDown für vorherigen Thread oder STRG+PgUp für den nächsten Thread im Chatfenster verwenden. Strg+Shift+T erweitert das Thread-Dropdown.

Screenshot des Wechsels zwischen laufenden Threads im Copilot-Chat.

Höherstufen des Inlinechats in das Chatfenster

Mit Visual Studio 2022, Version 17.11, können Sie jetzt den Verlauf Ihres Inline-Chats beibehalten, indem Sie ihn in das Chatfensterübertragen. Wählen Sie Im Chatfenster fortsetzen..., um eine Aufzeichnung und den Kontext der Unterhaltung beizubehalten, und setzen Sie im Chatfenster fort.

Screenshot des Verschiebens des laufenden Threads aus dem Inline-Chat ins Chatfenster.

Bewährte Methoden

Copilot Chat verwendet den Chatverlauf, um Kontext zu Ihrer Anfrage zu erhalten. So geben Sie Copilot nur die relevante Geschichte:

  • Verwenden Sie Threads, um eine neue Unterhaltung für eine neue Aufgabe zu beginnen.
  • Löschen Sie Anforderungen, die nicht mehr relevant sind oder die Ihnen das gewünschte Ergebnis nicht gegeben haben.

Lassen Sie die Chatunterhaltung geöffnet, und fordern Sie Copilot auf, die vorgeschlagene Lösung weiter zu verbessern. Copilot hat sowohl den Kontext des generierten Codes als auch den aktuellen Gesprächsverlauf. Während Sie weitere Fragen stellen, optimiert Copilot die Antwort nach Ihren Anforderungen weiter. Weitere Informationen zu den Strategien für effektive Prompts zur Verbesserung Ihrer Copilot-Ergebnisse finden Sie unter Prompt Engineering für GitHub Copilot.

Nächste Schritte