GitHub Copilot Chat

Fullbordad

GitHub Copilot Chat är en avancerad funktion i GitHub Copilot-ekosystemet, utformat för att ge utvecklare en interaktiv, konversations-AI-assistent direkt i utvecklingsmiljön. Det gör att utvecklare kan ha konversationer på naturligt språk om sin kod, ställa frågor och få intelligenta svar och förslag i realtid. I den här lektionen går vi igenom:

  • Så här genererar du kod med GitHub Copilot Chat.
  • Felsökning med GitHub Copilot Chat.
  • Så här får du kodförklaringar med Hjälp av GitHub Copilot Chat.
  • Använda snedstreckskommandon för att utföra åtgärder med GitHub Copilot.
  • Använda anpassade GitHub Copilot-agenter för att förbättra prompterna.

Om du vill komma åt Copilot i din integrerade utvecklingsmiljö (IDE) klickar du på chattikonen i det vänstra navigeringsfältet.

Skärmbild av Chatt.

GitHub Copilot Chat är fördelaktigt i vissa scenarier:

  • Komplex kodgenerering När du behöver implementera komplexa algoritmer, datastrukturer eller generera pannplåtskod för specifika designmönster kan Copilot Chat hjälpa till att effektivisera processen. Det kan hjälpa dig att skapa invecklade reguljära uttryck, skapa detaljerade SQL-frågor eller utveckla avancerade datastrukturer som en bubbelsortering i Python.

    Skärmbild av generering av chattkod.

  • Felsökningshjälp Om du stöter på fel i koden kan Copilot Chat vara värdefullt när det gäller att analysera felmeddelanden och föreslå potentiella korrigeringar. Det kan hjälpa dig att identifiera logiska fel och ge stegvisa förklaringar av problematiska kodavsnitt. Ett sätt att uppnå det här resultatet är att använda Copilot infogad chatt genom att markera den kod som innehåller felet, högerklicka och välja Copilot och sedan infogad chatt.

    Skärmbild av felsökning av chatt med markeringskod.

    Du kan till exempel fråga: "Jag får en NullReferenceException i den här metoden. Kan du hjälpa mig att felsöka det?"

    Skärmbild av felsökning av kodchattar.

  • Kodförklaringar Copilot Chat kan också användas för att bättre förstå komplexa kodfragment. Den kan dela upp kod i enklare termer, förklara syftet med och funktionerna i okänd kod och ge insikter om metodtips och potentiella optimeringar. Du kan till exempel fråga: – "Kan du förklara hur den här async/await-koden fungerar i Python?"

    Skärmbild av chattkodförklaringar.

Så här förbättrar du GitHub Copilot Chat-svar

Du kan avsevärt förbättra kvaliteten och relevansen för GitHub Copilot Chats svar med vissa viktiga funktioner. Låt oss gå in på dem.

Omfångsreferenser

För att förbättra noggrannheten och relevansen för svaren från GitHub Copilot Chat är det viktigt att du omfångsbegränsar dina frågor korrekt med hjälp av referenser. Så här gör du det:

  • Filreferenser: Du kan ange en viss fil i din fråga genom att lägga till en #file: före filnamnet.

    Skärmbild av chattomfångsfilen som refererar till val.

    Om du till exempel arbetar med en fil med namnet controller.jskan du använda kommandot #file för att välja den och referera till den direkt i din fråga som #file:controller.js. Den här funktionen instruerar Copilot Chat att fokusera på innehållet i filen när du genererar ett svar.

    Skärmbild av referens till chattomfångsfilen.

  • Miljöreferenser: Du kan referera till hela lösningen eller arbetsytan med hjälp @workspaceav . Med den här funktionen kan Copilot Chat ta hänsyn till den bredare kontexten för de projekt och konfigurationer som för närvarande är öppna i din Visual Studio IDE. Om du till exempel frågar "@workspace var är beräkningsfunktionen?" uppmanas Copilot att överväga hela lösningen för att hitta den mest relevanta informationen.

    Skärmbild av refererande arbetsyta för chattomfattning.

Snedstreckskommandon

Med snedstreckskommandon i GitHub Copilot Chat kan du snabbt ange syftet med din fråga. Detta kan avsevärt förbättra kvaliteten på de svar du får genom att göra dina begäranden mer fokuserade. Här följer några vanliga snedstreckskommandon:

  • /doc: Lägger till kommentarer till den angivna eller valda koden. Du kan till exempel skriva /doc följt av den kod som du vill dokumentera och Copilot genererar lämpliga kommentarer.

    Skärmbild av /doc-snedstreckskommandon.

  • /explain: Innehåller förklaringar för vald kod. Det här kommandot är användbart när du behöver förstå vad en viss koddel gör. Till exempel /explain the #file:controller.js ger dig en detaljerad förklaring av den filen.

    Skärmbild av /explain slash-kommandon.

  • /fix: Föreslår korrigeringar för problem i den valda koden. Om du har problem kan du markera det problematiska avsnittet och använda /fix för att få förslag för att lösa problemet.

    Skärmbild av /fix slash-kommandon.

  • /generate: Hjälper dig att generera ny kod baserat på dina krav. Till exempel /generate code to find the root of a number in client.js skapar en funktion för att utföra uppgiften.

    Skärmbild av /generate slash-kommandon.

  • /optimize: Analyserar och föreslår förbättringar av körningstiden eller effektiviteten för den valda koden. Till exempel /optimize the fokuserar calculate method in controller.js på att förbättra prestandan för den specifika metoden.

    Skärmbild av /optimize slash-kommandon.

  • /tests: Skapar automatiskt enhetstester för den valda koden. Du kan helt enkelt markera koden och använda /tests using Mocha för att generera tester.

    Skärmbild av /tests slash-kommandon.

