De functies voor het voltooien van code van GitHub Copilot onderzoeken
GitHub Copilot biedt suggesties voor automatisch aanvullen tijdens het invoeren van code. Naast standaard suggesties voor automatisch aanvullen biedt GitHub Copilot ook volgende bewerkingssuggesties (NES), die de locatie voorspellen van de volgende bewerking die u waarschijnlijk zult aanbrengen en een voltooiing voor deze bewerking voorstellen.
U ontvangt suggesties voor automatisch aanvullen wanneer u de volgende acties uitvoert:
- Voer een gedeeltelijke of volledige coderegel in de editor in.
- Voer een gedeeltelijke of volledige code-opmerking in de editor in.
- Voer een lege coderegel in de editor in.
Volgende bewerkingssuggesties worden automatisch weergegeven terwijl u code bewerkt. Ze voorspellen welke wijziging u waarschijnlijk de volgende wijziging aanbrengt op basis van uw recente wijzigingen en worden weergegeven met een speciale indicator met de voorgestelde bewerkingslocatie.
Een suggestie voor automatisch aanvullen genereren
GitHub Copilot versnelt de ontwikkeling van apps door codevoltooiingen voor te stellen op basis van de code die u schrijft.
Stel dat u een C#-methode wilt maken met de naam addInt die de som van twee gehele getallen retourneert. Als u begint met het typen van de methode-signature, suggereert GitHub Copilot de code die volgens hen u wilt maken.
De voorgestelde automatische aanvulling wordt weergegeven zonder gekleurde syntaxisaccentuering. Dit helpt de automatischecompletie te onderscheiden van uw bestaande code. U kunt de voorgestelde code accepteren door op de Tab-toets te drukken.
U kunt op de ESC-toets drukken om een suggestie te sluiten.
Het addInt voorbeeld is een beetje simplistisch, dus u vraagt zich misschien af hoe GitHub Copilot iets complexer doet.
Stel dat u een methode wilt maken die een lijst met getallen accepteert en de som van de priemgetallen in de lijst retourneert. U kunt de methode addPrimeNumbersInNumericListeen naam opgeven. Wanneer u begint met het typen van de methodehandtekening, genereert GitHub Copilot een suggestie voor u. Voorbeeld:
Het is belangrijk om suggesties te bekijken voordat u ze accepteert. Ziet deze automatische aanvulling er goed uit, dan kunt u de suggestie accepteren door op de Tab-toets te drukken.
Laten we het scenario een beetje verder voortzetten.
Zodra de suggestie is samengevoegd in uw code, ziet u dat de isPrime methode rood wordt onderstreept. Dit komt doordat de isPrime methode nog niet bestaat in de code.
GitHub Copilot is getraind om best practices te volgen, waaronder het opsplitsen van complexe problemen in kleinere, beter beheersbare onderdelen. In dit geval stelt GitHub Copilot voor dat u een afzonderlijke methode isPrime maakt om te controleren of een getal priem is.
GitHub Copilot is klaar om een codefragment voor de methode isPrime voor te stellen. Wanneer u een lege regel invoert onder de methode addPrimeNumbersInNumericList, wordt GitHub Copilot een methode isPrime voorgesteld die u kunt gebruiken.
Suggesties voor automatisch aanvullen versnellen het ontwikkelingsproces door codefragmenten op te geven. Maar wat als de suggesties niet helemaal zijn wat u nodig hebt? GitHub Copilot biedt een interface voor het beheren van suggesties voor automatisch aanvullen.
Suggesties voor automatisch aanvullen beheren
Wanneer GitHub Copilot een automatisch aanvullen voorstelt, biedt het ook een interface voor het beheren van de suggesties. U kunt een suggestie accepteren, andere suggesties bekijken of de suggesties negeren.
Wanneer u de muisaanwijzer boven een voorgestelde autocompletie plaatst, ziet u verschillende opties voor het beheren van de suggesties.
De standaardinterface voor het beheren van suggesties bevat de volgende opties:
- Accepteer de suggestie (volledig) door Accepteren te selecteren. U kunt de suggestie ook accepteren door op de Tab-toets te drukken.
- Accepteer de suggestie gedeeltelijk door Accept Word te selecteren. U kunt ook gedeeltelijk een suggestie accepteren door op de
Ctrl+→toetsen (pijl-rechts) te drukken. - Alternatieve suggesties weergeven door te
>selecteren of<. U kunt ook de alternatieve suggesties bekijken door op deAlt+]ofAlt+[toetsen te drukken.
Als u de optie Accept Word selecteert, wordt de volgende word in een suggestie geaccepteerd. Dit is handig als u een deel van de suggestie wilt accepteren en vervolgens uw eigen code wilt typen. U kunt bijvoorbeeld het eerste woord van de isPrime methodesuggesties accepteren.
Ga door met het selecteren van Accept Word totdat u zoveel suggesties hebt geaccepteerd als u wilt.
Als u het beletselteken (...) aan de rechterkant van de knop Accepteren Word selecteert, kunt u extra opties kiezen, zoals Werkbalk weergeven en Venster Voltooiingen openen.
Als u de optie Werkbalk Altijd weergeven selecteert, zorgt u ervoor dat de werkbalk zichtbaar blijft wanneer u sneltoetsen gebruikt om suggesties voor automatisch aanvullen te beheren. Als u de optie Open Completions Panel selecteert, wordt het deelvenster GitHub Copilot Voltooiingen geopend. Het weergeven van meerdere suggesties met behulp van het GitHub Copilot Voltooiingspaneel wordt aan het einde van deze les besproken.
Opmerking
Als u een volledige regel van een suggestie wilt accepteren, moet u een aangepaste sneltoets voor de editor.action.inlineSuggest.acceptNextLine opdracht configureren. Deze optie is niet standaard beschikbaar op de werkbalk.
Codesuggesties genereren uit opmerkingen
Naast het voorstellen van een automatisch aanvullen op basis van code, kunt GitHub Copilot codeopmerkingen gebruiken om codefragmenten voor te stellen. Gebruik woordgroepen in natuurlijke taal om de code te beschrijven die u wilt maken. GitHub Copilot kan hierdoor suggesties voor automatisch aanvullen doen die aan specifieke eisen voldoen. U kunt bijvoorbeeld het type algoritme opgeven dat u wilt gebruiken in een berekening of welke methoden en eigenschappen u wilt toevoegen aan een klasse.
We gaan terug naar het voorbeeld van het priemnummer. Op dit moment hebt u de volgende code:
De addPrimeNumbersInNumericList en isPrime methoden lijken te zijn voltooid. U hebt echter nog steeds een lijst met getallen nodig die als argument kunnen worden gebruikt wanneer u de addPrimeNumbersInNumericList methode aanroept. U kunt een opmerking schrijven waarin de gewenste lijst met getallen wordt beschreven. Bijvoorbeeld een lijst met 100 willekeurige getallen die variëren van 1 en 1000.
Wanneer u begint met het invoeren van de opmerking, geeft GitHub Copilot suggesties voor automatische aanvulling die de opmerking voor u aanvullen. GitHub Copilot uw omringende code gebruikt om de suggesties te verbeteren. Als u bijvoorbeeld de opmerking // create invoert, gebruikt GitHub Copilot de omringende code om te voorspellen wat u wilt maken. In dit geval gebruikt GitHub Copilot de methode addPrimeNumbersInNumericList om te voorspellen dat u a list of numbers wilt maken.
Terwijl u uw opmerking blijft schrijven, werkt GitHub Copilot de suggestie voor automatisch aanvullen bij. Wanneer u klaar bent om de suggestie te accepteren, selecteert u Accepteren of drukt u op de Tab-toets.
Wanneer u na de opmerking een nieuwe coderegel maakt, begint GitHub Copilot met het genereren van een codefragment op basis van de opmerking en uw bestaande code.
Accepteer elk van de suggesties zoals ze worden weergegeven.
Als GitHub Copilot niet klaar is, wordt er nog een suggestie gegenereerd die u kunt accepteren.
Als u een nieuwe coderegel invoert nadat het codefragment is voltooid, GitHub Copilot nog een suggesties voor automatisch aanvullen genereert op basis van de vereisten van uw codeproject. In dit geval stelt GitHub Copilot een coderegel voor die de methode addPrimeNumbersInNumericList aanroept, waarbij de lijst met de naam numbers wordt doorgegeven.
Meerdere suggesties bekijken met behulp van het GitHub Copilot Suggesties deelvenster.
Als u niet tevreden bent met de initiële suggesties voor automatisch aanvullen, kunt GitHub Copilot een nieuw tabblad openen in de editor met meer opties. U kunt de grotere lijst met suggesties bekijken om een betere overeenkomst te vinden en deze vervolgens selecteren.
Om deze functie te demonstreren, gaan we terug naar een eerdere fase in het voorbeeld met priemgetallen.
Stel dat u nog steeds de isPrime methode moet maken. Wanneer u een lege regel invoert onder de methode addPrimeNumbersInNumericList, stelt GitHub Copilot een methode isPrime voor u voor. Dit is hetzelfde proces dat u eerder hebt gebruikt. Stel dat u niet tevreden bent met de suggesties die GitHub Copilot biedt en dat u meer opties wilt zien.
Als u het deelvenster GitHub Copilot Voltooiingen wilt openen en andere suggesties wilt bekijken, drukt u op de toetsen Ctrl + Enter. U kunt ook het menu Meer acties openen openen en het deelvenster Voltooiingen openen selecteren.
In het deelvenster GitHub Copilot Voltooiingen worden maximaal 10 andere suggesties weergegeven. Bekijk de suggesties om de suggestie te vinden die het beste bij uw behoeften past.
Als u een suggestie wilt accepteren, selecteert u het label SuggestieNUMMER accepteren onder de suggestie. Selecteer bijvoorbeeld het label Suggestie accepteren 1 onder de eerste suggestie.
Als u alle suggesties wilt negeren, sluit u het tabblad.
Samenvatting
Suggesties voor automatisch aanvullen en volgende bewerkingssuggesties helpen u bij het efficiënter en nauwkeuriger schrijven van code. GitHub Copilot biedt suggesties voor automatisch aanvullen tijdens het invoeren van code en volgende bewerkingssuggesties die uw volgende waarschijnlijke bewerking voorspellen. U kunt een suggestie voor automatisch aanvullen genereren door een gedeeltelijke of volledige coderegel, een gedeeltelijke of volledige codeopmerking of een lege coderegel in te voeren. U kunt een suggestie accepteren door op de Tab-toets te drukken of de suggesties te sluiten door op Esc te drukken. U kunt suggesties beheren met behulp van de werkbalk die wordt weergegeven wanneer u de muisaanwijzer boven een suggestie beweegt. Met de werkbalk kunt u alternatieve suggesties bekijken, een suggestie accepteren, één woord van een suggestie accepteren of het deelvenster GitHub Copilot Voltooiingen openen om meer suggesties weer te geven.