Dela via


Hantera chattkontext med referenser

Begränsa dina frågor till GitHub Copilot Chat med hjälp av referenser, förutom dess implicita kontextuella kunskaper, för att få bättre svar.

I den här artikeln får du lära dig hur du får bättre svar genom att ge mer information till Copilot Chat:

  • Förstå den implicita kontext som Copilot utnyttjar i bakgrunden
  • Begränsa chatten till specifika filer med referenser
  • Bifoga bilder i prompten för att ge ytterligare kontext och bättre illustrera dina idéer
  • Granska källan som används av Copilot för att generera svaret
  • Använd olika trådar för var och en av dina Copilot-chattar för att upprätthålla chatthistorik och olika kontexter i varje

Förutsättningar

För att komma igång med GitHub Copilot Chat i Visual Studio behöver du:

Implicit kontext

Visual Studio ger automatiskt kontext till chattprompten baserat på din aktuella aktivitet.

Följande information ingår implicit i chattkontexten:

  • Den markerade texten i den aktiva redigeraren.
  • Den aktuella filen som är aktiv i redigeraren.

Beroende på din fråga läser Copilot innehållet i den aktiva filen. Om du vill inkludera innehållet i en annan fil i chattkontexten väljer du den föreslagna filen med hjälp av + knappen i chattvyn för att lägga till bifogad fil.

Skärmbild av implicit kontext i Copilot Chat.

Referens: Copilot-omfångsresultat

Du kan ställa dina kodningsrelaterade frågor på naturligt språk och GitHub Copilot Chat svarar på dessa i samband med den kodbas som är öppen i Visual Studio. Med referenser kan du få mer specifik information om den information du vill att Copilot ska tänka på när du svarar på din fråga.

Genom att välja en specifik kontext i kodbasen kan du enkelt skapa bättre frågor utan att behöva skriva ut eller klistra in lång information. Genom att ange kontexten kan Copilot också ge dig mer relevanta svar.

Skärmbild av referenser i Copilot Chat.

Referera till en fil

Om du enkelt vill referera till en fil i GitHub Copilot Chat lägger du helt enkelt till en # symbol i början av filnamnet. Om du till exempel har en fil med namnet BasketService.csläser du den i chatten som #BasketService.cs.

Skärmbild av filreferens i Copilot Chat.

Referera till en metod, klass eller funktion

Med Visual Studio 2022 version 17.11kan du nu referera till en specifik metod, klass eller funktion i GitHub Copilot Chat.

Om du enkelt vill referera till en metod, klass eller funktion i GitHub Copilot Chat lägger du helt enkelt till en #-symbol i början av metoden, klassen eller funktionsnamnet. Om du till exempel har en metod med namnet BasketAddItembör du hänvisa till den i chatten som #BasketAddItem.

Skärmbild av referenser till metoder i GitHub Copilot Chat i Visual Studio.

Referera till hela lösningen

Använd @workspace för att referera till lösningen som är aktiv i IDE för kontext. När du använder @workspace för kontext utnyttjar Copilot Chat informationen om de filer, projekt och konfigurationer som för närvarande är öppna och som bearbetas i din IDE. Detta gör det möjligt för Copilot Chat att ge mer relevanta och sammanhangsmedvetna förslag och svar.

Skärmbild av referenslösningskontexten i Copilot Chat.

Med Visual Studio 2022 version 17.11 kan GitHub Copilot Enterprise- prenumeranter nu använda @github i chatten för att inkludera kontext från hela lagringsplatsen och söka på webben (om sökning aktiveras av administratören). Mer information om den samling GitHub-specifika färdigheter som Copilot kan använda för att besvara din fråga när du använder @githubfinns i Använda GitHub-kunskaper för Copilot.

Skärmbild av hur du använder GitHub-kunskaper i Copilot Chat.

Referera till en bild

Med visionsintegrering för Copilot Chat i Visual Studio 17.14 och senare kan du bifoga bilder i chattprompten, vilket ger Copilot ytterligare kontext för bättre svar. Använd bilder i kombination med omfång och andra sammanhangsberoende funktioner, till exempel snedstreckskommandon , för att generera skräddarsydda svar.

I följande exempel tolkar Copilot den bifogade avbildningen för att generera en plan och föreslå kod för att skapa ett färgstarkt Breakout-spel från grunden.

Skärmbild av ett exempelscenario med att lägga till en bild i Copilot Chat.

Referensutdatafönstret

Nu kan du använda utdatafönstret som kontext i chatten för att ställa frågor och få hjälp med utdataloggar. Utdatafönster som stöds är Build, Debug, Tests, Source Control, Package Manager eller något annat aktivt utdatafönsterfönster.