Modellval och premiumfunktioner

GitHub Copilot Chat erbjuder olika AI-modeller för att optimera ditt arbetsflöde för utveckling. Vissa miljöer tillhandahåller alternativ för modellval som gör att du kan välja mellan olika kapacitetsnivåer baserat på dina specifika behov:

Standardmodeller (GPT-4o):

  • Ge snabba och tillförlitliga svar för de flesta utvecklingsuppgifter
  • Förbruka 1 PRU per förfrågan
  • Perfekt för rutinmässig kodningshjälp, kodförklaringar och grundläggande felsökning
  • Exempel: Enkel funktionsgenerering, syntaxhjälp, grundläggande refaktoriseringsförslag

Premium-modeller (o1-preview, o1-mini):

  • Erbjuda förbättrade resonemangsfunktioner för komplexa problem
  • Förbruka 2 PRU:er per begäran (dubbelt så mycket som standardpriset)
  • Passar bättre för avancerad analys, komplexa algoritmer och arkitektoniska beslut
  • Exempel: Avancerad felsökning av kod med flera trådar, komplex algoritmdesign, säkerhetsanalys

När du arbetar med utmanande problem som kräver djupgående resonemang kan Premium-modeller tillhandahålla mer grundlig analys och omfattande lösningar. Tänk dock på din PRU-användning när du väljer modeller för olika typer av uppgifter.

Anmärkning

Med premiummodeller (o1-preview, o1-mini) används 2 PRUs i stället för 1 för samma begäran. Övervaka dina månatliga ersättningar och välj lämplig modell baserat på uppgiftskomplexitet. Aktuell information om PRU-förbrukning och begränsningar finns i dokumentationen begäranden i GitHub Copilot.

Copilot-agenter

GitHub Copilot-agenter är anpassade verktyg som du kan skapa och integrera med GitHub Copilot Chat för att tillhandahålla ytterligare funktioner som är skräddarsydda för dina specifika behov. Förutom snedstreckskommandon kan du använda specifika agenter i Copilot Chat i din IDE för att hantera olika uppgifter:

  • @workspace: Med den här agenten kan du utöka kontexten för de frågor du ställer till Copilot i hela projektet. Det är användbart för att få kod genererad som skulle passa in i projektet direkt med hjälp av information från hela projektet. Det kan också användas för att få svar om hela kodbasen.

    Skärmbild av agentkommandot

    Du kan också använda den smarta åtgärden "@workspace /new", som gör att du kan generera ett helt nytt projekt från grunden baserat på dina krav. Till exempel "@workspace /new generera nya html-filsidor och JavaScript för avancerade beräkningar".

    Skärmbild av agentkommandot

    Klicka på "Skapa arbetsyta" för att fortsätta med kodgenerering och på samma sätt som du har ditt nya projekt med den kod som du begärde.

    Skärmbild av nytt genererat arbetsyteprojekt.

  • @terminal: Den här agenten är användbar för kommandoradsrelaterade frågor. Du kan till exempel be den att hitta den största filen i en katalog eller förklara det senaste kommandot som du körde.

    Skärmbild av agentkommandot

  • @vscode: Använd den här agenten för att ställa frågor som rör Visual Studio Code, till exempel hur du felsöker eller ändrar inställningar i IDE.

    Skärmbild av agentkommandot

    Genom att effektivt använda dessa verktyg och tekniker kan du avsevärt förbättra kvaliteten på de svar du får från GitHub Copilot Chat, vilket gör kodningsupplevelsen mer effektiv och produktiv.

Anmärkning

Avancerade agenter som @workspace och komplexa åtgärder kan förbruka fler premiumförfrågningsenheter (PRUs). Enkla frågor använder vanligtvis 1 PRU, medan komplex arbetsyteanalys eller projektgenerering kan använda 2–5 PRU:er. Aktuell information om PRU-förbrukning, månatliga utsläppsrätter och hastighetsbegränsningar finns i dokumentationen om begäranden i GitHub Copilot.

Dela feedback på GitHub Copilot Chat

De flesta IDE:er med Copilot Chat-integrering har inbyggda feedbackmekanismer. I Visual Studio Code kan du till exempel hitta feedbackalternativ i början av GitHub Copilot Chats förslag. Hovra över ett förslag så bör du se knapparna "tummen upp" och "tummen ner".

Skärmbild av användbara knappar för tummen upp.

Klicka på tummen upp för att betygsätta ett förslag som användbart.

Skärmbild av tummen ned som inte hjälper.

Klicka på tummen ner för att betygsätta en ohjälpsam.