Refactoriser le code à l’aide des modes de conversation GitHub Copilot
GitHub Copilot pouvez être utilisé pour refactoriser le code dans votre codebase. Vous pouvez utiliser les agents de vue Conversation pour analyser, planifier et implémenter des tâches de refactorisation du code. Les agents de vue de chat fournissent une interface conviviale pour gérer les conversations de chat et accéder aux fonctionnalités de GitHub Copilot. La vue Conversation inclut les agents intégrés suivants :
- Ask : Utilisez Ask pour poser des questions sur votre codebase ou sur des concepts technologiques. Vous pouvez utiliser Demander pour expliquer le code, suggérer des révisions ou des correctifs, ou fournir des informations relatives à la base de code.
- Plan : Utilisez l’agent plan pour créer un plan d’implémentation structuré et pas à pas avant d’écrire du code. Lorsque le plan semble droit, faites-le passer à un agent d’implémentation pour l’exécuter.
- Agent : utilisez l’agent pour démarrer un flux de travail de codage agentique. Vous pouvez utiliser l’Agent pour exécuter des commandes, exécuter du code ou effectuer d’autres tâches dans votre espace de travail.
Important
Lorsque vous utilisez l’agent, GitHub Copilot peut effectuer plusieurs requêtes Premium pour effectuer une tâche unique. Les demandes Premium peuvent être utilisées par des invites initiées par l'utilisateur et les actions de suivi prises par GitHub Copilot en votre nom. Les demandes premium totales utilisées dépendent de la complexité de la tâche, du nombre d’étapes impliquées et du modèle sélectionné.
Utiliser Ask pour refactoriser le code
Vous pouvez utiliser Demander de l’aide pour effectuer des tâches de codage, comprendre des concepts complexes et améliorer votre code. Ask est conçu pour des conversations interactives avec GitHub Copilot Chat. Vous pouvez poser des questions, obtenir des explications ou demander des suggestions en temps réel.
Ouvrez l’affichage Conversation, puis sélectionnez Demander.
Ajoutez un contexte à la conversation.
Ask prend en charge les participants au chat, les commandes slash et les variables de chat. Vous pouvez ajouter le participant à la
@workspaceconversation ou#codebaseà la conversation pour fournir un contexte avec des fichiers ou des dossiers.Posez des questions qui vous aident à comprendre le code que vous souhaitez refactoriser et les modifications que vous souhaitez apporter.
Par exemple, vous pouvez demander GitHub Copilot pour vous aider à comprendre votre code d’authentification existant comment mettre à jour la méthode actuelle à l’aide d’OAuth.
Créez une invite qui décrit la mise à jour que vous souhaitez implémenter.
Votre invite doit inclure une description de la fonctionnalité de code que vous souhaitez implémenter. Par exemple:
@workspace I need to refactor the `EnumHelper` class and remove any code that uses reflection. Use static dictionaries to supply enum description attributes. Use a separate dictionary for each enum. The dictionaries should use values from the `LoanExtensionStatus.cs`, `LoanReturnStatus.cs`, and `MembershipRenewalStatus.cs` files. Explain how to update the EnumHelper class using dictionaries and show me the updated code.Passez en revue le code suggéré dans la vue Conversation.
La réponse affichée dans la vue Conversation inclut un extrait de code que vous pouvez utiliser pour implémenter la fonctionnalité. Vous pouvez entrer des instructions mises à jour pour affiner le code ou demander plus de détails.
Pour implémenter du code suggéré, vous pouvez pointer le pointeur de la souris sur l’extrait de code, puis sélectionner entre les options Appliquer, Insérer et Copier .
- Appliquer : applique la suggestion de code au fichier actif dans l’éditeur.
- Insertion : insère la suggestion de code à la position actuelle du curseur dans l’éditeur.
- Copie: copie la suggestion de code dans le presse-papiers.
Testez votre code refactorisé pour vous assurer qu’il s’exécute sans erreur et génère le résultat attendu.
Utiliser Plan pour refactoriser le code
Vous pouvez utiliser l’agent de plan lorsque vous souhaitez créer un plan d’implémentation structuré et pas à pas avant d’apporter des modifications. L’agent de plan analyse votre codebase, pose des questions de clarification et produit un plan détaillé. Lorsque le plan semble correct, vous pouvez le remettre à un agent d’implémentation pour l’exécuter.
Conseil / Astuce
Utilisez Ask pour évaluer le code qui vous intéresse à refactoriser et évaluer vos options avant de commencer à apporter des modifications. Vous pouvez utiliser Plan pour créer un plan structuré, puis le remettre à un agent d’implémentation.
Ouvrez l’affichage Conversation, puis sélectionnez Plan.
Ajoutez un contexte à la conversation.
Spécifiez le contexte de l’espace de travail à l’aide
#codebaseet en ajoutant des fichiers à la conversation.Créez une requête qui décrit la fonctionnalité de code que vous souhaitez implémenter.
Votre invite doit inclure une description de la fonctionnalité de code que vous souhaitez implémenter. Par exemple:
#codebase I need to refactor the `EnumHelper` class and remove any code that uses reflection. Use static dictionaries to supply enum description attributes. Use a separate dictionary for each enum. The dictionaries should use values from the `LoanExtensionStatus.cs`, `LoanReturnStatus.cs`, and `MembershipRenewalStatus.cs` files.Passez en revue le plan d’implémentation structuré généré par GitHub Copilot.
L’agent de plan crée un plan pas à pas que vous pouvez passer en revue avant toute modification du code.
Lorsque le plan semble droit, faites-le passer à un agent d’implémentation pour l’exécuter.
Vous pouvez remettre le plan à l’Agent pour appliquer les modifications à votre codebase.
Passez en revue les modifications suggérées dans l’éditeur de code.
Acceptez ou ignorez les modifications suggérées.
Vous pouvez parcourir les modifications à l’aide des flèches haut et bas. Vous pouvez conserver (accepter) ou annuler (ignorer) les modifications suggérées individuellement à l’aide du menu contextuel qui apparaît sur chaque modification. Vous pouvez également accepter ou rejeter toutes les modifications à la fois à l’aide des boutons Conserver et Annuler en bas de l’onglet éditeur (ou mode Conversation).
Testez votre code refactorisé pour vous assurer qu’il s’exécute sans erreur et génère le résultat attendu.
Utiliser l’agent pour refactoriser le code
Vous pouvez utiliser l’agent lorsque vous souhaitez automatiser le processus de refactorisation du code. L’agent agit en tant qu’agent autonome qui peut prendre des mesures en votre nom. Vous pouvez demander à GitHub Copilot d’effectuer des tâches spécifiques et génère du code en fonction de vos demandes.
Avec l’Agent, vous pouvez utiliser le langage naturel pour spécifier une tâche de haut niveau et laisser GitHub Copilot raison autonome de la requête, planifier le travail nécessaire et appliquer les modifications à votre codebase. L’agent utilise une combinaison d’appels de modification de code et d’outil pour accomplir la tâche que vous avez spécifiée. Au fur et à mesure qu’elle traite votre demande, elle surveille le résultat des modifications et des outils, et itère pour résoudre les problèmes qui surviennent.
Important
Lorsque vous utilisez l’agent, GitHub Copilot peut effectuer plusieurs requêtes Premium pour effectuer une tâche unique. Les demandes Premium peuvent être utilisées par des invites initiées par l'utilisateur et les actions de suivi prises par GitHub Copilot en votre nom. Les demandes premium totales utilisées dépendent de la complexité de la tâche, du nombre d’étapes impliquées et du modèle sélectionné.
Ouvrez l’affichage Conversation et sélectionnez Agent.
Créez une invite qui décrit la tâche que vous souhaitez GitHub Copilot effectuer.
Supposons que vous disposez d’un projet de code qui utilise au moins deux processus/techniques pour accomplir la même tâche. Vous pouvez demander GitHub Copilot de refactoriser votre code à l’aide d’une approche unique pour améliorer la cohérence, la maintenance et les performances.
Par exemple:
Review the LINQ code used in the JsonData and JsonLoanRepository classes. Refactor the methods in the JsonPatronRepository class using LINQ queries. Ensure that existing code functionality is maintained.L’agent peut appeler plusieurs outils pour accomplir différentes tâches. Si vous le souhaitez, sélectionnez l’icône Outils pour configurer les outils qui peuvent être utilisés pour répondre à votre demande.
Confirmer les appels d’outils et les commandes de terminal.
Avant que GitHub Copilot n'exécute une commande de terminal ou un outil qui n'est pas intégré, il demande la confirmation pour continuer. La confirmation est requise, car les outils peuvent s’exécuter localement sur votre ordinateur et effectuer des actions qui modifient des fichiers ou des données.
GitHub Copilot détecte les problèmes et les problèmes dans les modifications de code et les commandes de terminal, et itérera et effectuera des actions pour les résoudre.
Important
Bien que GitHub Copilot soit capable d’auto-guérison, il peut ne pas toujours être en mesure de résoudre les problèmes par lui-même. Vous pouvez suspendre le processus et fournir davantage de contexte pour aider GitHub Copilot comprendre le problème. Vous pouvez également annuler le processus et recommencer avec une nouvelle requête.
Passez en revue les modifications suggérées et acceptez ou ignorez les modifications suggérées.
Testez votre code refactorisé pour vous assurer qu’il génère le résultat attendu.
L’agent doit résoudre les problèmes par lui-même, mais vous devez toujours tester le code pour vous assurer qu’il fonctionne comme prévu.
Vous pouvez rétablir les modifications apportées par l’Agent à l’aide du bouton Annuler dans l’affichage Conversation. Vous pouvez également utiliser l’option Rétablir dans l’éditeur pour rétablir les modifications apportées par l’Agent.
Quand choisir l’Agent plutôt que le Plan
Tenez compte des critères suivants pour choisir entre plan et agent :
- Planification : le plan crée un plan d’implémentation structuré et pas à pas avant d’écrire du code. L’agent détermine de manière autonome le contexte et les fichiers appropriés à modifier et commence à apporter des modifications directement.
- Complexité des tâches : l’agent est mieux adapté aux tâches complexes qui nécessitent à la fois des modifications de code et l’appel d’outils ou de commandes de terminal.
- Durée : l’agent utilise plusieurs étapes pour traiter une demande, ce qui peut prendre plus de temps pour générer une réponse. Par exemple, pour déterminer le contexte et les fichiers appropriés à modifier, déterminer le plan d’action, etc.
- Auto-réparation : l’agent évalue le résultat des modifications générées et peut itérer plusieurs fois pour résoudre les problèmes intermédiaires.
- Quota de demandes : lorsque vous utilisez le mode Agent, en fonction de la complexité de la tâche, une invite peut entraîner de nombreuses demandes adressées au back-end.
Résumé
GitHub Copilot pouvez être utilisé pour refactoriser le code dans votre codebase. Vous pouvez utiliser les agents de vue Conversation pour analyser, planifier et implémenter des tâches de refactorisation du code. La vue Conversation comprend trois agents intégrés : Demander, Planifier et Agent. Vous pouvez utiliser "Ask" pour poser des questions sur vos concepts de base de code ou de technologie. Vous pouvez utiliser Plan pour créer un plan d’implémentation structuré avant d’écrire du code. Vous pouvez utiliser l’agent pour démarrer un flux de travail de codage agentique.