Undersøg GitHub Copilot bedste praksis

Fuldført

GitHub Copilot til Visual Studio Code hjælper udviklere med at skrive kode hurtigere og med færre fejl.

Men GitHub Copilot er en AI-parprogrammør, ikke en programmør. For at få mest muligt ud af GitHub Copilot skal du følge best practices.

Vælg det rigtige GitHub Copilot-værktøj til opgaven

Selvom GitHub Copilot's kodefuldførelsesfunktioner og GitHub Copilot's chatfunktioner deler nogle funktioner, er de to værktøjer bedst at bruge i forskellige situationer.

Kodefuldførelser giver den største værdi, når de bruges til at:

  • Fuldfør kodestykker, variabelnavne og funktioner, mens du skriver dem.
  • Generér gentagen kode.
  • Generér kode ud fra indbyggede kommentarer på et naturligt sprog.
  • Generér test til testbaseret udvikling.

Alternativt giver GitHub Copilot's chatfunktioner mest værdi, når de er vant til:

  • Besvar spørgsmål om kode på et naturligt sprog.
  • Generér store kodesektioner, og gengiv derefter koden for at opfylde dine behov.
  • Udfør specifikke opgaver ved hjælp af chatdeltagere, skråstreg-kommandoer og chatvariabler. Chatdeltagere (såsom @vscode eller @terminal) sætter konteksten for en anmodning, skråstregkommandoer (såsom /explain eller /fix) kommunikerer din hensigt, og chatvariabler (såsom #file eller #codebase) fokuserer Copilot på specifik kontekst. Forskellige deltagere og kommandoer er tilgængelige på forskellige GitHub Copilot Chat-platforme.
  • Fuldfør en opgave som en bestemt person. For eksempel kan du fortælle GitHub Copilot Chat, at det er en Senior C++-udvikler, der går meget op i kodekvalitet, læsbarhed og effektivitet. Efter at have oprettet personaen, kan du bede GitHub Copilot om at gennemgå din kode.

Få mest muligt ud af GitHub Copilot inline forslag

GitHub Copilot præsenterer automatisk forslag for at hjælpe dig med at kode mere effektivt. GitHub Copilot giver bedre forslag, når du følger bestemte handlinger og adfærd. Du følger muligvis allerede nogle af disse handlinger og funktionsmåder, da de også hjælper dig og dine kolleger med at forstå din kode.

Giv kontekst for GitHub Copilot

GitHub Copilot fungerer bedst, når det har tilstrækkelig kontekst til at vide, hvad du laver, og hvad du ønsker hjælp til. Ligesom du giver en kollega relevant kontekst, når du beder om hjælp, skal du give GitHub Copilot kontekst.

Åbn filer

For kodefuldførelser ser GitHub Copilot på de filer, der er åbne i din editor for at etablere kontekst og lave passende forslag. At have relaterede filer åbne i Visual Studio Code, mens du bruger GitHub Copilot, hjælper med at definere konteksten og giver GitHub Copilot mulighed for at se det større billede af dit projekt.

Kommentar på øverste niveau

Ligesom du ville give en kort, overordnet introduktion til en kollega, kan en kommentar på øverste niveau i en kodefil hjælpe GitHub Copilot med at forstå den overordnede kontekst for den kode, du skaber.

Relevante inkluderer og referencer

Det er bedst manuelt at angive de "include"-referencer eller modulreferencer, du skal bruge til dit arbejde. GitHub Copilot kan komme med forslag, men du ved sandsynligvis bedst, hvilke afhængigheder du skal inkludere. Dette kan også informere GitHub Copilot om de frameworks, biblioteker og deres versioner, du gerne vil have det til at bruge, når du laver forslag.

Meningsfulde funktionsnavne

Ligesom en metode kaldet fetchData() ikke betyder meget for en kollega (eller dig efter flere måneder), vil fetchData() ikke hjælpe GitHub Copilot med at forstå din kode. At bruge meningsfulde funktionsnavne hjælper GitHub Copilot med at generere forslag, der gør, hvad du ønsker.

Specifikke og velomfangede funktionskommentarer

Et funktionsnavn kan kun være så beskrivende uden at være alt for langt. Funktionskommentarer kan hjælpe med at udfylde detaljer, som GitHub Copilot måske har brug for at kende til.

Prime GitHub Copilot med eksempelkode

Et trick til at få GitHub Copilot på den rigtige side er at kopiere og indsætte ønskede kodeeksempler i en åben editor-fane. Eksemplet skal repræsentere den kode, du ønsker, at GitHub Copilot skal emulere. At give et eksempel kan hjælpe GitHub Copilot med at generere forslag, der matcher det sprog og de opgaver, du ønsker, det skal emulere. Når GitHub Copilot har hjulpet dig med at skabe noget kode, der matcher dit mål, kan du slette eksempelkoden. Denne tilgang er især nyttig, når du skal "træne" GitHub Copilot. For eksempel, antag at GitHub Copilot som standard foreslår kodeuddrag, der implementerer en ældre version af et bibliotek. Du kan indsætte kode i dit projekt, der bruger den nyeste version af biblioteket. Dette hjælper GitHub Copilot med at begynde at foreslå kodeudsnit, der bruger den nyeste version af biblioteket. Når GitHub Copilot har lært at bruge den nye biblioteksversion, kan du slette eksempelkoden.

Vær konsistent, og hold kvalitetsbjælken høj

GitHub Copilot vil hæfte sig på din kode for at generere forslag, der følger det eksisterende mønster, så ordsproget "skrald ind, skrald ud" gælder.

Altid at holde en høj kvalitet bar kan tage disciplin. Især når du koder hurtigt og løst for at få noget til at fungere. Du kan overveje at deaktivere GitHub Copilot-fuldførelser, mens du er i "hacking"-tilstand. Du kan midlertidigt deaktivere fuldførelser fra GitHub Copilot statusmenu (tilgængelig fra Visual Studio Code's statuslinje).

Få mest muligt ud af GitHub Copilot Chat

Når du bruger GitHub Copilot's chatfunktioner, er der flere ting, du kan gøre for at optimere din oplevelse.

Start generelt, og hent derefter specifikke

Når du skriver en prompt til GitHub Copilot, skal du først give GitHub Copilot en bred beskrivelse af målet eller scenariet. Angiv derefter eventuelle specifikke krav. Overvej følgende prompter:

  1. Skriv en funktion, der fortæller mig, om et tal er primtal.
  2. Funktionen skal tage et heltal og returnere true, hvis heltalet er primtal.
  3. Funktionen skal udløse en fejl, hvis inputtet ikke er et positivt heltal.

Giv eksempler

Brug eksempler til at hjælpe GitHub Copilot med at forstå, hvad du ønsker. Du kan angive eksempelinputdata, eksempeloutput og eksempelimplementeringer.

Opdel komplekse opgaver i enklere opgaver

Hvis du vil have GitHub Copilot til at løse en kompleks eller stor opgave, så opdel opgaven i flere simple, små opgaver. For eksempel, i stedet for at bede GitHub Copilot om at generere et ordsøgningspuslespil, så opdel processen i mindre opgaver og bed GitHub Copilot om at løse dem én ad gangen:

  1. Skriv en funktion for at generere et 10- eller 10-gitter med bogstaver.
  2. Skriv en funktion for at finde alle ord i et gitter med bogstaver med en liste over gyldige ord.
  3. Skriv en funktion til , der bruger de forrige funktioner til at generere et 10-10-gitter med bogstaver, der indeholder mindst 10 ord.
  4. Opdater den forrige funktion for at udskrive gitteret med bogstaver og 10 tilfældige ord fra gitteret.

Undgå flertydighed

Undgå tvetydige ord. For eksempel, spørg ikke "hvad gør dette", når "dette" kan være den aktuelle fil, det sidste svar fra GitHub Copilot eller en specifik kodeblok. I stedet for at bruge tvetydige ord skal du være specifik: Hvad gør funktionen createUser?

Angiv relevant kode

Hvis du bruger GitHub Copilot Chat i din IDE, skal du åbne filen/filerne eller markere den kode, du vil have GitHub Copilot til at referere til. Brug chatdeltagere, skråstregskommandoer og chatvariabler i prompter til at definere kontekst. For eksempel skal du angive, hvilke filer GitHub Copilot Chat skal referere til.

Brug chatdeltagere, skråstregskommandoer og chatvariabler

Chatdeltagere er designet til at indsamle ekstra kontekst enten om en kodebase eller et bestemt domæne eller en bestemt teknologi. Når du angiver den relevante deltager, kan GitHub Copilot Chat finde og give bedre information, som kan sendes til GitHub Copilot-backend. For eksempel kan du bruge @vscode, når du stiller spørgsmål om Visual Studio Code funktioner og API'er.

Skråstreg-kommandoer hjælper GitHub Copilot Chat med at forstå din hensigt, når du stiller et spørgsmål. Lærer du om en kodebase (/explain), vil du have hjælp til at løse et problem (/fix), eller laver du testcases (/tests)? Ved at lade GitHub Copilot Chat vide, hvad du prøver at gøre, kan den tilpasse sit svar til din opgave og levere nyttige kommandoer, indstillinger og kodeuddrag.

Chatdeltagere, såsom @terminal eller @vscode, kan bidrage med chatvariabler, der giver domænespecifik kontekst. Du kan referere til en chatvariabel i din chatprompt ved at bruge symbolet # . Du kan bruge chatvariabler til at være mere specifikke for konteksten for din prompt.

For eksempel lader chatvariablen #file dig referere til specifikke filer fra dit arbejdsområde i din chatprompt. Dette hjælper med at gøre svarene fra GitHub Copilot Chat mere relevante for din kode ved at give kontekst om den fil, du arbejder med. Du kan stille spørgsmål som "Can you suggest improvements to #file:package.json?" eller "How do I add an extension in #file:devcontainer.json?". At bruge variablen #file kan hjælpe dig med at få mere målrettede og præcise svar fra GitHub Copilot.

Eksperimentér og gentagelse

Hvis du ikke får det ønskede resultat, skal du gentage i prompten og prøve igen. Reference til det forrige svar i din næste anmodning. Du kan også slette det forrige svar og starte forfra.

Bevar historikken som relevant

GitHub Copilot Chat bruger chathistorikken til at få kontekst om din anmodning. For at sikre, at GitHub Copilot bruger en relevant chathistorik:

  • Brug tråde til at starte en ny samtale for en ny opgave.
  • Slet anmodninger, der ikke længere er relevante, eller som ikke gav dig det ønskede resultat.

Følg gode kodningspraksisser

Hvis du ikke får de svar, du ønsker, når du spørger GitHub Copilot om forslag, så sørg for, at din eksisterende kode følger best practices og er let at læse. For eksempel:

  • Brug en ensartet kodetypografi og mønstre.
  • Brug beskrivende navne til variabler og funktioner.
  • Kommenter din kode.
  • Strukturer din kode i modulopbyggede komponenter.
  • Medtag enhedstests.

Resumé

GitHub Copilot er et kraftfuldt værktøj, der kan hjælpe dig med at skrive kode hurtigere og med færre fejl. Men for at få mest muligt ud af GitHub Copilot, skal du følge best practices. Ved at vælge det rette GitHub Copilot-værktøj til opgaven, give kontekst og følge gode kodningspraksisser kan du optimere din oplevelse med GitHub Copilot.