Examiner les fonctionnalités de saisie semi-automatique du code de GitHub Copilot
GitHub Copilot fournit deux types de suggestions inline. Les suggestions de texte fantôme apparaissent sous forme de texte grisé à l’emplacement actuel du curseur lorsque vous tapez. Les suggestions de modification suivantes (NES) prédisent à la fois l’emplacement et le contenu de votre prochaine modification de code en fonction des modifications récentes que vous avez apportées.
Vous recevez des suggestions de texte fantôme 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é.
Scénarios courants de suggestion de modification suivante
Les suggestions de modification suivantes sont particulièrement utiles dans trois scénarios de codage :
-
Interceptez les erreurs : NES détecte les problèmes tels que les fautes de frappe (
conts x = 5→const x = 5), les expressions ternaires inversées et les opérateurs de comparaison incorrects, puis suggère la correction correcte. -
Modifications de l’intention en cascade : lorsque vous renommez un type ou une variable, NES suggère de propager cette modification via tout le code dépendant. Par exemple, renommer une classe de
PointenPoint3Ddéclenche des suggestions pour ajouter une coordonnéezpartout où le code en a besoin. - Refactorisation : après avoir renommé une variable une seule fois, NES suggère de mettre à jour toutes les autres occurrences. Après le collage du code, NES suggère de l’adapter pour correspondre au style du code environnant.
Générer une suggestion de texte fantôme
GitHub Copilot accélère le développement d'applications en suggérant des complétions 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.
La suggestion en texte fantôme s'affiche sans coloration syntaxique. Cela permet de différencier la suggestion de votre code existant. Vous pouvez accepter le code suggéré en appuyant sur la touche Tab.
Vous pouvez appuyer sur la touche Échap pour ignorer une suggestion.
L’exemple addInt est un peu simpliste, donc vous vous demandez peut-être 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:
Il est important de passer en revue les suggestions avant de les accepter. Cette suggestion de texte fantôme semble bonne, 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.
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.
Les suggestions de texte fantôme 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 texte fantôme.
Gérer les suggestions de texte fantôme
Lorsque GitHub Copilot suggère une complétion en texte fantôme, il fournit également une interface pour 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.
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 touchesAlt+]ou lesAlt+[touches.
La sélection de l’option Accept Word accepte le mot suivant dans une 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.
Continuez à sélectionner Accept Word jusqu'à ce que vous ayez accepté autant de suggestions que vous le souhaitez.
La sélection de l'icône de points de suspension (...) à droite du bouton Accepter le mot fournit des options supplémentaires, telles que Accepter la ligne et Toujours afficher la barre d'outils.
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 texte fantôme. La sélection de l'option Ouvrir le panneau des complétions ouvre le panneau des complétions GitHub Copilot.
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 propositions d'autocomplétion 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 :
int addPrimeNumbersInNumericList(List<int> numbers)
{
int sum = 0;
foreach (int number in numbers)
{
if (IsPrime(number))
{
sum += number;
}
}
return sum;
}
private bool IsPrime(int number)
{
if (number <= 1)
{
return false;
}
for (int i = 2; i <= Math.Sqrt(number); i++)
{
if (number % i == 0) return false;
}
return true;
}
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.
Lorsque vous continuez à écrire votre commentaire, GitHub Copilot met à jour sa suggestion d'autocomplétion. Lorsque vous êtes prêt à accepter la suggestion, sélectionnez Accepter ou appuyez sur Tabulation.
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.
Acceptez chacune des suggestions telles qu’elles apparaissent. Si GitHub Copilot n'a pas terminé, il génère une autre suggestion que vous pouvez accepter.
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.
Résumé
Les suggestions de texte fantôme et les suggestions de modification suivantes vous aident à écrire du code plus efficacement et avec précision. Les suggestions de texte fantôme apparaissent sous forme de texte grisé à l’emplacement du curseur au fur et à mesure que vous tapez ; Les suggestions de modification suivantes prédisent l’emplacement et le contenu de votre prochaine modification en fonction de vos modifications récentes. Vous pouvez générer une suggestion de texte fantôme 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 la rejeter en appuyant sur É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.