Générer du code à l’aide de gitHub Copilot Chat

Effectué

GitHub Copilot dans Visual Studio Code prend en charge les interfaces de conversation suivantes :

  • Le mode Conversation fournit un assistant IA disponible pour vous aider à tout moment.

  • La fenêtre Conversation rapide peut être utilisée pour poser une question rapide, puis revenir à ce que vous faites.

  • L’interface Inline Chat s’ouvre directement dans l’éditeur pour les interactions contextuelles pendant le codage.

Les fenêtres de Chat et de Chat rapide permettent des conversations interactives à plusieurs tours avec l’IA. Ces deux interfaces permettent de poser des questions, d’obtenir de l’aide sur un problème de codage et de générer du code. La vue Conversation est une interface plus robuste qui offre une expérience de conversation complète, tandis que la fenêtre Conversation rapide est conçue pour les interactions rapides.

L’interface de conversation inline est conçue pour fournir de l’aide contextuelle et des suggestions de code pendant le codage. L’interface de conversation inline est disponible dans l’éditeur et vous permet de poser des questions et d’obtenir de l’aide sur des extraits de code spécifiques.

Générer du code à l’aide de la vue Conversation

La vue Conversation fournit un environnement managé pour les conversations entre vous et le partenaire de programmation en binôme basé sur l’IA. Vous pouvez utiliser la vue Conversation pour poser des questions, obtenir de l’aide sur les problèmes de codage et générer du code. La vue Conversation est conçue pour être une expérience plus interactive et conversationnelle que l’interface de conversation inline.

Par défaut, la vue Conversation se trouve dans la barre latérale secondaire sur le côté droit de la fenêtre Visual Studio Code.

Lorsque vous démarrez une session de conversation, trois choix mettent en forme la façon dont l’IA répond :

  • Type d’agent : détermine l’emplacement d’exécution de l’agent. Sélectionnez un type dans la liste déroulante Cible de l'agent dans l'affichage Chat. Sélectionnez Local pour exécuter l’agent de manière interactive dans l’éditeur avec un accès complet à votre espace de travail, outils et modèles. D’autres options incluent Copilot CLI, Cloud et fournisseurs tiers.
  • Agent : détermine le rôle ou le personnage de l’IA. Sélectionnez un agent dans le sélecteur d’agents dans la vue Conversation. Les trois agents locaux intégrés sont Ask, Plan et Agent.
  • Niveau d’autorisation : contrôle la quantité d’autonomie dont dispose l’agent pour appeler des outils et des commandes de terminal. Les options sont les approbations par défaut, les approbations de contournement et Autopilot.

Utiliser l’agent Ask pour générer du code

L’agent Ask est conçu pour vous aider à analyser votre code et à examiner les options de nouvelles fonctionnalités avant de suggérer des implémentations de code. Lorsque vous utilisez l’agent Ask, GitHub Copilot agit en tant qu’assistant conversationnel qui peut fournir des réponses à vos questions et vous aider à coder des problèmes ou de nouvelles fonctionnalités.

  1. Ouvrez l’affichage Conversation et sélectionnez Demander dans le sélecteur d’agent.

  2. Ajoutez un contexte à la conversation.

    L’agent Ask prend en charge les participants à la conversation, les commandes slash et les variables de conversation. Vous pouvez ajouter #codebase à la conversation pour fournir un contexte avec des fichiers ou des dossiers.

  3. Posez des questions qui vous aident à évaluer la nouvelle fonctionnalité que vous souhaitez implémenter.

    Par exemple, vous pouvez demander GitHub Copilot pour vous aider à comprendre comment implémenter une nouvelle fonctionnalité ou comment utiliser une bibliothèque spécifique.

    • Comment ajouter une page de connexion ?
    • Quelles sont les meilleures pratiques pour l’utilisation de React ?
    • Comment utiliser la @mui/material bibliothèque ?
  4. 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:

    Create the code to obtain a book title. Prompt the user to "Enter a book title to search for". Read the user input and ensure the book title isn't null.
    
  5. Passez en revue le code suggéré dans la vue Conversation.

    La réponse affichée dans la vue Conversation doit inclure un extrait de code que vous pouvez utiliser pour implémenter la fonctionnalité. Vous pouvez entrer plus d’invites pour affiner le code ou demander plus de détails.

  6. 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.

    Capture d’écran montrant la vue Conversation avec l’agent Ask suggérant une mise à jour du code.

  7. Continuez à itérer et à affiner la nouvelle fonctionnalité avec plus d’invites si nécessaire.

Utiliser l’agent de plan pour planifier avant le codage

