Generer kode ved hjælp af GitHub Copilot kodefuldførelsesforslag

Fuldført

GitHub Copilot kan give forslag til kodefuldførelse til adskillige programmeringssprog og en bred vifte af frameworks, men fungerer især godt til Python, JavaScript, TypeScript, Ruby, Go, C# og C++. Fuldførelse af kodelinje genereres på baggrund af konteksten for den kode, du skriver. Du kan acceptere, afvise eller delvist acceptere forslagene fra GitHub Copilot.

GitHub Copilot tilbyder to måder at generere kodelinjefuldførelser på:

  • Fra en kommentar: Du kan generere fuldførelser af kodelinjen ved at skrive en kommentar, der beskriver den kode, du vil generere. GitHub Copilot giver forslag til kodefuldførelse baseret på den kommentar, du skriver.

  • Fra kode: Du kan generere fuldførelser af kodelinjen ved at starte en kodelinje eller ved at trykke på Enter efter en fuldført kodelinje. GitHub Copilot giver forslag til kodefuldførelse baseret på den kode, du skriver.

Brug GitHub Copilot til at generere kodelinjefuldførelser ud fra en kommentar

GitHub Copilot genererer forslag til kodefuldførelse baseret på kommentaren og den eksisterende kontekst for din app.

Du kan bruge kommentarer til at beskrive kodestykker, metoder, datastrukturer og andre kodeelementer.

Antag, at du har følgende kodestykke:


namespace ReportGenerator;

class QuarterlyIncomeReport
{
    static void Main(string[] args)
    {
        // create a new instance of the class
        QuarterlyIncomeReport report = new QuarterlyIncomeReport();

        // call the GenerateSalesData method

        // call the QuarterlySalesReport method
        
    }

    public void QuarterlySalesReport()
    {

        Console.WriteLine("Quarterly Sales Report");
    }
}    

Følgende kommentar kan f.eks. bruges til at oprette en datastruktur:


/* public struct SalesData. Include the following fields: date sold, department name, product ID, quantity sold, unit price */

GitHub Copilot genererer en eller flere forslag til kodefuldførelse baseret på din kodekommentar og de kodefiler, der er åbne i editoren.

Skærmbillede, der viser kodefuldførelsen for en kommentar, der beskriver en datastruktur.

Bemærk de datatyper, der bruges til at deklarere felterne i datastrukturen. GitHub Copilot vælger datatyper og variabelnavne baseret på din eksisterende kode og kodekommentaren. GitHub Copilot forsøger at bestemme, hvordan applikationen bruger variabler og definerer datatyperne derefter.

Når GitHub Copilot genererer mere end ét forslag, kan du bladre gennem forslagene ved at vælge venstre eller højre pil (> eller <), der ligger til venstre for knappen Accepter. Dette giver dig mulighed for at gennemse og vælge det forslag, der passer bedst til dine behov.

Det er i orden at acceptere et forslag til kodefuldførelse, der ikke stemmer nøjagtigt overens med det, du ønsker. Men de ændringer, der kræves for at "løse" forslaget, skal være tydelige. I dette tilfælde er nogle af datatyperne ikke, som du ønsker, men du kan justere dem, når du har accepteret den foreslåede autofuldførelse.

Hvis ingen af de foreslåede indstillinger ligner det, du har brug for, er der to ting, du kan prøve. Hvis du vil åbne en ny editorfane, der indeholder en liste over andre forslag, skal du trykke på Ctrl + Enter taster. Denne kombination af genvejstaster åbner en ny fane, der indeholder op til 10 forslag mere. Hvert forslag efterfølges af en knap, som du kan bruge til at acceptere forslaget. Fanen lukkes automatisk, når du har accepteret et forslag. Din anden mulighed er at trykke på tasten Esc for at afvise forslagene og prøve igen. Du kan justere kodekommentaren for at give mere kontekst til GitHub Copilot at arbejde med.

Seddel

GitHub Copilot kan lejlighedsvis foreslå et forslag i etaper. Hvis dette sker, kan du trykke på Enter for at få vist flere faser i forslaget, når du har trykket på tabulatortasten.

Hvis du vil acceptere en foreslået datastruktur, skal du trykke på tabulatortasten eller vælge Acceptér.

Hvis du vil ændre feltdatatyperne, skal du opdatere din kode på følgende måde:

public struct SalesData
{
    public DateOnly dateSold;
    public string departmentName;
    public int productID;
    public int quantitySold;
    public double unitPrice;
}

Hurtig justering af forslag til kodefuldførelse hjælper med at sikre, at du opretter den ønskede kode. Det er især vigtigt at foretage rettelser tidligt i din udviklingsproces, når store dele af din kodebase stadig skal udvikles. Efterfølgende kodefuldførelser er baseret på den kode, du allerede har skrevet, så det er vigtigt at sikre, at din kode er så nøjagtig som muligt.

Brug forslag til næste redigering til at følge op på kodeændringer

Ghost text-fuldførelser er gode til at udfylde ny kode, mens du skriver den. Men det meste daglige kodning indebærer redigering af eksisterende kode — omdøbning af en variabel, opdatering af en datatype eller rettelse af en logisk fejl. GitHub Copilot's next edit suggestions (NES) er netop designet til dette scenarie.

Når du laver en redigering, analyserer NES ændringen og forudsiger både, hvor din næste redigering skal ske, og hvad den redigering skal være — selvom det er på en anden linje eller i en anden del af filen. Det holder dig i flowet uden manuelt at skulle søge efter alle lokationer, der kræver opdateringer.

For at aktivere næste redigeringsforslag skal du sætte indstillingen github.copilot.nextEditSuggestions.enabled til true i Visual Studio Code.

Når det er aktiveret, kan du bruge NES på følgende måder:

  1. Foretag en redigering i editoren — for eksempel omdøb en variabel eller ændr en metodesignatur.

  2. Se efter rendepilen, der vises til venstre for editoren. Pilen peger mod stedet for den næste foreslåtte redigering.

  3. Tryk på Tab for at navigere til det foreslåede redigeringssted.

  4. Tryk Tab igen for at acceptere forslaget, eller tryk Escape for at afvise det.

Her er nogle almindelige scenarier, hvor NES er særligt hjælpsomt:

  • Omdøbning af udgravning: Omdøb en variabel én gang, og NES foreslår at opdatere alle andre referencer til den i filen.
  • Typeændringer: Ændr et felts datatype, og NES foreslår opdatering af den nedstrøms kode, der bruger det.
  • Logiske rettelser: Retter du en omvendt tilstand eller en slåfejl i et nøgleord, markerer NES den relaterede kodesektion, der kræver opdateringer.
  • Refaktorering: Efter at have kopieret og indsat en kodeblok foreslår NES, hvordan den kan tilpasses den til den omgivende kodestil.

Seddel

Forslag til næste redigering forudsiger den mest sandsynlige næste ændring baseret på dine nuværende redigeringer. Gennemgå altid hvert forslag, før du accepterer det, da den rette løsning til din specifikke situation kan variere.

Resumé

Kodelinjefuldførelser er en kraftfuld funktion i GitHub Copilot, som kan hjælpe dig med at generere kode hurtigt og effektivt. Når du bruger kommentarer til at beskrive den kode, du vil generere, kan du oprette datastrukturer, metoder og andre kodeelementer med en minimal indsats. Derudover kan GitHub Copilot generere kodelinjefuldførelser baseret på den kode, du indtaster, hvilket gør det nemt at bygge komplekse applikationer.