Partage via


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

Vous pouvez utiliser GitHub Copilot Chat dans Visual Studio pour obtenir des informations de codage et une prise en charge, telles que la syntaxe, les concepts de programmation, l’aide du code spécifique au contexte, les cas de test, le débogage et bien plus encore, sans quitter l’IDE. Copilot Chat est intégré à Visual Studio, ce qui signifie qu’il peut comprendre ce que vous travaillez en collectant des indices utiles à partir de ce que vous avez dans l’IDE.

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, notamment :

  • 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 chat guidée et les instructions personnalisées pour affiner le contexte dans Visual Studio 17.12 ou une version ultérieure.
  • 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-instruction.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 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é
/doc 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
/fix 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
/optimize 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.

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.

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

Vous pouvez démarrer un nouveau thread en sélectionnant le Créer un thread dans la fenêtre de conversation.

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.

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