Partager via


Personnaliser les réponses de conversation et définir le contexte

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. La conversation dans Visual Studio peut vous donner des réponses et générer du code qui correspond à vos pratiques de codage et exigences de projet, si vous lui donnez le bon contexte. Au lieu d’ajouter à plusieurs reprises ces informations dans chaque invite de conversation, vous pouvez stocker ce contexte dans les fichiers et l’inclure automatiquement dans chaque demande de conversation.

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

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 est fournie par GitHub et peut être accessible à l’adresse 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.

Utiliser des instructions personnalisées

La fonctionnalité d’instructions personnalisées vous permet d’ajouter automatiquement des détails contextuels préspecifié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.

Capture d’écran des fichiers d’instructions personnalisés utilisés par Copilot dans la liste Références.

Utiliser un fichier .github/copilot-instructions.md

Pour utiliser un .github/copilot-instructions.md fichier :

  1. Créer/ajouter un fichier d’instructions personnalisé .github/copilot-instructions.md à la racine de votre référentiel.
  1. Activez la fonctionnalité dans Visual Studio à partir du voletOptions>. Développez la section Tous les paramètres>GitHub>Copilot>Chat Copilot et cochez la case Activer les instructions personnalisées à charger à partir des fichiers .github/copilot-instructions.md et à ajouter aux requêtes.
  1. Activez la fonctionnalité dans Visual Studio à partir de la boîte de dialogueOptions>. Ouvrez la section GitHub>Copilot et cochez la case Activer le chargement d'instructions personnalisées à partir des fichiers .github/copilot-instructions.md et leur ajout aux requêtes dans le groupe Copilot Chat.

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 .instructions.md

Au lieu d’utiliser un fichier d’instructions unique qui s’applique à toutes les demandes de conversation, vous pouvez créer plusieurs *.instructions.md fichiers qui s’appliquent à des types de fichiers ou tâches spécifiques. Par exemple, vous pouvez créer des fichiers d’instructions pour différents langages de programmation, frameworks ou types de projet.

Pour utiliser un .github/instructions/*.instructions.md fichier :

  1. Créez le .github/instructions répertoire s'il n'existe pas déjà.

  2. Ajoutez un ou plusieurs .github/instructions/*.instructions.md fichiers.

  3. Ajoutez la applyTo propriété dans la section frontmatter du fichier d’instructions. Utilisez la syntaxe glob pour spécifier les fichiers ou dossiers auxquels les instructions s’appliquent.

  4. Activez la fonctionnalité dans Visual Studio.

    Dans le volet Outils>Options, développez la section Tous les paramètres>GitHub>Copilot>Chat, puis sélectionnez la case Activer les instructions personnalisées à charger à partir de fichiers .github/copilot-instructions.md et ajoutées aux requêtes.

    Dans la boîte de dialogueOptions des >, développez la section GitHub>Copilot. Dans le groupe Copilot Chat , cochez la case Activer les instructions personnalisées à charger à partir de fichiers .github/copilot-instructions.md et ajoutez-les à des requêtes .

Instructions de format de fichier

Les fichiers d’instructions ciblés utilisent l’extension .instructions.md et ont cette structure :

  • En-tête (facultatif) : frontmatter YAML
    • description: Description affichée sur le pointage en mode Conversation
    • applyTo: modèle Glob qui correspond aux fichiers ou dossiers auxquels vous souhaitez appliquer les instructions
  • Corps : instructions au format Markdown

Example

Voici un exemple d’instruction personnalisée C# :

## C# Instructions
---
applyTo: `**/*.cs`
---

- Write clear and concise comments for each function.
- Use PascalCase for component names, method names, and public members.
- Use camelCase for private fields and local variables.
- Add a newline before the opening curly brace of any code block  
  (such as after `if`, `for`, `while`, `foreach`, `using`, `try`, etc.).
- Ensure that the final `return` statement of a method is on its own line.

Copiez ces instructions dans votre .github/instructions/*.instructions.md fichier pour utiliser et appliquer automatiquement le comportement de Copilot.

Pour obtenir d’autres exemples d’instructions personnalisées, consultez la liste des exemples d’instructions sur GitHub.

Fonctionnement des fichiers d’instructions

Lorsque vous commencez à utiliser Copilot, il détecte automatiquement les fichiers d’instructions pertinents pour votre contexte actuel et les attache en tant que références. Cela garantit que les suggestions de Copilot sont toujours alignées avec les règles de votre projet, quel que soit l’endroit où vous travaillez dans votre codebase.

Les fichiers d’instructions utilisés par Copilot sont répertoriés dans la liste Références de la 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 de barre oblique pour définir le contexte 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
Pour .NET, nous vous recommandons gitHub Copilot Testing pour .NET
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 s'étend en langage naturel pour afficher le contexte de la commande.

Utiliser des actions Copilot

Vous pouvez utiliser des actions Copilot à partir du menu contextuel pour accéder rapidement aux invites préconfigurées et aux commandes slash pour les tâches de développement courantes.

Capture d’écran des actions Copilot dans le menu contextuel.

Le comportement de chaque action dépend de la sélection du code lorsque vous ouvrez le menu contextuel :

Action Avec le code sélectionné Sans code sélectionné
Expliquer Explique le code sélectionné Explique le code près de la position du curseur
Optimiser la sélection Optimise le code sélectionné pour les performances, la maintenance, la fiabilité et l’architecture Sans objet
Générer des commentaires Génère des commentaires pour le code sélectionné Générer des commentaires pour le code près de la position du curseur
Générer des tests Génère des tests pour le code sélectionné Générer des tests pour le code près de la position du curseur
Ajouter à chat Ajoute le code sélectionné à Chat en tant que référence Ajouter l’intégralité du fichier à Chat en tant que référence

Lorsque vous sélectionnez une action à l’exception d’Optimiser la sélection, la fenêtre de conversation s’ouvre automatiquement et envoie une commande oblique à Copilot avec le contexte délimité approprié. Vous pouvez ensuite passer en revue et interagir avec la réponse de Copilot dans la fenêtre de conversation.

Utiliser l’option Optimiser la sélection pour un meilleur code

Sélectionnez une section de code spécifique et choisissez Optimiser la sélection pour que Copilot analyse et améliore simplement cette section, plutôt qu’un fichier entier.

Copilot examine le code sélectionné et son contexte environnant pour fournir des suggestions significatives et prenant en charge le contexte. L’optimisation conserve votre style de code, votre structure et vos fonctionnalités existants, tout en gardant votre code organisé et cohérent. Contrairement à d’autres actions qui utilisent le panneau de conversation, Optimize Selection présente des suggestions en tant que différences inline que vous pouvez examiner, accepter ou rejeter directement.

Copilot fournit des suggestions d’optimisation dans ces domaines :

  • Performance: Algorithmes plus rapides, utilisation réduite de la mémoire, modèles asynchrones
  • Maintenabilité: Logique simplifiée, structure plus claire, meilleur nommage
  • Fiabilité: Gestion des erreurs, nettoyage des ressources, sécurité des threads
  • Architecture: Injection de dépendances, meilleures interfaces, conception modulaire

Étapes suivantes