Partager via


Obtenir 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 et un support à la programmation, telles que la syntaxe, les concepts de programmation, une aide au code propre au contexte, des cas de test, un débogage et bien plus encore, sans quitter l’IDE. Copilot Chat est intégré à Visual Studio, ce qui signifie qu’il peut comprendre sur quoi 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 du chat, pour générer une réponse. Dans cet article, vous apprendrez comment obtenir de meilleures réponses en fournissant plus d'informations à Copilot Chat, notamment :

  • Utiliser des commandes à barre oblique pour spécifier rapidement des tâches courantes telles que /explain afin d’obtenir des explications sur le code.
  • Limiter la conversation à des fichiers spécifiques au moyen 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.

Prérequis

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 sera accessible sur https://support.github.com.

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

Les commandes à barre oblique dans Copilot Chat vous aident à définir rapidement l’intention pour les tâches de développement courantes. En utilisant des commandes à 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 inclus et dans les fenêtres de conversation, tandis que les commandes pour des questions de programmation plus générales fonctionnent uniquement dans le volet de conversation.

Commande Utilisation Fenêtre de conversation Conversation incluse
/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
/explain 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 des 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
/generate 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
/help Obtenez de l’aide sur 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 chat en ligne et les fenêtres de chat.

Référence : Limiter la portée des résultats de Copilot à un fichier particulier ou à l’ensemble de la solution.

Vous pouvez poser vos questions sur la programmation en langage naturel, et GitHub Copilot Chat répond à celles-ci dans le contexte du codebase ouvert dans Visual Studio. Avec des références, vous pouvez préciser quelles informations 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 à rédiger 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 du fichier en question. Par exemple, si vous avez un fichier nommé BasketService.cs, faites-y référence 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 du nom de la méthode, de la classe ou de la fonction en question. Par exemple, si votre méthode est nommée BasketAddItem, utilisez #BasketAddItem pour vous y référer dans la conversation.

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

Référencer l’ensemble de la solution

Utilisez @workspace pour vous référer à 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, les projets et les configurations actuellement ouverts et utilisés dans votre IDE. Copilot Chat est ainsi en mesure de fournir des suggestions et des réponses plus pertinentes et contextuelles.

Capture d’écran de la référence au contexte de solution dans Copilot Chat.

Avec Visual Studio 2022 version 17.11, les abonnés de GitHub Copilot Enterprise peuvent désormais utiliser @github dans le chat pour inclure le contexte de l'ensemble de leur référentiel et pour effectuer une recherche 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 lorsque vous utilisez @github, voir Utiliser les 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 du contexte :

Exemple Contexte 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
/explain the #AddItemToBasket in #BasketService.cs Méthode AddItemToBasket dans BasketService.cs
Y a-t-il une méthode de corbeille de suppression dans ce @workspace Solution actuelle ouverte dans l’IDE
J’ai une méthode de test nommée #TestCalculator. Comment puis-je m’assurer qu’elle s'exécute correctement ? Méthode TestCalculator
Pourriez-vous expliquer les différences entre les classes #BasketService et #OrderService ? Classe BasketService et classe OrderService
Dans mon @workspace, où se trouve #AddItemToBasket ? 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 pour répondre à votre question. Lorsque vous posez une question à Copilot Chat et que vous 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 montrent 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 des réponses plus pertinentes.

Capture d’écran du menu déroulant des références utilisées dans Copilot Chat.

Organiser : isoler les conversations avec Copilot en threads

Si vous utilisez très souvent Copilot Chat pour poser des questions à mesure que vous codez, vous pouvez organiser vos conversations afin qu’elles restent en rapport avec la rubrique en question. Copilot Chat pour Visual Studio offre désormais un moyen simple de démarrer de nouvelles conversations (threads) afin qu’elles portent sur la tâche à la main, et de veiller à ce que le contexte soit 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 Créer un thread dans la fenêtre de conversation.

Capture d’écran de l’icône de création de nouveau fil dans Copilot Chat.

Changer de fil de conversation

Vous pouvez sélectionner parmi plusieurs threads en cours afin de fournir le contexte historique approprié pour votre question.

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

Faire passer une conversation intégrée dans la fenêtre de conversation

Avec Visual Studio 2022 version 17.11, vous pouvez désormais conserver l’historique de votre conversation intégrée en la faisant passer dans la fenêtre de conversation. Sélectionnez Continuer dans la fenêtre de conversation... pour conserver un enregistrement et le contexte de la conversation, puis poursuivre dans la fenêtre de conversation.

Capture d’écran du passage d’un fil de la conversation intégrée en cours dans la fenêtre de conversation.

Bonnes pratiques

Copilot Chat utilise l'historique du chat pour obtenir le contexte de votre requête. Pour ne donner à Copilot que l'historique pertinent :

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

Gardez la conversation ouverte et continuez à itérer et à solliciter Copilot pour améliorer la solution proposée. Copilot dispose à la fois du contexte du code généré et de l'historique de votre conversation en cours. Au fur et à mesure que vous posez des questions supplémentaires, Copilot affine la réponse en fonction de vos besoins. Voir Ingénierie des requêtes pour Github Copilot pour des stratégies sur les requêtes efficaces afin d'améliorer les résultats de votre Copilot.

Étapes suivantes