Codevoltooiing met GitHub Copilot
De voltooiingsfuncties van GitHub Copilot-code bevinden zich rechtstreeks in uw IDE, waar u uw code schrijft en controleert. GitHub Copilot kan naadloos worden geïntegreerd met editors zoals Visual Studio Code of JetBrains, met functies zoals automatische suggesties, een deelvenster met meerdere suggesties en ondersteuning voor verschillende coderingsstijlen. U communiceert voornamelijk met GitHub Copilot via deze IDE-hulpprogramma's en begrijpt hoe en waar u ze kunt gebruiken om de krachtige mogelijkheden voor het genereren van code te optimaliseren.
In deze les behandelen we:
- Ondersteunde talen voor GitHub Copilot
- Automatische suggesties
- Deelvenster Meerdere suggesties
- Ondersteuning voor verschillende coderingsstijlen in suggesties
- Hoe GitHub Copilot codeeropmerkingen voor suggesties bevat
Ondersteunde talen voor GitHub Copilot
GitHub Copilot biedt robuuste ondersteuning voor een breed scala aan programmeertalen en frameworks, met sterke mogelijkheden in:
- Python
- Javascript
- Java
- TypeScript
- Robijn
- Ga
- C#
- C++
Hoewel deze talen uitzonderlijke ondersteuning krijgen, kan GitHub Copilot ook helpen met veel andere talen en frameworks.
Aanbeveling
GitHub Copilot biedt een gratis abonnement met 2.000 code-autocompleties en 50 chatberichten per maand. Open Visual Studio Code om aan de slag te gaan, klik op het GitHub Copilot-pictogram en klik vervolgens op Aanmelden om GitHub Copilot gratis te gebruiken. Meld u aan bij uw GitHub-account in het venster dat wordt geopend in de browser. Meer informatie. Docenten, studenten en geselecteerde opensource-onderhouders kunnen Copilot Pro gratis ontvangen. Meer informatie over hoe je dit kunt doen vind je op: https://aka.ms/Copilot4Students.
Automatische suggesties
Copilot biedt codesuggesties terwijl u typt: soms wordt de huidige regel voltooid en wordt soms een geheel nieuw codeblok voorgesteld. U kunt alle suggesties, delen of negeren. Deze mogelijkheid om realtime, contextbewuste suggesties te bieden, bespaart waardevolle ontwikkeltijd door de noodzaak om te zoeken naar syntaxis, het oplossen van problemen met logica of het herhaaldelijk schrijven van veelvoorkomende patronen.
Deelvenster Meerdere suggesties
Wanneer u aan een codeblok werkt en GitHub Copilot een suggestie biedt, ziet u een grijs weergegeven codefragment. Als u meer opties wilt verkennen en uw ontwikkelwerkstroom wilt versnellen, plaatst u de muisaanwijzer op de suggestie om het Copilot-configuratiescherm weer te geven. Met deze functie kunt u snel meerdere benaderingen voor hetzelfde probleem evalueren, zodat u de meest geschikte oplossing voor uw specifieke context kunt kiezen.
Klik op de pijl-vooruit of achteruit in het configuratiescherm om de volgende of vorige suggesties weer te geven. U kunt ook sneltoetsen gebruiken om snel door opties te bladeren:
- macOS: Optie (⌥) of Alt+] (volgende), Optie (⌥) of Alt+[ (vorige)
- Windows of Linux: Alt+] (volgende), Alt+[ (vorige)
Deze snelle iteratie via meerdere codesuggesties helpt u bij het handhaven van het ontwikkelingsmoment door u snel benaderingen te laten vergelijken zonder uw coderingsstroom te onderbreken. In plaats van helemaal opnieuw te beginnen of online te zoeken naar voorbeelden, kunt u binnen enkele seconden verschillende implementaties evalueren, waarbij u de implementatie selecteert die het beste past bij uw behoeften en coderingsstijl.
Hoewel GitHub Copilot uitstekend geschikt is voor het voorstellen van code voor u, toont het ook de mogelijkheid om zich aan te passen via de volgende manieren:
- Methode-implementatie: Wanneer u begint met het typen van een methodenaam, kan Copilot de volledige implementatie voorstellen, volgens uw gevestigde coderingsstijl.
- Naamconventies: Het houdt rekening met uw voorkeursnaamconventies voor variabelen, functies en klassen.
- Opmaak: Copilot past zich aan uw inspringingsstijl, haakjesplaatsing en andere opmaakvoorkeuren aan.
- Opmerkingsstijl: deze kan uw opmerkingsstijl nabootsen, ongeacht of u liever inlineopmerkingen, blokopmerkingen of documenttekenreeksen gebruikt.
- Ontwerppatronen: Wanneer uw project consistent gebruikmaakt van bepaalde ontwerppatronen, stelt Copilot code voor die overeenkomt met deze patronen.
Codeeropmerkingen gebruiken voor suggesties
Een belangrijk aspect van deze mogelijkheid is hoe het codeeropmerkingen bevat om de suggesties te verbeteren. In deze sectie worden de verschillende manieren besproken waarop GitHub Copilot opmerkingen gebruikt om de mogelijkheden voor het voltooien en genereren van code te verbeteren.
Informatie over de context van opmerkingen
Wanneer GitHub Copilot is geïntegreerd in uw bestaande codebasis, worden verschillende aspecten van uw code gebruikt om relevantere suggesties te bieden, inclusief codeopmerkingen. Ontwikkelaars gebruiken vaak opmerkingen om de intentie van code te verduidelijken en samenwerking te verbeteren, en Copilot, als uw AI-coderingsassistent, maakt op veel dezelfde manier gebruik van deze opmerkingen. Door inzicht te krijgen in de intentie achter de opmerkingen, kan Copilot nauwkeurigere en contextbewuste codesuggesties bieden via twee belangrijke processen:
- Natuurlijke taalverwerking: Copilot maakt gebruik van geavanceerde NLP-technieken (Natural Language Processing) om de betekenis en intentie achter opmerkingen in de code te interpreteren.
- Contextuele analyse: Hiermee worden opmerkingen met betrekking tot de omringende code geanalyseerd, inzicht in hun relevantie en doel binnen de bredere context van het bestand of project.
Typen opmerkingen die worden gebruikt
Copilot kan werken met verschillende soorten opmerkingen om de suggesties te informeren:
- Inline opmerkingen: Korte uitleg naast specifieke coderegels.
- Opmerkingen blokkeren: langere uitleg die een functie of klasse kan beschrijven.
- Docstrings: Formele documentatietekenreeksen in talen zoals Python.
- TODO-opmerkingen: Notities over toekomstige implementaties of verbeteringen.
- API-documentatie: opmerkingen waarin het gebruik en de parameters van functies of methoden worden beschreven.
Genereren van commentaargestuurde code
Copilot gebruikt opmerkingen op verschillende manieren om code te genereren en voorstellen:
Functie-implementatie: Wanneer een functie wordt beschreven in opmerkingen, kan Copilot een volledige implementatie voorstellen op basis van die beschrijving.
Codevoltooiing: Copilot gebruikt opmerkingen om nauwkeurigere codevoltooiingen te bieden, inzicht te krijgen in de intentie van de ontwikkelaar.
In dit voorbeeld hebben we een opmerking waarin een functie wordt beschreven om een tekenreeks om te draaien. Op basis van deze opmerking stelt Copilot waarschijnlijk een implementatie voor met behulp van de slice-notatie van Python met een stap van -1, waardoor de tekenreeks efficiënt wordt omgekeerd.
Naamgeving van variabelen: Opmerkingen kunnen invloed hebben op de suggesties van Copilot voor namen van variabelen, waardoor ze beschrijvender en contextvriendelijker zijn.
Hier hebben we een opmerking waarin een lijst met favoriete boeken van de gebruiker wordt beschreven. Copilot zou waarschijnlijk beschrijvende variabelenamen voorstellen die overeenkomen met de context. In dit geval werd 'favorite_books' voorgesteld als de naam van de variabele, waarmee de inhoud van de lijst duidelijk wordt beschreven.
Algoritmeselectie: Wanneer opmerkingen een specifiek algoritme of een specifieke benadering beschrijven, kan Copilot code voorstellen die overeenkomt met die methode.
In het bovenstaande voorbeeld geven we opmerkingen waarin de stappen van het algoritme voor bellensorteerd worden beschreven. Op basis van deze opmerkingen zou Copilot waarschijnlijk een implementatie voorstellen die de beschreven stappen nauw volgt.