Partager via


Obtenez de meilleures réponses en définissant le contexte pour GitHub Copilot Chat dans Visual Studio

Vous pouvez demander à GitHub Copilot Chat de vous donner des suggestions de code, d’expliquer le code, de générer des tests unitaires et de suggérer des correctifs de code. En plus de votre invite, Copilot utilise un contexte supplémentaire, comme le code de votre fichier actuel et l’historique des conversations, pour générer une réponse.

Dans cet article, vous allez apprendre à obtenir de meilleures réponses en fournissant plus d’informations à Copilot Chat :

  • Utilisez les commandes slash pour spécifier rapidement des tâches courantes comme /explain pour obtenir des explications de code.
  • Utilisez l’expérience de conversation guidée et les instructions personnalisées pour affiner le contexte.
  • Joignez des images à votre invite pour fournir un contexte supplémentaire et mieux illustrer vos idées.
  • Limitez la conversation à des fichiers spécifiques à l’aide de références .
  • Passer en revue la source utilisée par Copilot pour générer la réponse.
  • Utiliser différents threads pour chacune de vos conversations Copilot afin de pouvoir gérer différents contextes dans chacune d’elles.

En savoir plus sur le développement assisté par l’IA dans Visual Studio et sur l’utilisation de Copilot Chat dans Visual Studio.

Conditions préalables

Pour commencer à utiliser GitHub Copilot Chat dans Visual Studio, vous avez besoin des éléments suivants :

La prise en charge de GitHub Copilot Chat sera fournie par GitHub et peut être accessible à https://support.github.com.

Guide de prompting

L’expérience de conversation guidée dans Visual Studio 17.12 et les versions ultérieures aide à affiner vos invites pour clarifier le contexte pour obtenir de meilleures réponses. GitHub Copilot Chat vous guide maintenant avec des questions de clarification lorsque le contexte n’est pas clair.

Capture d’écran de l’expérience de conversation guidée avec GitHub Copilot Chat.

Activer des instructions personnalisées

La fonctionnalité d’instructions personnalisées vous permet d’ajouter automatiquement des détails contextuels pré-spécifiés à vos questions de conversation. Copilot Chat utilise ces instructions adaptées à votre contexte spécifique, telles que la façon dont votre équipe fonctionne, les outils que vous utilisez ou les spécificités de votre projet, lors de la génération de réponses.

Pour configurer des instructions personnalisées :

  1. Créer/ajouter un fichier d’instructions personnalisé .github/copilot-instructions.md à la racine de votre référentiel.
  2. Activez la fonctionnalité dans Visual Studio via Tools>Options>GitHub>Copilot> sélectionnez (préversion) Activez les instructions personnalisées à charger à partir de fichiers .github/copilot-instructions.md et ajoutés aux requêtes..

Les instructions personnalisées ne sont pas visibles dans l’affichage Conversation ou dans la conversation inline. Toutefois, lorsqu’il est utilisé par Copilot, le fichier.github/copilot-instructions.md est répertorié dans la liste Références d’une réponse.

Utiliser des fichiers de requête

Vous pouvez maintenant créer des fichiers d’invite réutilisables dans votre référentiel pour exécuter ou partager vos invites fréquemment utilisées.

Pour créer un fichier de requête :

  1. Écrivez vos invites normalement dans la zone d’invite, en utilisant comme références # pour inclure des informations spécifiques de votre solution, telles que des méthodes, des classes et des fichiers. Vous pouvez même référencer d’autres fichiers d’invite pour obtenir des instructions partagées.
  2. Copiez l’invite dans un fichier Markdown et enregistrez-la avec l’extension .prompt.md dans le dossier racine .github/prompts de votre référentiel.

Pour utiliser un fichier de requête :

  1. Tapez #prompt: dans la zone de saisie du chat pour référencer tous les fichiers de requête de votre dossier .github/prompts, ou cliquez sur l’icône ➕ dans la zone de saisie du chat pour l’ajouter comme contexte.
  2. Ajoutez des détails supplémentaires ou entrez simplement la requête telle quelle.

Capture d’écran de l’utilisation de fichiers d’invite dans GitHub Copilot Chat.

Utiliser des commandes à barre oblique dans Copilot Chat pour les tâches courantes

Les commandes slash dans Copilot Chat vous aident à définir rapidement l’intention pour les tâches courantes de développement. En utilisant des commandes de barre oblique spécifiques pour former votre question, vous pouvez obtenir de meilleures réponses sans avoir à écrire de longues questions.

Vous pouvez utiliser des commandes à barre oblique dans une fenêtre de conversation, ou directement incluses dans le code que vous cherchez à modifier, à l’aide de l’assistance de code inclus. Les commandes qui aident à modifier ou à ajouter au fichier de code que vous avez ouvert dans l’éditeur fonctionnent à la fois dans l’assistant de code inline et dans les fenêtres de conversation, tandis que les commandes pour des questions de codage plus générales fonctionnent uniquement dans le volet de conversation.

