Kodefullføring med GitHub Copilot
Fullføringsfunksjonene for GitHub Copilot-kode direkte i IDE-en, der du skriver og ser gjennom koden. GitHub Copilot integreres sømløst med redaktører som Visual Studio Code eller JetBrains, og tilbyr funksjoner som autosuggestions, en flere forslagsrute og støtte for ulike kodestiler. Du samhandler primært med GitHub Copilot gjennom disse IDE-verktøyene, og det å forstå hvordan og hvor du bruker dem hjelper deg med å optimalisere de kraftige kodegenereringsevnene.
I denne enheten dekker vi:
- Støttespråk for GitHub Copilot
- Automatiske forslag
- Flere forslag-ruten
- Støtte for ulike kodestiler i forslag
- Slik inkorporerer GitHub Copilot kodekommentarer for forslag
Støttespråk for GitHub Copilot
GitHub Copilot gir robust støtte for et bredt spekter av programmeringsspråk og -rammer, med sterke funksjoner i:
- Python
- JavaScript
- Java
- TypeScript
- Ruby
- Gå
- C#
- C++
Selv om disse språkene får eksepsjonell støtte, kan GitHub Copilot også hjelpe med mange andre språk og rammeverk.
Tip
GitHub Copilot tilbyr et gratis nivå med 2000 kode autofullføringer og 50 chatmeldinger per måned. Kom i gang ved å åpne Visual Studio Code, klikke på GitHub Copilot-ikonet og deretter klikke Logg på for å bruke GitHub Copilot gratis. Logg på GitHub-kontoen i vinduet som åpnes i nettleseren. Finn ut mer. Lærere, studenter og utvalgte vedlikeholdere med åpen kildekode kan motta Copilot Pro gratis, lære hvordan på: https://aka.ms/Copilot4Students.
Automatiske forslag
Copilot tilbyr kodeforslag mens du skriver: Noen ganger fullfører du gjeldende linje, og foreslår noen ganger en helt ny kodeblokk. Du kan godta alle, dele eller ignorere forslaget. Denne muligheten til å gi kontekstavhengige forslag i sanntid sparer verdifull utviklingstid ved å redusere behovet for å søke etter syntaks, feilsøke logikk eller skrive vanlige mønstre gjentatte ganger.
Flere forslag-ruten
Når du arbeider med en kodeblokk og GitHub Copilot tilbyr et forslag, ser du en nedtonet kodesnutt. Hvis du vil utforske flere alternativer og få fart på utviklingsarbeidsflyten, kan du holde pekeren over forslaget for å vise GitHub Copilot-kontrollpanelet. Denne funksjonen lar deg raskt evaluere flere tilnærminger til det samme problemet, og hjelpe deg med å velge den mest passende løsningen for din spesifikke kontekst.
Klikk piltastene fremover eller bakover i kontrollpanelet for å se neste eller forrige forslag. Du kan også bruke hurtigtaster til å bla raskt gjennom alternativene:
- macOS: Tilvalg (⌥) eller ALT+] (neste), Alternativ (⌥) eller ALT+[ (forrige)
- Windows eller Linux: ALT+] (neste), ALT+[ (forrige)
Denne raske iterasjonen gjennom flere kodeforslag hjelper deg med å opprettholde utviklingsmomentum ved å la deg raskt sammenligne tilnærminger uten å avbryte kodeflyten. I stedet for å starte fra bunnen av eller søke på nettet etter eksempler, kan du evaluere ulike implementeringer i løpet av sekunder, og velge den som passer best for dine behov og kodestil.
Selv om GitHub Copilot er ypperlig til å foreslå kode for deg, viser den også sin evne til å tilpasse seg på følgende måter:
- Implementering av metode: Når du begynner å skrive inn et metodenavn, kan Copilot foreslå hele implementeringen, etter den etablerte kodestilen.
- Navnekonvensjoner: Den tar opp de foretrukne navnekonvensjonene for variabler, funksjoner og klasser.
- Formatering: Copilot tilpasser seg innrykksstil, hakeparentesplassering og andre formateringsinnstillinger.
- kommentarstil: Den kan etterligne kommentarstilen din, enten du foretrekker innebygde kommentarer, blokkerer kommentarer eller dokumentstrenger.
- Utformingsmønstre: Når prosjektet konsekvent bruker visse utformingsmønstre, foreslår Copilot kode som samsvarer med disse mønstrene.
Bruke kodekommentarer for forslag
Et viktig aspekt ved denne funksjonen er hvordan den inkorporerer kodekommentarer for å forbedre forslagene. Denne delen utforsker de ulike måtene GitHub Copilot bruker kommentarer på for å forbedre fullførings- og genereringsfunksjonene for koden.
Forstå kommentarkontekst
Når den er integrert i den eksisterende kodebasen, bruker GitHub Copilot ulike aspekter av koden til å gi mer relevante forslag, inkludert kodekommentarer. Utviklere bruker ofte kommentarer til å klargjøre kodeintensjon og forbedre samarbeidet, og Copilot, som assistent for ai-koding, bruker disse kommentarene på omtrent samme måte. Ved å forstå hensikten bak kommentarene, kan Copilot gi mer nøyaktige og kontekstavhengige kodeforslag gjennom to viktige prosesser:
- Natural Language Processing: Copilot bruker avanserte teknikker for behandling av naturlig språk (NLP) til å tolke betydningen og hensikten bak kommentarer i koden.
- kontekstavhengig analyse: Den analyserer kommentarer i forhold til den omkringliggende koden, og forstår relevansen og formålet innenfor den bredere konteksten til filen eller prosjektet.
Typer kommentarer som brukes
Copilot kan arbeide med ulike typer kommentarer for å informere forslagene:
- Innebygde kommentarer: Korte forklaringer ved siden av bestemte kodelinjer.
- Blokkere kommentarer: Lengre forklaringer som kan beskrive en funksjon eller klasse.
- Docstrings: Formelle dokumentasjonsstrenger på språk som Python.
- TODO-kommentarer: Notater om fremtidige implementeringer eller forbedringer.
- API-dokumentasjon: Kommentarer som beskriver bruk og parametere for funksjoner eller metoder.
Kommentardrevet kodegenerering
Copilot bruker kommentarer på flere måter til å generere og foreslå kode:
Funksjonsimplementering: Når en funksjon er beskrevet i kommentarer, kan Copilot foreslå en hel implementering basert på denne beskrivelsen.
fullføring av kode: Copilot bruker kommentarer til å gi mer nøyaktige fullføringer av kode, og forstår utviklerens hensikt.
I dette eksemplet har vi en kommentar som beskriver en funksjon for å reversere en streng. Basert på denne kommentaren vil Copilot sannsynligvis foreslå en implementering ved hjelp av Pythons slice notasjon med et trinn på -1, som effektivt reverserer strengen.
Variabel navngivning: Kommentarer kan påvirke Copilots forslag til variabelnavn, noe som gjør dem mer beskrivende og kontekstavhengige.
Her har vi en kommentar som beskriver en liste over brukerens favorittbøker. Copilot vil sannsynligvis foreslå beskrivende variabelnavn som samsvarer med konteksten. I dette tilfellet foreslo den «favorite_books» som variabelnavnet, som tydelig beskriver innholdet i listen.
algoritmevalg: Når kommentarer beskriver en bestemt algoritme eller tilnærming, kan Copilot foreslå kode som samsvarer med denne metoden.
I eksemplet ovenfor gir vi kommentarer som beskriver trinnene i boblesorteringsalgoritmen. Basert på disse kommentarene vil Copilot sannsynligvis foreslå en implementering som følger trinnene som er beskrevet nøye.