L’agent de plan est conçu pour vous aider à rechercher et planifier une tâche avant d’écrire du code. Lorsque vous utilisez l’agent plan, GitHub Copilot analyse votre base de code, pose des questions de clarification et crée un plan d’implémentation structuré et pas à pas. Une fois le plan finalisé, vous pouvez le remettre à un agent d’implémentation.

  1. Ouvrez la vue Conversation et sélectionnez Plan dans le sélecteur d’agent.

  2. Ajoutez un contexte à la conversation.

    L’agent de plan utilise des outils en lecture seule et l’analyse de la base de code pour étudier votre tâche. Vous pouvez ajouter des fichiers et des dossiers à la conversation pour fournir un contexte supplémentaire.

  3. Créez une prompt qui décrit la tâche que vous avez l'intention de planifier.

    Votre invite doit inclure une description de la fonctionnalité ou de la tâche que vous souhaitez implémenter. Par exemple:

    
    Implement a user authentication system with OAuth2 and JWT.
    
    
  4. Répondez à toutes les questions précises posées par l’agent de plan.

    L’agent de plan recherche votre tâche et peut poser des questions pour résoudre les ambiguïtés avant de rédiger un plan.

  5. Passez en revue le plan proposé.

    L’agent de plan fournit un résumé général, une répartition des étapes d’implémentation, des critères de vérification et des décisions documentées. Vous pouvez itérer sur le plan en fournissant des commentaires.

  6. Une fois le plan finalisé, utilisez les boutons pour démarrer l’implémentation ou pour ouvrir le plan dans l’éditeur pour une révision plus approfondie.

    Vous pouvez choisir d’implémenter le plan dans la même session de conversation, ou de démarrer une session d’agent cloud ou en arrière-plan pour travailler sur l’implémentation de manière autonome.

Utiliser l’agent pour générer du code

Lorsque vous utilisez GitHub Copilot en mode Agent, GitHub Copilot agit en tant qu’agent autonome qui peut effectuer des actions en votre nom. Vous pouvez demander GitHub Copilot effectuer des tâches spécifiques et générer du code en fonction de vos demandes.

Important

Lorsque vous utilisez le mode Agent, GitHub Copilot peut effectuer plusieurs demandes Premium pour effectuer une tâche unique. Les demandes Premium peuvent être utilisées pour des sollicitations initiées par l’utilisateur et des actions de suivi que GitHub Copilot effectue 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é.

  1. Ouvrez la vue Conversation et sélectionnez Agent dans le sélecteur d’agents.

  2. Créez une invite qui décrit la tâche que vous souhaitez GitHub Copilot effectuer.

    Par exemple, vous pouvez demander GitHub Copilot générer une nouvelle fonctionnalité ou créer une application entièrement nouvelle.

    • Créer une application web de planification de repas à l’aide de React et de Node.js
    • Ajouter des fonctionnalités de partage de réseaux sociaux
    • Remplacer l’authentification actuelle par OAuth
  3. 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.

  4. Confirmer les appels d’outils et les commandes de terminal.

    Avant que GitHub Copilot n'exécute une commande de terminal ou n'utilise un outil qui n'est pas intégré, il demande une autorisation pour continuer. GitHub Copilot demande la confirmation, car les outils peuvent s’exécuter localement sur votre ordinateur et effectuer des actions qui modifient des fichiers ou des données.

  5. 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.

  6. Lorsque GitHub Copilot traite votre demande, il diffuse en streaming les modifications de code suggérées directement dans l'éditeur sous forme de différences en ligne.

  7. Passez en revue les modifications suggérées et acceptez ou ignorez-les.

    Ouvrez un fichier modifié pour afficher la superposition de différences dans l’éditeur. Utilisez les contrôles de superposition de l’éditeur pour naviguer entre les modifications et sélectionner Conserver ou Annuler pour les modifications individuelles. Vous pouvez également accepter automatiquement toutes les modifications en attente en plaçant vos changements dans l'affichage Contrôle de code source.

  8. Continuez à itérer et à affiner la nouvelle fonctionnalité avec plus d’invites si nécessaire.

Conseil / Astuce

Visual Studio Code crée automatiquement des points de contrôle (instantanés de fichiers) aux points clés pendant les sessions de l’agent. Si l’agent produit des modifications indésirables, vous pouvez revenir à un point de contrôle précédent. Pour plus d’informations, consultez Points de contrôle de conversation.

Générer du code à l’aide d’une session de conversation inline

La session de conversation inline peut être utilisée pour analyser et générer du code. L’interface de conversation inline est accessible uniquement lorsqu’un fichier est ouvert dans l’éditeur de code. Il peut être utilisé pour analyser le code sélectionné ou créer du code en fonction d’une invite.

  1. Ouvrez un fichier dans l’éditeur.

  2. Ouvrez une session de conversation inline à l’aide du raccourci clavier Ctrl+I ou sélectionnez Ouvrir une conversation inline dans le menu Conversation dans la barre de titre.

    La session de conversation inline s’ouvre à votre position de curseur dans l’éditeur.

  3. Sélectionnez un bloc de code dans l’éditeur.

    Le code sélectionné est utilisé comme contexte pour l’invite. Si aucun code n’est sélectionné, l’invite utilise l’intégralité du fichier comme contexte.

  4. Entrez votre invite dans le champ d’entrée de conversation.

    Par exemple:

    Update selection to include an option for the `CommonActions.SearchBooks` action. Use the letter "b" and the message "to check for book availability".
    
  5. Les suggestions de mise à jour du code sont affichées sous forme de diff dans l’éditeur.

  6. Passez en revue les mises à jour de code suggérées, puis acceptez ou ignorez les modifications.

    Capture d’écran montrant une session de conversation inline mettant à jour le code.

  7. Continuez à itérer et à affiner la nouvelle fonctionnalité avec plus d’invites si nécessaire.

Résumé

GitHub Copilot Chat fournit un ensemble puissant d’outils pour générer du code et aider à effectuer des tâches de codage. La vue Conversation, la fenêtre Conversation rapide et la session de conversation inline offrent toutes différentes façons d’interagir avec le programmeur de paire IA et d’obtenir de l’aide sur les problèmes de codage. En utilisant ces outils efficacement, vous pouvez améliorer votre productivité et votre efficacité de codage.