Referera till utdataloggar i chatten på något av följande sätt:

  • Använd #output för att referera till den direkt i chatten.
  • ➕ Välj ikonen i chattindata och lägg till Output logs som kontext.
  • Fråga Copilot direkt, till exempel Kontrollera mina utdataloggar och hjälp mig att åtgärda det här felet.
  • Högerklicka i utdatafönstret och välj Förklara med Copilot för att bifoga det.

Skärmbild av utdatafönstret som kontext i Copilot Chat.

Användningsexempel

Här följer några exempel på hur du använder referenser för kontextkontroll:

Exempel Kontext som används av Copilot för att bilda frågan
Vad är syftet med #MyFile.cs: 66-72? Exakt sektion av filen
Var finns testerna i #BasketService.cs? BasketService.cs
/förklara #AddItemToBasket i filen #BasketService.cs Metoden AddItemToBasket i BasketService.cs
Finns det en borttagningskorgsmetod i den här @workspace Aktuell lösning öppen i IDE
Jag har en testmetod med namnet #TestCalculator. Hur kan jag se till att den körs korrekt? Testkalkylator-metod
Kan du förklara skillnaderna mellan klasser #BasketService och #OrderService? BasketService-klass och OrderService-klass
Var finns #AddItemToBasket i min @workspace? Aktuell lösning öppen i IDE
Uppdatera mitt användargränssnitt i App.tsx så att det liknar den här bilden Uppladdad bild

Granska källorna som används av Copilot Chat

Copilot Chat visar den kontext som används efter varje resultat, så att du kan se vad som beaktades när du svarade på din fråga. När du ställer en Copilot Chat-fråga och får ett svar i chattfönstret visas en listruta kallad Referenser under svaret. Posterna i listrutan Referenser visar kontexten som Copilot Chat refererar till för att generera svaret. Den här informationen kan hjälpa dig att ändra din fråga för att få bättre och mer relevanta svar.

Skärmbild av referenser som används i listrutan i Copilot Chat.

Organisera: hantera chatthistorikkontext med trådar

När du itererar och skickar flera chattanvisningarna i en chattsession använder Copilot historiken för chattanvisningarna och svaren som kontext för din aktuella chattprompt. Det innebär att du kan ställa uppföljningsfrågor eller klargöra din tidigare fråga utan att behöva upprepa kontexten. Du kan till exempel fråga "Hur skiljer sig detta från ...", "Lägg nu till ett testfall", "förklara mer detaljerat" med mera.

Om du vill börja om med en ny chattsession och ignorera den aktuella kontexten startar du en ny tråd i chattvyn. Detta är användbart när du vill flytta till ett annat ämne och undvika föregående kontext och historik. Använd trådar för att hålla konversationer fokuserade på uppgiften och hålla kontexten tydlig så att svaren baseras på relevant historik.

Ny chatttråd

Välj Skapa ny tråd eller Ctrl+N i chattfönstret för att starta en ny tråd.

Skärmbild av ikonen Skapa ny tråd i Copilot Chat.

Växla chatttråd

Du kan välja mellan flera pågående trådar för att ge rätt historisk kontext för din fråga. Du kan använda Ctrl+PgDown för föregående tråd eller Ctrl+PgUp för nästa tråd i chattfönstret. Ctrl+Shift+T expanderar trådens rullgardinsmeny.

Skärmbild av växling mellan pågående trådar i Copilot Chat.

Främja inline-chatt till chattfönstret

Med Visual Studio 2022 version 17.11kan du nu bevara historiken för din inbyggda chatt genom att överföra den till chattfönstret. Välj Fortsätt i chattfönstret... för att behålla en logg och kontext för konversationen, och fortsätt i chattfönstret.

Skärmbild av att flytta en pågående diskussion i infogad chatt till chattfönstret.

Metodtips

Copilot Chat använder chatthistoriken för att få kontext om din begäran. För att endast ge Copilot relevant historia:

  • Använd trådar för att starta en ny konversation för en ny uppgift.
  • Ta bort begäranden som inte längre är relevanta eller som inte gav dig önskat resultat.

Håll chattkonversationen öppen och fortsätt att iterera och uppmana Copilot att förbättra den föreslagna lösningen. Copilot har både kontexten för den genererade koden och din aktuella konversationshistorik. När du fortsätter att ställa ytterligare frågor förfinar Copilot svaret ytterligare enligt dina krav. Se Prompt Engineering för GitHub Copilot för strategier för effektiv uppmaning för att förbättra dina Copilot-resultat.

Nästa steg