Examiner les fonctionnalités de complétion automatique du code de GitHub Copilot

Effectué

GitHub Copilot fournit des suggestions automatiques pendant que vous écrivez du code. Outre les suggestions d’autocomplétion classiques, GitHub Copilot propose également des suggestions de modification suivante (NES), qui anticipent l’emplacement de la prochaine modification que vous pourriez effectuer et suggèrent une complétion correspondante.

Vous recevez des suggestions de style autocomplétion lorsque vous effectuez les actions suivantes :

  • Entrez une ligne de code partielle ou complète dans l’éditeur.
  • Entrez un commentaire de code partiel ou complet dans l’éditeur.
  • Entrez une ligne de code vide dans l’éditeur.

Les suggestions de modification suivantes s’affichent automatiquement lorsque vous modifiez le code. Ils prédisent la modification que vous êtes susceptible d’apporter en fonction de vos modifications récentes et s’affichent avec un indicateur spécial montrant l’emplacement de modification suggéré.

Générer une suggestion de complétion automatique

GitHub Copilot accélère le développement d'applications en suggérant des suggestions de complétion de code basées sur le code que vous écrivez.

Par exemple, supposons que vous souhaitez créer une méthode C# nommée addInt qui retourne la somme de deux entiers. Si vous commencez à taper la signature de méthode, GitHub Copilot suggère le code qu’il croit que vous souhaitez créer.

Capture d’écran montrant la saisie semi-automatique pour l’ajout de deux nombres.

L’autocomplétion suggérée s’affiche sans mise en évidence colorée de la syntaxe. Cela permet de différencier l’autocomplétion de votre code existant. Vous pouvez accepter le code suggéré en appuyant sur la touche Tab.

Capture d’écran montrant la suggestion de saisie semi-automatique acceptée.

Vous pouvez appuyer sur la touche Échap pour ignorer une suggestion.

L’exemple addInt est un peu simpliste. Vous pouvez donc vous demander comment GitHub Copilot faire avec quelque chose de plus complexe.

Supposons que vous souhaitez créer une méthode qui accepte une liste de nombres et retourne la somme des nombres premiers contenus dans la liste. Vous pouvez nommer la méthode addPrimeNumbersInNumericList. Lorsque vous commencez à taper la signature de méthode, GitHub Copilot génère une suggestion pour vous. Par exemple:

Capture d’écran montrant la complétion automatique d’une méthode qui additionne les nombres premiers d'une liste.

Il est important de passer en revue les suggestions avant de les accepter. Cette autocomplétion semble correcte. Vous pouvez donc accepter la suggestion en appuyant sur la touche Tab.

Poursuivons le scénario un peu plus loin.

Une fois la suggestion fusionnée dans votre code, vous remarquerez que la isPrime méthode est soulignée en rouge. Cela est dû au fait que la isPrime méthode n’existe pas encore dans le code.

Capture d’écran montrant la méthode addPrimeNumbersInNumericList fusionnée dans le code avec isPrime soulignée en rouge.

GitHub Copilot est formé pour suivre les meilleures pratiques, qui incluent la décomposition de problèmes complexes en pièces plus petites et plus gérables. Dans ce cas, GitHub Copilot suggère de créer une méthode isPrime distincte pour vérifier si un nombre est premier.

GitHub Copilot est prêt à suggérer un extrait de code pour la méthode isPrime. Lorsque vous entrez une ligne vide sous la méthode addPrimeNumbersInNumericList, GitHub Copilot suggère une méthode isPrime que vous pouvez utiliser.

Capture d’écran montrant l’autocomplétion pour l’ajout de la méthode isPrime.

Les suggestions de saisie automatique accélèrent le processus de développement en fournissant des extraits de code. Mais que se passe-t-il si les suggestions ne sont pas tout à fait ce dont vous avez besoin ? GitHub Copilot fournit une interface permettant de gérer les suggestions de saisie semi-automatique.

Gérer les suggestions d’autocomplétion

Lorsque GitHub Copilot suggère une autocomplétion, elle fournit également une interface permettant de gérer les suggestions. Vous pouvez accepter une suggestion, passer en revue d’autres suggestions ou ignorer les suggestions.

