Granska GitHub Copilot funktioner för kodkomplettering
GitHub Copilot innehåller förslag på automatisk komplettering när du anger kod. Förutom standardförslag för automatisk komplettering innehåller GitHub Copilot även nästa redigeringsförslag (NES), som förutsäger platsen för nästa redigering som du sannolikt kommer att göra och föreslå ett slutförande för den.
Du får förslag på automatisk komplettering när du utför följande åtgärder:
- Ange en partiell eller fullständig kodrad i redigeraren.
- Ange en partiell eller fullständig kodkommentare i redigeraren.
- Ange en tom kodrad i redigeraren.
Nästa redigeringsförslag visas automatiskt när du redigerar kod. De förutsäger vilken ändring du sannolikt kommer att göra härnäst baserat på dina senaste redigeringar och visas med en särskild indikator som visar den föreslagna redigeringsplatsen.
Generera ett förslag på automatisk komplettering
GitHub Copilot påskyndar apputvecklingen genom att föreslå kodslutningar baserat på den kod som du skriver.
Anta till exempel att du vill skapa en C#-metod med namnet addInt som returnerar summan av två heltal. Om du börjar skriva metodsignaturen föreslår GitHub Copilot koden som du tror att du vill skapa.
Den föreslagna automatiska kompletteringen visas utan färgad syntaxmarkering. Detta hjälper till att urskilja den automatiska kompletteringen från din befintliga kod. Du kan acceptera den föreslagna koden genom att trycka på tabbtangenten.
Du kan trycka på Esc-tangenten för att stänga ett förslag.
Exemplet addInt är lite förenklat, så du kanske undrar hur GitHub Copilot gör med något mer komplext.
Anta att du vill skapa en metod som accepterar en lista med tal och returnerar summan av de primära talen i listan. Du kan ge metoden namnet addPrimeNumbersInNumericList. När du börjar skriva metodsignaturen genererar GitHub Copilot ett förslag åt dig. Till exempel:
Det är viktigt att granska förslag innan du godkänner dem. Den här automatisk komplettering ser bra ut, så du kan acceptera förslaget genom att trycka på tabbtangenten.
Låt oss fortsätta scenariot lite längre.
När förslaget har sammanfogats i koden ser du att isPrime metoden är understruken i rött. Det beror på att isPrime metoden inte finns i koden än.
GitHub Copilot är tränad att följa bästa praxis, bland annat genom att dela upp komplexa problem i mindre, mer hanterbara delar. I det här fallet föreslår GitHub Copilot att du skapar en separat isPrime-metod för att kontrollera om ett tal är primärt.
GitHub Copilot är redo att föreslå ett kodfragment för metoden isPrime. När du anger en tom rad under metoden addPrimeNumbersInNumericList föreslår GitHub Copilot en metod isPrime som du kan använda.
Förslag på automatisk komplettering påskyndar utvecklingsprocessen genom att tillhandahålla kodfragment. Men vad händer om förslagen inte är riktigt vad du behöver? GitHub Copilot tillhandahåller ett gränssnitt för att hantera förslag på automatisk komplettering.
Hantera förslag för automatisk komplettering
När GitHub Copilot föreslår en automatisk komplettering innehåller den också ett gränssnitt för att hantera förslagen. Du kan acceptera ett förslag, granska andra förslag eller avvisa förslagen.
När du hovra muspekaren över en föreslagen automatisk komplettering visas flera alternativ för att hantera förslagen.
Standardgränssnittet för att hantera förslag innehåller följande alternativ:
- Acceptera förslaget (i sin helhet) genom att välja Acceptera. Du kan också acceptera förslaget genom att trycka på tabbtangenten.
- Acceptera förslaget delvis genom att välja Accept Word. Du kan också delvis acceptera ett förslag genom att trycka på tangenterna
Ctrl+→(högerpil). - Visa alternativa förslag genom att välja
>eller<. Du kan också visa de alternativa förslagen genom att trycka på tangenternaAlt+]ellerAlt+[.
Om du väljer alternativet Accept Word godkänns nästa word i ett förslag. Detta är användbart när du vill acceptera en del av förslaget och sedan fortsätta skriva din egen kod. Du kan till exempel acceptera det första ordet i metodförslaget isPrime .
Fortsätt att välja Accept Word tills du har accepterat så mycket av förslaget som du vill.
Om du väljer ellipsikonen (...) till höger om knappen Acceptera Word finns ytterligare alternativ, till exempel Always Show Toolbar och Öppna panelen Slutföranden.
Om du väljer alternativet Visa verktygsfältet alltid ser du till att verktygsfältet förblir synligt när du använder kortkommandon för att hantera förslag för automatisk komplettering. Om du väljer alternativet Öppna slutförandepanelen öppnas GitHub Copilot Slutförandepanelen. I slutet av den här enheten visas flera förslag med hjälp av GitHub Copilots slutförandepanel.
Anmärkning
Om du vill acceptera en hel rad i ett förslag måste du konfigurera en anpassad kortkommando för editor.action.inlineSuggest.acceptNextLine kommandot. Det här alternativet är inte tillgängligt som standard i verktygsfältet.
Generera kodförslag från kommentarer
Förutom att föreslå en automatisk komplettering baserat på kod kan GitHub Copilot använda kodkommentarer för att föreslå kodfragment. Använd fraser på naturligt språk för att beskriva den kod som du vill skapa. På så sätt kan GitHub Copilot föreslå förslag för automatisk komplettering som uppfyller specifika krav. Du kan till exempel ange vilken typ av algoritm som du vill använda i en beräkning, eller vilka metoder och egenskaper som du vill lägga till i en klass.
Nu går vi tillbaka till exemplet med primtal. Nu har du följande kod:
Metoderna addPrimeNumbersInNumericList och isPrime verkar vara fullständiga. Du behöver dock fortfarande en lista med tal som kan användas som argument när du anropar addPrimeNumbersInNumericList metoden. Du kan skriva en kommentar som beskriver listan med tal som du vill ha. Till exempel en lista med 100 slumpmässiga tal som sträcker sig från 1 och 1 000.
När du börjar ange kommentaren föreslår GitHub Copilot en automatisk komplettering som slutför kommentaren åt dig. GitHub Copilot använder din omgivande kod för att förbättra dess förslag. Om du till exempel börjar ange kommentaren // create använder GitHub Copilot den omgivande koden för att förutsäga vad du vill skapa. I det här fallet använder GitHub Copilot metoden addPrimeNumbersInNumericList för att förutsäga att du vill skapa a list of numbers.
När du fortsätter att skriva kommentaren uppdaterar GitHub Copilot dess förslag för automatisk komplettering. När du är redo att acceptera förslaget väljer du Acceptera eller trycker på tabbtangenten.
När du skapar en ny kodrad efter kommentaren börjar GitHub Copilot generera ett kodfragment baserat på kommentaren och din befintliga kod.
Acceptera vart och ett av förslagen som de visas.
Om GitHub Copilot inte är klar genererar det ett annat förslag som du kan acceptera.
Om du anger en ny kodrad när kodfragmentet har slutförts genererar GitHub Copilot ytterligare ett förslag för automatisk komplettering baserat på kraven i kodprojektet. I det här fallet föreslår GitHub Copilot en kodrad som anropar metoden addPrimeNumbersInNumericList och skickar listan med namnet numbers.
Visa flera förslag med hjälp av GitHub Copilot förslagspanel
Om du inte är nöjd med de första automatiska kompletteringsförslagen kan GitHub Copilot öppna en ny flik i redigeraren med fler alternativ. Du kan granska den större listan med förslag för att hitta en bättre matchning och sedan välja den.
För att demonstrera den här funktionen går vi tillbaka till en tidigare fas i exemplet med primtal.
Anta att du fortfarande behöver skapa isPrime metoden. När du anger en tom rad under metoden addPrimeNumbersInNumericList föreslår GitHub Copilot en isPrime metod åt dig. Det här är samma process som du använde tidigare. Anta dock att du inte är nöjd med de förslag som GitHub Copilot erbjudanden och vill se fler alternativ.
För att öppna GitHub Copilot Kompletteringar-panelen och visa andra förslag, tryck på tangenterna Ctrl + Enter. Du kan också öppna menyn Fler åtgärder och välja Öppna slutförandepanelen.
GitHub Copilot-kompletteringspanelen visar upp till 10 andra förslag. Granska förslagen för att hitta den som passar bäst för dina behov.
Om du vill acceptera ett förslag väljer du etiketten Acceptera förslagsnummer under förslaget. Välj till exempel etiketten Acceptera förslag 1 under det första förslaget.
Stäng fliken om du vill avvisa alla förslag.
Sammanfattning
Förslag för automatisk komplettering och nästa redigeringsförslag hjälper dig att skriva kod mer effektivt och korrekt. GitHub Copilot innehåller förslag för automatisk komplettering när du anger kod och nästa redigeringsförslag som förutsäger nästa troliga redigering. Du kan generera ett förslag om automatisk komplettering genom att ange en partiell eller fullständig kodrad, en partiell eller fullständig kodkommentar eller en tom kodrad. Du kan acceptera ett förslag genom att trycka på tabbtangenten eller ignorera förslagen genom att trycka på Esc-tangenten. Du kan hantera förslag med hjälp av verktygsfältet som visas när du hovrar över ett förslag. Med verktygsfältet kan du granska alternativa förslag, acceptera ett förslag, acceptera ett ord i ett förslag eller öppna panelen GitHub Copilot Slutföranden för att visa fler förslag.