Dela via


Få bättre svar genom att ange kontexten för GitHub Copilot Chat i Visual Studio

Du kan använda GitHub Copilot Chat- i Visual Studio för att få kodningsinformation och support, till exempel syntax, programmeringsbegrepp, kontextspecifik kodhjälp, testfall, felsökning med mera, utan att lämna IDE. Copilot Chat är integrerat i Visual Studio, vilket innebär att det kan förstå vad du arbetar med genom att samla in användbara ledtrådar från vad du har i IDE.

Förutom din fråga använder Copilot ytterligare kontext, till exempel koden i din aktuella fil och chatthistoriken, för att generera ett 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, inklusive:

Läs mer om AI-assisterad utveckling i Visual Studio och hur du använder Copilot Chat i Visual Studio.

Förutsättningar

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

Stöd för GitHub Copilot Chat tillhandahålls av GitHub och kan nås på https://support.github.com.

Vägledning för att uppmuntra dialog

Den guidade chattupplevelsen i Visual Studio 17.12 och senare hjälper dig att förfina dina uppmaningar för att förtydliga kontexten för bättre svar. GitHub Copilot Chat vägleder dig nu med klargörande frågor när kontexten är oklar.

Skärmbild av guidad chattupplevelse med GitHub Copilot Chat.

Aktivera anpassade instruktioner

Med funktionen anpassade instruktioner kan du automatiskt lägga till förinställd kontextuell information i dina chattfrågor. Copilot Chat använder dessa instruktioner som är skräddarsydda för din specifika kontext, till exempel hur ditt team fungerar, de verktyg du använder eller detaljerna i ditt projekt när du genererar svar.

Så här konfigurerar du anpassade instruktioner:

  1. Skapa/lägg till en fil med anpassade instruktioner .github/copilot-instruction.md i roten av lagringsplatsen.
  2. Aktivera funktionen i Visual Studio via Tools>Options>GitHub>Copilot> välj (förhandsversion) Aktivera anpassade instruktioner som ska läsas in från .github/copilot-instructions.md-filer och läggas till i begäranden..

Anpassade instruktioner visas inte i chattvyn eller inbäddad chatt. Men när den används av Copilot visas.github/copilot-instructions.md-filen i listan Referenser för ett svar.

Använda snedstreckskommandon i Copilot Chat för vanliga uppgifter

Med snedstreckskommandon i Copilot Chat kan du snabbt ange avsikten för vanliga utvecklingsuppgifter. Genom att använda specifika snedstreckskommandon för att skapa din fråga kan du få bättre svar utan att behöva skriva ut långa frågor.

Du kan använda snedstreckskommandon i ett chattfönster, eller direkt infogad i koden som du vill ändra med hjälp av infogad kodhjälp. Kommandon som hjälper till att ändra eller lägga till i kodfilen som du har öppnat i redigeraren fungerar både i den infogade kodassistenten och chattfönstret, medan kommandon för mer allmänna kodfrågor endast fungerar i chattfönstret.

kommando Användning chattfönster Inbyggd chatt
/doc Lägg till kommentarer för angiven eller vald kod.
Exempel:
- /doc DeleteBasketAsync method in BasketService.cs
– välj önskad kod och ange /doc
Ja Ja
/förklara Hämta kodförklaringar.

Exempel:
- /explain the AddItemToBasket method in BasketService.cs
– välj önskad kod och ange /explain
Ja Ja
/reparera Föreslå en korrigering för problem i den valda koden.
Exempel:
- /fix the SetQuantities method in BasketService.cs
– välj önskad kod och ange /fix
Ja Ja
/generera Generera kod för att besvara angiven fråga.
Exempel: /generate code to add two numbers in Calculator.cs
Ja Ja
/Hjälp Få hjälp med att använda Copilot Chat.
Exempel: /help
Ja Ja
/optimera Analysera och förbättra körningstiden för den valda koden.
Exempel:
- /optimize the AddItemToBasket method in BasketService.cs
– välj önskad kod och ange /optimize
Ja Ja
/Tester Skapa enhetstester för den valda koden.
Exempel: Välj önskad kod och ange /tests using XUnit Framework
Ja Ja

Skärmbild av snedstreckskommandon i inbäddad chattvy och chattfönster.

Referens: Avgränsa Copilot-resultat för en specifik fil eller hela lösningen

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.

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

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 AddItemToBasket-metod 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
I min @workspace var finns #AddItemToBasket? Aktuell lösning öppen i IDE

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 Referenser listrutan under svaret. Posterna i listrutan Referenser visar kontexten som refereras till av Copilot Chat för att generera det 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: isolera chattar med Copilot i trådar

Om du använder Copilot Chat i stor utsträckning för att ställa frågor när du kodar kan du organisera dina konversationer på ett sätt som håller dem aktuella. Copilot Chat för Visual Studio är nu ett enkelt sätt att starta nya konversationer (trådar) för att hålla dem fokuserade på uppgiften och hålla kontexten tydlig så att svaren baseras på relevant historik.

Ny chatttråd

Du kan starta en ny tråd genom att välja Skapa ny tråd i chattfönstret.

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.

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

Flytta upp infogad chatt till chattfönstret

Med Visual Studio 2022 version 17.11kan du nu bevara historiken för din infogade chatt genom att uppgradera den till chattfönstret. Välj Fortsätt i chattfönstret... för att bevara en post och kontext för konversationen och fortsätta i chattfönstret.

Skärmbild av att visa pågående tråd i inbäddad 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