GitHub Copilot Chat

Fuldført

GitHub Copilot Chat er en avanceret funktion i GitHub Copilot-økosystemet, der er designet til at give udviklere en interaktiv, samtalebaseret AI-assistent direkte i deres udviklingsmiljø. Det giver udviklere mulighed for at have samtaler på naturligt sprog om deres kode, stille spørgsmål og modtage intelligente svar og forslag i realtid. I denne enhed dækker vi:

  • Sådan genererer du kode ved hjælp af GitHub Copilot Chat.
  • Fejlfinding ved hjælp af GitHub Copilot Chat.
  • Sådan får du kode forklaringer ved hjælp af GitHub Copilot Chat.
  • Brug skråstregskommandoer til at udføre handlinger med GitHub Copilot.
  • Brug af brugerdefinerede GitHub Copilot-agenter til at forbedre prompts.

For at få adgang til Copilot i dit integrerede udviklingsmiljø (IDE) skal du klikke på chatikonet i venstre navigationslinje.

Skærmbillede af Chat.

GitHub Copilot Chat er gavnligt i visse scenarier:

  • Generering af kompleks kode Når du har brug for at implementere komplekse algoritmer, datastrukturer eller generere standardkode til bestemte designmønstre, kan Copilot Chat hjælpe med at strømline processen. Det kan hjælpe med at skabe indviklede regulære udtryk, konstruere detaljerede SQL-forespørgsler eller udvikle avancerede datastrukturer som en boblesortering i Python.

    Skærmbillede af oprettelse af chatkode.

  • Fejlfindingshjælp Hvis du støder på fejl i din kode, kan Copilot Chat være værdifuld til at analysere fejlmeddelelser og foreslå potentielle rettelser. Det kan hjælpe med at identificere logiske fejl og give trinvise forklaringer af problematiske kodeafsnit. En måde at opnå dette resultat på er ved at bruge Copilot inline-chat ved at fremhæve det stykke kode, der indeholder fejlen, højreklikke og vælge Copilot og derefter inline-chat.

    Skærmbillede af fejlfinding af markeringskodechat.

    Du kan f.eks. spørge: "Jeg får en NullReferenceException i denne metode. Kan du hjælpe mig med at foretage fejlfinding af den?"

    Skærmbillede af generering af fejlfinding af kodechat.

  • Kode forklaringer Copilot Chat kan også bruges til bedre at forstå komplekse kodestykker. Den kan opdele kode i enklere begreber, forklare formålet med og funktionaliteten af ukendt kode og give indsigt i bedste praksis og potentielle optimeringer. Du kan f.eks. spørge: - "Kan du forklare, hvordan denne asynkrone/afventende kode fungerer i Python?"

    Skærmbillede af forklaringer på chatkode.

Sådan forbedrer du GitHub Copilot Chat-svar

Du kan forbedre kvaliteten og relevansen af GitHub Copilot Chats svar markant med visse vigtige funktioner. Lad os dykke ned i dem.

Områderefererer til

Hvis du vil forbedre nøjagtigheden og relevansen af svarene fra GitHub Copilot Chat, er det vigtigt at tilpasse dine spørgsmål korrekt ved hjælp af referencer. Sådan gør du:

  • Filreferencer: Du kan angive en bestemt fil i dit spørgsmål ved at tilføje en #file: før filnavnet.

    Skærmbillede af fil med chatomfang, der refererer til valg.

    Hvis du f.eks. arbejder med en fil med navnet controller.js, kan du bruge kommandoen #file til at markere den og referere direkte til den i dit spørgsmål som #file:controller.js. Denne funktion fortæller Copilot Chat, at de skal fokusere på indholdet af den pågældende fil, når der genereres et svar.

    Skærmbillede af reference til chatområdefil.

  • miljøreferencer: Du kan referere til hele løsningen eller arbejdsområdet ved hjælp af @workspace. Denne funktion gør det muligt for Copilot Chat at overveje den bredere kontekst for de projekter og konfigurationer, der i øjeblikket er åbne i dit Visual Studio IDE. Hvis du f.eks. spørger "@workspace hvor er beregningsfunktionen?" får Copilot til at overveje hele løsningen for at finde de mest relevante oplysninger.

    Skærmbillede af henvisninger til arbejdsområder i chatområdet.

Skråstregskommandoer

Skråstregskommandoer i GitHub Copilot Chat giver dig mulighed for hurtigt at angive hensigten med din forespørgsel. Dette kan forbedre kvaliteten af de svar, du modtager, væsentligt ved at gøre dine anmodninger mere fokuserede. Her er nogle almindeligt anvendte skråstregskommandoer:

  • /doc: Føjer kommentarer til den angivne eller valgte kode. Du kan f.eks. skrive /doc efterfulgt af den kode, du vil dokumentere, og Copilot genererer relevante kommentarer.

    Skærmbillede af /doc slash-kommandoer.

  • /explain: Giver forklaringer på den valgte kode. Denne kommando er nyttig, når du har brug for at forstå, hvad et bestemt stykke kode gør. Giver dig f.eks. /explain the #file:controller.js en detaljeret forklaring af den pågældende fil.

    Skærmbillede af /explain slash-kommandoer.

  • /fix: Foreslår rettelser til problemer i den valgte kode. Hvis du oplever problemer, kan du fremhæve det problematiske afsnit og bruge /fix til at modtage forslag til løsning af problemet.

    Skærmbillede af /fix skråstregskommandoer.

  • /generate: Hjælper med at generere ny kode baseret på dine krav. Opretter f.eks. /generate code to find the root of a number in client.js en funktion til at udføre opgaven.

    Skærmbillede af /generate slash-kommandoer.

  • /optimize: Analyserer og foreslår forbedringer af den valgte kodes kørselstid eller effektivitet. For eksempel /optimize the fokuserer calculate method in controller.js på at forbedre ydeevnen af den specifikke metode.

    Skærmbillede af /optimer skråstregskommandoer.

  • /tests: opretter automatisk enhedstests for den valgte kode. Du kan blot fremhæve koden og bruge /tests using Mocha til at generere test.

    Skærmbillede af /test skråstregkommandoer.

