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:
- Använd snedstreckskommandon för att snabbt ange vanliga uppgifter som
/explain
för att få kodförklaringar. - Använd guidad chattupplevelse och anpassade instruktioner för att förfina kontexten i Visual Studio 17.12 eller senare.
- Begränsa chatten till specifika filer med hjälp av referenser.
- Granska den källa som används av Copilot för att generera svaret.
- Använd olika trådar för var och en av dina Copilot-chattar så att du kan behålla olika kontexter i var och en.
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:
- Visual Studio 2022 version 17.8 eller senare
-
Logga in i Visual Studio med ett GitHub-konto med Copilot-åtkomst
** Du kan använda GitHub Copilot kostnadsfritt. Registrera dig och utnyttja AI för att koda snabbare och effektivare. - GitHub Copilot i Visual Studio
- GitHub Copilot Chat i Visual Studio
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.
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:
-
Skapa/lägg till en fil med anpassade instruktioner
.github/copilot-instruction.md
i roten av lagringsplatsen. - 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 |
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.
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.
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.
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 @github
finns i Använda GitHub-kunskaper för Copilot.
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.
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.
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.
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.
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.