Lorsque vous pointez le pointeur de la souris sur une autocomplétion suggérée, vous disposez de plusieurs options pour gérer les suggestions.

Capture d’écran montrant l’option « Accepter » pour les suggestions de saisie semi-automatique.

L’interface par défaut pour la gestion des suggestions comprend les options suivantes :

  • Acceptez la suggestion (en totalité) en sélectionnant Accepter. Vous pouvez également accepter la suggestion en appuyant sur la touche Tab.
  • Acceptez partiellement la suggestion en sélectionnant Accept Word. Vous pouvez également accepter partiellement une suggestion en appuyant sur les Ctrl + touches (flèche droite).
  • Affichez d’autres suggestions en sélectionnant > ou <. Vous pouvez également afficher les suggestions alternatives en appuyant sur les touches Alt + ] ou les Alt + [ touches.

La sélection de l’option Accept Word accepte le mot suivant de la suggestion. Cela est utile lorsque vous souhaitez accepter une partie de la suggestion, puis continuer à taper votre propre code. Par exemple, vous pouvez accepter le premier mot de la isPrime suggestion de méthode.

Screenshot affichant l’option « Accepter Word » en cours pour les suggestions de saisie semi-automatique.

Continuez à sélectionner Accept Word jusqu'à ce que vous ayez accepté autant de suggestions que vous le souhaitez.

En cliquant sur l’icône à trois points (...) située à droite du bouton Accepter le mot, vous accédez à des options supplémentaires telles que Toujours afficher la barre d’outils et Ouvrir le panneau de complétions.

Capture d’écran montrant les options de la barre d’outils supplémentaires pour les suggestions de saisie semi-automatique.

La sélection de l’option Always Show Toolbar garantit que la barre d’outils reste visible lors de l’utilisation de raccourcis clavier pour gérer les suggestions de saisie semi-automatique. La sélection de l’option Open Completions Panel ouvre le panneau GitHub Copilot Achèvements. L’affichage de plusieurs suggestions à l’aide du panneau Complétions GitHub Copilot est abordé à la fin de cette unité.

Note

Pour accepter une ligne entière d’une suggestion, vous devez configurer un raccourci clavier personnalisé pour la editor.action.inlineSuggest.acceptNextLine commande. Cette option n’est pas disponible par défaut dans la barre d’outils.

Générer des suggestions de code à partir de commentaires

Outre la suggestion d’une autocomplétion basée sur le code, GitHub Copilot pouvez utiliser des commentaires de code pour suggérer des extraits de code. Utilisez des expressions en langage naturel pour décrire le code que vous souhaitez créer. Cela permet à GitHub Copilot de proposer des suggestions de saisie semi-automatique qui répondent à des exigences spécifiques. Par exemple, vous pouvez spécifier le type d’algorithme que vous souhaitez utiliser dans un calcul ou les méthodes et propriétés que vous souhaitez ajouter à une classe.

Revenons à l’exemple de nombre premier. À ce stade, vous disposez du code suivant :

Capture d’écran montrant le code actuel de l’exemple de nombre premier.

Les méthodes addPrimeNumbersInNumericList et isPrime semblent être complètes. Toutefois, vous avez toujours besoin d’une liste de nombres qui peuvent être utilisés comme argument lorsque vous appelez la addPrimeNumbersInNumericList méthode. Vous pouvez écrire un commentaire qui décrit la liste des nombres souhaités. Par exemple, une liste de 100 nombres aléatoires compris entre 1 et 1 000.

Lorsque vous commencez à entrer le commentaire, GitHub Copilot suggère une autocomplétion qui termine le commentaire pour vous. GitHub Copilot utilise votre code environnant pour améliorer ses suggestions. Par exemple, si vous commencez à entrer le commentaire // create, GitHub Copilot utilise le code environnant pour prédire ce que vous souhaitez créer. Dans ce cas, GitHub Copilot utilise la méthode addPrimeNumbersInNumericList pour prédire que vous souhaitez créer a list of numbers.

Capture d’écran montrant le mot « créer » ajouté à une ligne de commentaire.

À mesure que vous rédigez votre commentaire, GitHub Copilot actualise sa suggestion de saisie automatique. Lorsque vous êtes prêt à accepter la suggestion, sélectionnez Accepter ou appuyez sur Tabulation.

Capture d’écran montrant les mots « créer une liste de 100 nombres aléatoires » ajoutés à une ligne de commentaire.

Lorsque vous créez une ligne de code après le commentaire, GitHub Copilot commence à générer un extrait de code basé sur le commentaire et votre code existant.

Capture d'écran montrant GitHub Copilot ajoutant la première ligne de code.

Acceptez chacune des suggestions telles qu’elles apparaissent.

Screenshot montrant GitHub Copilot continuer à ajouter des lignes de code.

Si GitHub Copilot n'a pas terminé, il génère une autre suggestion que vous pouvez accepter.

Screenshot montrant GitHub Copilot complétant la liste des nombres.

Si vous entrez une nouvelle ligne de code une fois l’extrait de code terminé, GitHub Copilot génère une autre suggestion de saisie semi-automatique en fonction des exigences de votre projet de code. Dans ce cas, GitHub Copilot suggère une ligne de code qui appelle la méthode addPrimeNumbersInNumericList, en passant la liste nommée numbers.

Capture d'écran montrant GitHub Copilot suggérant un appel de méthode.

Afficher plusieurs suggestions à l’aide du panneau de complétions GitHub Copilot

Si vous n'êtes pas satisfait des suggestions de saisie semi-automatique initiales, GitHub Copilot peut ouvrir un nouvel onglet dans l'éditeur avec davantage d'options. Vous pouvez consulter la liste plus grande des suggestions pour trouver une meilleure correspondance, puis la sélectionner.

Pour illustrer cette fonctionnalité, revenons à une étape antérieure de l’exemple de nombres premiers.

Supposons que vous deviez toujours créer la isPrime méthode. Lorsque vous entrez une ligne vide sous la méthode addPrimeNumbersInNumericList, GitHub Copilot suggère une méthode isPrime pour vous. Il s’agit du même processus que celui que vous avez utilisé précédemment. Toutefois, supposons que vous n'êtes pas satisfait des suggestions que GitHub Copilot offre et souhaitez voir d'autres options.

Pour ouvrir le panneau GitHub Copilot Achèvements et afficher d’autres suggestions, appuyez sur les touches Ctrl + Enter. Vous pouvez également ouvrir le menu Plus d'actions, puis sélectionner Ouvrir le panneau des complétions.

Capture d'écran de l'onglet Suggestions de GitHub Copilot.

Le panneau de complétions GitHub Copilot affiche jusqu'à 10 autres suggestions. Passez en revue les suggestions pour trouver celle qui convient le mieux à vos besoins.

Pour accepter une suggestion, sélectionnez l’étiquette Accept suggestion NUMBER sous la suggestion. Par exemple, sélectionnez l’étiquette Accepter la suggestion 1 sous la première suggestion.

Pour rejeter toutes les suggestions, fermez l’onglet.

Résumé

Les suggestions de saisie semi-automatique et les suggestions de modification suivantes vous aident à écrire du code plus efficacement et avec précision. GitHub Copilot fournit des suggestions de saisie semi-automatique lorsque vous entrez du code et des suggestions de modification suivantes qui prédisent votre prochaine modification probable. Vous pouvez générer une suggestion de saisie semi-automatique en entrant une ligne de code partielle ou complète, un commentaire de code partiel ou complet ou une ligne de code vide. Vous pouvez accepter une suggestion en appuyant sur la touche Tab ou ignorer les suggestions en appuyant sur la touche Échap. Vous pouvez gérer les suggestions à l’aide de la barre d’outils qui s’affiche lorsque vous pointez sur une suggestion. La barre d’outils vous permet de passer en revue d’autres suggestions, d’accepter une suggestion, d’accepter un mot d’une suggestion ou d’ouvrir le panneau GitHub Copilot Achèvements pour afficher d’autres suggestions.