Commande Utilisation Fenêtre de conversation Chat intégré
/médecin Ajoutez des commentaires pour le code spécifié ou sélectionné.
Exemples:
- /doc DeleteBasketAsync method in BasketService.cs
: sélectionnez le code souhaité et entrez /doc
Oui Oui
/expliquer Obtenez des explications de code.

Exemples:
- /explain the AddItemToBasket method in BasketService.cs
: sélectionnez le code souhaité et entrez /explain
Oui Oui
/réparer Proposez un correctif pour les problèmes dans le code sélectionné.
Exemples:
- /fix the SetQuantities method in BasketService.cs
: sélectionnez le code souhaité et entrez /fix
Oui Oui
/générer Générez du code pour répondre à la question spécifiée.
Exemple : /generate code to add two numbers in Calculator.cs
Oui Oui
/Aide Obtenez de l’aide sur l’utilisation de Copilot Chat.
Exemple : /help
Oui Oui
/optimiser Analysez et améliorez le temps d’exécution du code sélectionné.
Exemples:
- /optimize the AddItemToBasket method in BasketService.cs
: sélectionnez le code souhaité et entrez /optimize
Oui Oui
/Tests Créez des tests unitaires pour le code sélectionné.
Exemple : sélectionnez le code souhaité et entrez /tests using XUnit Framework
Oui Oui

Capture d’écran des commandes slash dans la vue de conversation inline et fenêtres de conversation.

Avec Visual Studio 2022 version 17.13, lorsque l’utilisateur tape une commande slash, la commande étend l’invite en langage naturel pour afficher le contexte que la commande utilisera.

Joindre des images à une invite de conversation

Avec l’intégration de vision pour Copilot Chat dans Visual Studio 17.14 Preview 1 et versions ultérieures, vous pouvez joindre des images à votre invite de conversation, en fournissant à Copilot un contexte supplémentaire pour améliorer les réponses. Utilisez des images en combinaison avec l’étendue et d’autres fonctionnalités contextuelles telles que les commandes slash pour générer des réponses personnalisées.

Dans l’exemple suivant, Copilot interprète l’image jointe pour générer un plan et suggérer du code pour créer un jeu de saut coloré à partir de zéro.

Capture d’écran d’un exemple de scénario d’ajout d’une image dans Copilot Chat.

Référence : étendue des résultats Copilot à un fichier ou à une solution entière

Vous pouvez poser vos questions relatives au codage en langage naturel et GitHub Copilot Chat répond à ces questions dans le contexte de codebase ouvert dans Visual Studio. Avec des références, vous pouvez obtenir plus d’informations sur les informations que Copilot doit prendre en compte lors de la réponse à votre question.

En sélectionnant un contexte spécifique dans votre codebase, vous pouvez former de meilleures questions facilement sans avoir à écrire ou coller de longues informations. La spécification du contexte permet également à Copilot de vous fournir des réponses plus pertinentes.

Référencer un fichier

Pour référencer facilement un fichier dans GitHub Copilot Chat, ajoutez simplement un symbole # au début du nom de fichier. Par exemple, si vous avez un fichier nommé BasketService.cs, reportez-vous à celui-ci dans la conversation en tant que #BasketService.cs.

Capture d’écran des références dans Copilot Chat.

Référencer une méthode, une classe ou une fonction

Avec Visual Studio 2022 version 17.11, vous pouvez désormais référencer une méthode, une classe ou une fonction spécifique dans GitHub Copilot Chat.

Pour référencer facilement une méthode, une classe ou une fonction dans GitHub Copilot Chat, ajoutez simplement un symbole # au début de la méthode, de la classe ou du nom de la fonction. Par exemple, si vous avez une méthode nommée BasketAddItem, mentionnez-la dans la conversation sous #BasketAddItem.

Capture d’écran des références aux méthodes dans GitHub Copilot Chat dans Visual Studio.

Référencer l’ensemble de la solution

Utilisez @workspace pour faire référence à la solution active dans l’IDE pour le contexte. Lorsque vous utilisez @workspace pour le contexte, Copilot Chat tire parti des informations sur les fichiers, projets et configurations actuellement ouverts et en cours de travail dans votre IDE. Cela permet à Copilot Chat de fournir des suggestions et des réponses plus pertinentes et contextuelles.

Capture d’écran du référencement du contexte de solution dans Copilot Chat.

Avec Visual Studio 2022 version 17.11, les abonnés GitHub Copilot Enterprise peuvent désormais utiliser des @github dans la conversation pour inclure le contexte à partir de leur référentiel entier et rechercher sur le web (si la recherche est activée par votre administrateur). Pour en savoir plus sur la collection de compétences spécifiques à GitHub que Copilot peut utiliser pour répondre à votre question lors de l’utilisation de @github, consultez Utilisation des compétences GitHub pour Copilot.

Capture d’écran de l’utilisation des compétences GitHub dans Copilot Chat.

Fenêtre de sortie de référence