Modelvalg og premium-funktioner

GitHub Copilot Chat tilbyder forskellige AI-modeller til at optimere din udviklingsarbejdsgang. Nogle miljøer indeholder indstillinger for modelvalg, hvor du kan vælge mellem forskellige kapacitetsniveauer baseret på dine specifikke behov:

Standardmodeller (GPT-4o):

  • Giv hurtige, pålidelige svar på de fleste udviklingsopgaver
  • Forbrug 1 PRU pr. anmodning
  • Ideel til rutinemæssig kodningshjælp, kodeforklaringer og grundlæggende fejlfinding
  • Eksempler: Simpel funktionsgenerering, syntakshjælp, grundlæggende refaktoriseringsforslag

Premium-modeller (ø1-forhåndsvisning, ø1-mini):

  • Tilbyd forbedrede ræsonnementsmuligheder for komplekse problemer
  • Forbrug 2 PRU'er pr. anmodning (dobbelt standardtakst)
  • Bedre egnet til sofistikerede analyser, komplekse algoritmer og arkitektoniske beslutninger
  • Eksempler: Avanceret fejlfinding af flertrådet kode, komplekst algoritmedesign, sikkerhedsanalyse

Når man arbejder med udfordrende problemer, der kræver dyb ræsonnement, kan premium-modeller give mere grundige analyser og omfattende løsninger. Overvej dog dit PRU-forbrug, når du vælger modeller til forskellige typer opgaver.

Notat

Brug af premium-modeller (o1-preview, o1-mini) bruger 2 PRU'er i stedet for 1 for den samme anmodning. Overvåg dine månedlige godtgørelser, og vælg den passende model baseret på opgavens kompleksitet. Du kan finde aktuelle oplysninger om PRU-forbrug og -grænser i dokumentationen Anmodninger i GitHub Copilot.

Medpilotagenter

GitHub Copilot-agenter er brugerdefinerede værktøjer, som du kan bygge og integrere med GitHub Copilot Chat for at levere yderligere funktioner, der er skræddersyet til dine specifikke behov. Ud over skråstregskommandoer kan du bruge bestemte agenter i Copilot Chat i din IDE til at håndtere forskellige opgaver:

  • @workspace: Denne agent giver dig mulighed for at udvide konteksten for de spørgsmål, du stiller Copilot, til hele projektet. Det er nyttigt til at få genereret kode, der passer ind i dit projekt med det samme, ved hjælp af oplysninger fra hele dit projekt. Det kan også bruges til at få svar om hele kodebasen.

    Skærmbillede af agentkommandoen '@workspace'.

    Du kan også bruge den smarte handling "@workspace/ny", som giver dig mulighed for at generere et helt nyt projekt fra bunden baseret på dine krav. For eksempel "@workspace /new generere nye html-filsider og JavaScript til avancerede beregninger"

    Skærmbillede af kommandoen '@workspace \new' agent.

    Klik på "Opret arbejdsområde" for at fortsætte med oprettelse af kode, og på samme måde som du har dit nye projekt med den kode, du har anmodet om.

    Skærmbillede af nyt genereret arbejdsområdeprojekt.

  • @terminal: Denne agent er nyttig til kommandolinjerelaterede spørgsmål. Du kan f.eks. bede den om at finde den største fil i en mappe eller forklare den sidste kommando, du kørte.

    Skærmbillede af agentkommandoen '@terminal'.

  • @vscode: Brug denne agent til at stille spørgsmål, der er relateret til Visual Studio Code, f.eks. hvordan du foretager fejlfinding eller ændrer indstillinger i IDE'en.

    Skærmbillede af agentkommandoen '@vscode'.

    Ved effektivt at bruge disse værktøjer og teknikker kan du forbedre kvaliteten af de svar, du modtager fra GitHub Copilot Chat, betydeligt, hvilket gør din kodeoplevelse mere effektiv og produktiv.

Notat

Avancerede agenter som @workspace og komplekse handlinger kan forbruge flere Premium Request Units (PRU'er). Simple forespørgsler bruger typisk 1 PRU, mens kompleks arbejdsområdeanalyse eller projektgenerering kan bruge 2-5 PRU'er. Du kan finde aktuelle oplysninger om PRU-forbrug, månedlige kvoter og satsgrænser i dokumentationen Anmodninger i GitHub Copilot.

Deling af feedback på GitHub Copilot Chat

De fleste IDE'er med Integration af Copilot Chat har indbyggede feedbackmekanismer. I Visual Studio Code kan du f.eks. finde feedbackmuligheder i begyndelsen af GitHub Copilot Chats forslag. Hold markøren over et forslag, og du bør se knapperne "tommelfinger op" og "tommelfinger ned".

Skærmbillede af nyttige knapper med tommelfingre.

Klik på tommelfingeren op for at bedømme et forslag som nyttigt.

Skærmbillede af tommelfingre, der ikke hjælper.

Klik på tommelfingeren ned for at bedømme en uhensigtsmæssig en.