Générer du code à l'aide des suggestions de complétion de code de GitHub Copilot
GitHub Copilot pouvez fournir des suggestions d’achèvement de code pour de nombreux langages de programmation et un large éventail d’infrastructures, mais fonctionne particulièrement bien pour Python, JavaScript, TypeScript, Ruby, Go, C# et C++. Les complétions de ligne de code sont générées en fonction du contexte du code que vous écrivez. Vous pouvez accepter, rejeter ou accepter partiellement les suggestions fournies par GitHub Copilot.
GitHub Copilot fournit deux façons de générer des achèvements de ligne de code :
Depuis un commentaire : Vous pouvez générer des complétions de ligne de code en écrivant un commentaire qui décrit le code que vous souhaitez générer. GitHub Copilot fournit des suggestions de complétion de code en fonction du commentaire que vous écrivez.
Depuis le code : Vous pouvez générer des complétions de ligne de code en commençant une ligne de code ou en appuyant sur Entrée après une ligne de code terminée. GitHub Copilot fournit des suggestions d’achèvement de code basées sur le code que vous écrivez.
Utilisez GitHub Copilot pour générer des complétions automatiques de code à partir d’un commentaire
GitHub Copilot génère des suggestions de complétion de code basées sur le commentaire et le contexte existant de votre application.
Vous pouvez utiliser les commentaires pour décrire des extraits de code, des méthodes, des structures de données et d’autres éléments de code.
Supposons que vous disposiez de l’extrait de code suivant :
namespace ReportGenerator;
class QuarterlyIncomeReport
{
static void Main(string[] args)
{
// create a new instance of the class
QuarterlyIncomeReport report = new QuarterlyIncomeReport();
// call the GenerateSalesData method
// call the QuarterlySalesReport method
}
public void QuarterlySalesReport()
{
Console.WriteLine("Quarterly Sales Report");
}
}
Par exemple, le commentaire suivant peut être utilisé pour créer une structure de données :
/* public struct SalesData. Include the following fields: date sold, department name, product ID, quantity sold, unit price */
GitHub Copilot génère une ou plusieurs suggestions de complétion de code basées sur votre commentaire de code et les fichiers de code ouverts dans l’éditeur.
Remarquez les types de données utilisés pour déclarer les champs de la structure de données. GitHub Copilot sélectionne les types de données et les noms de variables en fonction de votre code existant et du commentaire de code. GitHub Copilot tente de déterminer comment l’application utilise des variables et définit les types de données en conséquence.
Lorsque GitHub Copilot génère plusieurs suggestions, vous pouvez parcourir les suggestions en sélectionnant les flèches gauche ou droite (> ou <) situées à gauche du bouton Accept. Cela vous permet d’évaluer et de sélectionner la suggestion qui convient le mieux à vos besoins.
Il est possible d’accepter une suggestion de complétion de code qui n’est pas une correspondance exacte pour ce que vous voulez. Les modifications requises pour « corriger » la suggestion doivent toutefois être claires. Dans ce cas, certains des types de données ne correspondent pas à votre besoin, mais vous pouvez les ajuster après avoir accepté la saisie automatique suggérée.
Si aucune des options suggérées ne satisfait vos besoins, vous pouvez essayer deux choses. Pour ouvrir un nouvel onglet de l’éditeur contenant une liste d’autres suggestions, appuyez sur les touches Ctrl + Entrer. Cette combinaison de touches rapides ouvre un nouvel onglet contenant jusqu’à 10 suggestions supplémentaires. Chaque suggestion est suivie d’un bouton à utiliser pour accepter la suggestion. L’onglet se ferme automatiquement après l’acceptation d’une suggestion. Votre autre option consiste à appuyer sur la touche Échap pour ignorer les suggestions et réessayer. Vous pouvez ajuster le commentaire de code pour fournir plus de contexte pour GitHub Copilot à utiliser.
Remarque
GitHub Copilot peut parfois proposer une suggestion en phases. Si cela se produit, vous pouvez appuyer sur Entrer pour afficher les étapes supplémentaires de la suggestion après l’appui sur la touche Tab.
Pour accepter une structure de données suggérée, appuyez sur la touche Tab ou sélectionnez Accepter.
Pour modifier les types de données de champ, mettez à jour votre code comme suit :
public struct SalesData
{
public DateOnly dateSold;
public string departmentName;
public int productID;
public int quantitySold;
public double unitPrice;
}
L’ajustement rapide des suggestions de complétion de code vous permet de vous assurer de la génération du code souhaité. Il est particulièrement important d’apporter des corrections au début de votre processus de développement, lorsque de grandes parties de votre codebase doivent encore être développées. Les saisies semi-automatiques de code suivantes sont basées sur le code déjà écrit. Il est donc important de veiller à ce que votre code soit aussi précis que possible.
Utiliser les suggestions de modification suivantes pour suivre les modifications du code
Les complétions en texte fantôme sont idéales pour compléter du nouveau code pendant que vous écrivez. Toutefois, la plupart des codages quotidiens impliquent la modification du code existant : renommage d’une variable, mise à jour d’un type de données ou résolution d’une erreur logique. les suggestions de modification suivantes de GitHub Copilot (NES) sont conçues pour ce scénario exactement.
Lorsque vous apportez une modification, NES analyse la modification et prédit à la fois où votre prochaine modification doit se produire et ce que doit être cette modification, même si elle se trouve sur une autre ligne ou dans une autre partie du fichier. Cela vous permet de rester dans le flux sans avoir à rechercher manuellement chaque emplacement nécessitant des mises à jour.
Pour activer les suggestions de modification suivantes, définissez le paramètre github.copilot.nextEditSuggestions.enabled sur true dans Visual Studio Code.
Une fois activé, vous pouvez utiliser NES de la manière suivante :
Apportez une modification dans l’éditeur, par exemple, renommez une variable ou modifiez une signature de méthode.
Recherchez la flèche dans la marge qui apparaît à gauche de l'éditeur. La flèche pointe vers l’emplacement de la modification suggérée suivante.
Appuyez sur Tab pour accéder à l’emplacement de modification suggéré.
Appuyez de nouveau sur Tab pour accepter la suggestion, ou appuyez sur Escape pour le ignorer.
Voici quelques scénarios courants où NES est particulièrement utile :
- Renommer la propagation : renommez une variable une fois et NES suggère de mettre à jour toutes les autres références dans le fichier.
- Modifications de type : modifier le type de données d’un champ et NES suggère de mettre à jour le code en aval qui l’utilise.
- Corrections logiques : correction d’une condition inversée ou d’une faute de frappe dans un mot clé et NES signale la section de code associée qui nécessite des mises à jour.
- Refactorisation : après avoir copié et collé un bloc de code, NES suggère comment l’adapter pour qu’elle corresponde au style de code environnant.
Remarque
Les suggestions de modification suivantes prédisent la modification la plus probable en fonction de vos modifications actuelles. Passez toujours en revue chaque suggestion avant de l’accepter, car le bon correctif pour votre scénario spécifique peut différer.
Résumé
Les achèvements de ligne de code sont une fonctionnalité puissante de GitHub Copilot qui peut vous aider à générer du code rapidement et efficacement. En utilisant des commentaires pour décrire le code que vous souhaitez générer, vous pouvez créer des structures de données, des méthodes et d’autres éléments de code avec un effort minimal. En outre, GitHub Copilot peut générer des complétions de lignes de code en fonction du code que vous entrez, ce qui vous permet de créer facilement des applications complexes.