Vous pouvez désormais utiliser la fenêtre de sortie comme contexte dans le chat pour poser des questions et obtenir de l’aide sur les journaux d’activité. Les fenêtres de sortie prises en charge incluent Build, Debug, Tests, Contrôle de code source, Gestionnaire de package ou tout autre volet de fenêtre de sortie actif.

Référencez les journaux d’activité dans le chat de l’une des manières suivantes :

  • Utilisez #output pour la référencer directement dans la conversation.
  • Sélectionnez l’icône ➕ dans l’entrée de conversation et ajoutez-la Output logs en tant que contexte.
  • Demandez directement à Copilot, par exemple : Vérifiez mes journaux d’activité et aidez-moi à corriger cette erreur.
  • Cliquez avec le bouton droit dans la fenêtre sortie , puis sélectionnez Expliquer avec Copilot pour l’attacher.

Capture d’écran de la fenêtre de sortie en tant que contexte dans Copilot Chat.

Exemples d’utilisation

Voici quelques exemples d’utilisation de références pour le contrôle de contexte :

exemple Context utilisé par Copilot pour former la question
Quel est l’objectif de #MyFile.cs : 66-72 ? Section exacte du fichier
Où sont les tests dans #BasketService.cs ? BasketService.cs
/expliquer la fonctionnalité #AddItemToBasket dans #BasketService.cs Méthode AddItemToBasket dans BasketService.cs
Existe-t-il une méthode de suppression de panier dans cette @workspace Solution actuelle ouverte dans l’IDE
J’ai une méthode de test nommée #TestCalculator. Comment puis-je m’assurer qu’elle est exécutée correctement ? Méthode TestCalculator
Pouvez-vous expliquer les différences entre les classes #BasketService et les #OrderService ? Classe BasketService et classe OrderService
Où est #AddItemToBasket dans mon @workspace ? Solution actuelle ouverte dans l’IDE

Passer en revue les sources utilisées par Copilot Chat

Copilot Chat affiche le contexte utilisé après chaque résultat, afin que vous puissiez savoir ce qui a été pris en compte lors de la réponse à votre question. Lorsque vous posez une question à Copilot Chat et recevez une réponse dans la fenêtre de conversation, une liste déroulante "Références" apparaît sous la réponse. Les entrées de la liste déroulante Références affichent le contexte référencé par Copilot Chat pour générer cette réponse. Ces informations peuvent vous aider à modifier votre question pour obtenir de meilleures réponses et plus pertinentes.

Capture d’écran de la liste déroulante Références utilisées dans Copilot Chat.

Organiser : isoler les conversations avec Copilot en threads

Si vous utilisez Copilot Chat de manière intensive pour poser des questions pendant que vous codez, vous pouvez organiser vos conversations de manière à rester sur le sujet. Copilot Chat pour Visual Studio offre désormais un moyen simple de démarrer de nouvelles conversations (threads) afin de les concentrer sur la tâche à la main et de garder le contexte clair afin que les réponses soient basées sur l’historique pertinent.

Nouveau fil de conversation

Sélectionnez Créer un thread ou Ctrl+N dans la fenêtre de conversation pour démarrer un nouveau thread.

Capture d’écran de l’icône Créer un thread dans Copilot Chat.

Changer de thread de conversation

Vous pouvez sélectionner entre plusieurs threads en cours pour fournir le contexte historique approprié pour votre question. Vous pouvez utiliser Ctrl+PgDown pour le thread précédent ou Ctrl+PgUp pour le thread suivant dans la fenêtre de conversation. Ctrl+Maj+T développe la liste déroulante des threads.

Capture d’écran du basculement entre les threads en cours dans Copilot Chat.

Promouvoir la conversation inline vers la fenêtre de conversation

Avec Visual Studio 2022 version 17.11, vous pouvez maintenant conserver l'historique de votre conversation inline en l'envoyant vers la fenêtre de conversation . Sélectionnez continuer dans la fenêtre de conversation... pour conserver un enregistrement et un contexte de la conversation, puis continuer dans la fenêtre de conversation.

Capture d’écran de la promotion d’un thread en cours dans la conversation inline vers la fenêtre de conversation.

Meilleures pratiques

Copilot Chat utilise l’historique des conversations pour obtenir le contexte de votre demande. Pour donner à Copilot uniquement l’historique pertinent :

  • Utilisez des threads pour démarrer une nouvelle conversation pour une nouvelle tâche.
  • Supprimez les demandes qui ne sont plus pertinentes ou qui ne vous ont pas donné le résultat souhaité.

Maintenez la conversation en cours ouverte et continuez à itérer et à inciter Copilot à améliorer la solution suggérée. Copilot a à la fois le contexte du code généré et votre historique de conversation actuel. Lorsque vous continuez à poser des questions supplémentaires, Copilot affine davantage la réponse en fonction de vos besoins. Consultez Ingénierie des invites pour GitHub Copilot pour des stratégies de prompting efficaces afin d'améliorer vos résultats avec Copilot.

Étapes suivantes