Utiliser des agents GitHub Copilot dans Visual Studio

Visual Studio inclut des agents de GitHub Copilot intégrés pour les tâches de développement telles que le débogage, le profilage et les tests. Cet article explique comment accéder aux agents disponibles dans votre version de Visual Studio et les utiliser.

Prerequisites

Accéder aux agents dans Copilot Chat

Pour ouvrir Copilot Chat, sélectionnez le badge GitHub Copilot dans le coin supérieur droit de Visual Studio, puis sélectionnez Ouvrir la conversation.

Accédez aux agents de deux façons :

  • Sélecteur d’agent : dans la fenêtre Copilot Chat, sélectionnez la liste déroulante du sélecteur d’agent pour afficher les agents disponibles.
  • @ syntaxe : Saisissez @ suivi du nom de l’agent dans la zone de saisie (par exemple, @debugger).

Utiliser des agents intégrés

Chaque agent intégré se concentre sur un flux de travail de développeur spécifique. Ces agents s'intègrent aux outils natifs de Visual Studio de manière à ce qu'un assistant générique ne puisse pas.

Agent Description
@debugger Va au-delà de la lecture des messages d’erreur. Utilisez vos piles d’appels, l’état des variables et les outils de diagnostic pour repérer les erreurs de manière systématique dans votre solution.
@git Examine vos modifications locales non validées et affiche des commentaires intégrés dans l’éditeur ainsi que dans l’expérience Modifications Git.
@profiler Se connecte à l'infrastructure de profilage de Visual Studio pour identifier les goulots d'étranglement et suggérer des optimisations ciblées basées sur votre base de code, et non des conseils génériques.
@test Génère des tests unitaires adaptés au cadre et aux modèles de votre projet, et non des gabarits rejetés par votre CI.
@modernize (.NET et C++ uniquement) Gère les mises à niveau de l’infrastructure et des dépendances avec connaissance de votre graphe de projet réel. Signale les modifications incompatibles, génère du code de migration et suit vos modèles existants.
Agent de planification Crée et affine les plans d’implémentation avant que les modifications de code commencent par explorer votre codebase avec des outils en lecture seule, puis remet le plan en mode Agent avec Implémenter le plan.

Utiliser l’agent @debugger

L’agent @debugger vous aide à diagnostiquer systématiquement les erreurs en analysant votre contexte de débogage. Il prend également en charge un flux de travail agentique de bout en bout qui reproduit les bogues, instrumente votre application avec des points de trace et des points d’arrêt conditionnels, et valide les correctifs à l’aide de données runtime en direct. Pour plus d’informations, consultez La résolution des bogues agentiques avec l’Agent Débogueur.

Exemples de commandes :

  • @debugger Why is this exception being thrown?
  • @debugger Analyze the current call stack and explain what went wrong
  • @debugger What's causing the null reference in this method?

Utiliser l’agent @git

Utilisez l’agent @git pour passer en revue les modifications locales non validées sans quitter Copilot Chat.

Exemples de commandes :

  • @git Review my changes
  • @git Explain this review comment and suggest a fix

Capture d’écran de Visual Studio Copilot Chat avec l’option Git Agent et Révision des modifications mise en surbrillance.

Pour obtenir le flux de travail complet de révision locale, consultez Passer en revue les modifications locales avec Copilot Chat.

La sélection de révision nécessite Visual Studio version 18.8 ou ultérieure. Pour passer en revue uniquement le code sélectionné, sélectionnez le code dans l’éditeur, cliquez avec le bouton droit sur la sélection, puis sélectionnez Actions Copilot>Review Selection. Copilot ajoute des commentaires inline et peut appliquer ou générer des suggestions. Cette commande utilise la même expérience de révision de code GitHub Copilot que le flux de travail Modifications Git. Pour plus d’informations, consultez Vérifier le code sélectionné.

Utiliser l’agent @profiler

L'agent @profiler se connecte aux outils de profilage de Visual Studio pour identifier et résoudre les problèmes de performances.

Exemples de commandes :

  • @profiler Find the performance bottlenecks in my application
  • @profiler Why is this method taking so long to execute?
  • @profiler Suggest optimizations for the hot path

Utiliser l’agent @test

L’agent @test génère des tests unitaires qui correspondent à l’infrastructure et aux conventions de test de votre projet.

Exemples de commandes :

  • @test Generate unit tests for the selected method
  • @test Create tests that cover edge cases for this class
  • @test Write integration tests for this API endpoint

Pour obtenir une prise en charge des tests de .NET plus complète, consultez GitHub Copilot test pour .NET.

Utiliser l’agent @modernize

L’agent @modernize permet d’effectuer des migrations d’infrastructure et des mises à niveau des dépendances pour les projets .NET et C++.

Pour les flux de travail de modernisation .NET, l’agent supporte un processus en trois étapes :

  • Évaluation : passe en revue les versions des packages, les options de framework cible, l’inventaire des projets et les risques de compatibilité des API.
  • Plan : génère un plan de migration qui s’aligne sur les priorités actuelles d’évaluation et de mise à jour.
  • Exécution des tâches : fonctionne via des tâches de modernisation avec un fichier de tâches dynamique modifiable au fur et à mesure que le travail progresse.

Exemples de commandes :

  • @modernize Upgrade this project to .NET 8
  • @modernize What breaking changes should I expect when migrating?
  • @modernize Update deprecated API calls in this file
  • @modernize Assess this solution, generate a migration plan, and create execution tasks

Pour obtenir des conseils de bout en bout sur la modernisation application Copilot GitHub pour .NET, consultez Vue d’ensemble de la modernisation application Copilot GitHub.

Utiliser des agents cloud

Dans Visual Studio version 18.1 ou ultérieure, démarrez GitHub sessions Cloud Agent à partir du sélecteur d’agents dans Copilot Chat. Pour connecter un référentiel, ouvrez une solution locale à partir d’un référentiel GitHub et connectez-vous à GitHub dans Visual Studio. L’agent de codage GitHub Copilot alimente ces sessions à distance. Il peut créer des issues et des pull requests dans ce dépôt.

Les agents cloud fonctionnent uniquement avec les référentiels auxquels l’agent de codage GitHub Copilot peut accéder. Si le référentiel n'est pas déjà disponible pour l'agent de codage, accordez-lui l'accès dans GitHub. Visual Studio pouvez vous inviter à accorder des autorisations de dépôt la première fois que vous démarrez une session cloud ou lorsque la session nécessite plus d’autorisations. Passez en revue les autorisations demandées avant de les approuver.

Créer et utiliser des agents personnalisés

Les agents personnalisés nécessitent Visual Studio version 18.4 ou ultérieure.

Les agents intégrés couvrent les flux de travail courants, mais votre équipe connaît le mieux son flux de travail. Les agents personnalisés fournissent une base pour les agents adaptés au flux de travail de votre équipe : sensibilisation de l’espace de travail, compréhension du code, modèle IA préféré et vos propres outils.

Les agents personnalisés sont particulièrement puissants lorsqu’ils sont combinés avec MCP (Model Context Protocol). Connectez des agents à des sources de connaissances externes telles que la documentation interne, les systèmes de conception, les API et les bases de données afin que l’agent ne soit pas limité à ce qui se trouve dans votre référentiel.

Définissez des compétences d’agent réutilisables que n’importe quel agent peut découvrir et utiliser automatiquement. Tandis que les agents définissent un persona et un ensemble d'outils, les compétences fournissent des instructions spécifiques à la tâche.

Dans le sélecteur d’agents, la légende 1 met en surbrillance le + bouton de création d’un agent et la légende 2 met en surbrillance un agent personnalisé nommé my-agent.

Capture d’écran du sélecteur d’agent Visual Studio Copilot Chat avec légende 1 sur le bouton create-agent et légende 2 sur l’agent personnalisé my-agent.

Les compétences intégrées .NET et Azure nécessitent Visual Studio version 18.8 ou ultérieure. Visual Studio fournit ces compétences lorsque vous installez les charges de travail correspondantes. Contrairement aux agents intégrés ou aux compétences de l’agent que vous créez, ces compétences spécifiques à la charge de travail apparaissent dans la catégorie intégrée sous l’onglet Compétences et sont désactivées par défaut. Passez en revue et activez uniquement les compétences qui s’appliquent à vos tâches. Pour plus d’informations, consultez Utiliser des compétences intégrées .NET et Azure.

Capture d’écran de Visual Studio Copilot Chat avec l’onglet Compétences montrant une compétence d’espace de travail activée et des compétences intégrées désactivées.

Créer un agent personnalisé

Les agents personnalisés au niveau du référentiel s’appliquent uniquement au référentiel où vous les stockez. Pour en créer un manuellement :

  1. À la racine du référentiel, créez un .github/agents/ dossier s’il n’existe pas déjà.
  2. Dans ce dossier, créez un fichier dont le nom se termine .agent.md, tel que code-reviewer.agent.md.
  3. Ajoutez la matière frontale YAML et les instructions Markdown à l’aide du format décrit dans le format de fichier agent.
  4. Enregistrez le fichier.

La structure de dossiers résultante ressemble à ceci :

your-repo/
└── .github/
    └── agents/
        └── code-reviewer.agent.md

Dans Visual Studio version 18.5 ou ultérieure, sélectionnez le + bouton dans le sélecteur d’agent et suivez les invites pour créer un agent personnalisé.

Pour créer un agent au niveau utilisateur qui s’applique à tous vos projets, stockez son fichier .agent.md dans %USERPROFILE%\.github\agents par défaut. Modifiez cet emplacement dans options > d’outils > GitHub Copilot>.

Sélectionner et vérifier un agent personnalisé

Après avoir créé un agent personnalisé :

  1. Ouvrez le Copilot Chat.
  2. Ouvrez le sélecteur d’agents et vérifiez que l’agent apparaît avec le nom et la description de sa définition.
  3. Sélectionnez l’agent, ou invoquez-le en saisissant @ suivi du nom de l’agent dans le champ de saisie du chat.
  4. Saisissez un prompt pour tester l’une des instructions de l’agent.
  5. Vérifiez que la réponse suit le rôle et les instructions de l’agent. Si la définition spécifie des outils, ouvrez le panneau Outils et vérifiez que les outils attendus sont disponibles.

Utiliser des agents personnalisés au niveau de l’organisation

Les agents personnalisés au niveau de l’organisation nécessitent Visual Studio version 18.9 ou ultérieure et un référentiel appartenant à une organisation GitHub.

GitHub organisation et les propriétaires d’entreprise peuvent publier des agents personnalisés pour que les membres puissent les utiliser dans les référentiels d’une organisation. Lorsque vous ouvrez un référentiel dans l’organisation, Visual Studio détecte automatiquement ces agents et les ajoute au sélecteur d’agents.

Pour inspecter un agent personnalisé au niveau de l’organisation avant de l’utiliser :

  1. Ouvrez Copilot Chat et sélectionnez le sélecteur d’agent.
  2. Survolez l’agent pour afficher sa description et son organisation d’origine.
  3. Sélectionnez le bouton de définition pour ouvrir le fichier de définition de l’agent.

Capture d’écran du sélecteur d’agents Visual Studio montrant les agents d’organisation, leurs organisations sources et les boutons qui ouvrent les définitions d’agent.

Les propriétaires d’entreprise et d’organisation configurent ces agents dans GitHub. Pour obtenir des conseils d’installation, consultez Préparer l’utilisation d’agents personnalisés dans votre organisation ou Préparer l’utilisation d’agents personnalisés dans votre entreprise.

Les instructions personnalisées au niveau de l’organisation nécessitent Visual Studio version 18.8 ou ultérieure. Ils sont distincts des agents personnalisés. Les propriétaires d’organisation utilisent des instructions personnalisées pour définir les préférences que Visual Studio applique automatiquement lorsque vous travaillez dans un dépôt de l’organisation. Les instructions appliquées s’affichent dans références. Désactivez-les dans les paramètres de Visual Studio. Pour plus d’informations, consultez Utiliser des instructions personnalisées au niveau de l’organisation.

Format de fichier agent

Chaque fichier d’agent utilise la matière frontale YAML suivie des instructions Markdown :

---
name: Code Reviewer
description: Reviews PRs against our team's coding standards
tools: ["code_search", "readfile", "find_references"]
---

You are a code reviewer for our team. When reviewing changes, check for:

- Naming conventions: PascalCase for public methods, camelCase for private
- Error handling: all async calls must have try/catch with structured logging
- Test coverage: every public method needs at least one unit test

Flag violations clearly and suggest fixes inline.

Les modèles disponibles varient selon Visual Studio version et par les modèles disponibles pour votre plan de Copilot. La propriété model est facultative ; omettez-la pour utiliser le modèle sélectionné dans le sélecteur de modèle. Si vous incluez la propriété, choisissez un modèle disponible dans votre version de Visual Studio.

Propriétés des éléments liminaires

Propriété Obligatoire Description
name Non Nom de l’agent tel qu’il apparaît dans le sélecteur d’agents. Si vous ne spécifiez pas cette propriété, le nom de l’agent provient du nom de fichier (par exemple, code-reviewer.agent.md devient code-reviewer).
description Yes Brève description affichée lors du pointage sur l’agent
model Non Modèle IA à utiliser. Si vous ne spécifiez pas cette propriété, le modèle sélectionné dans le sélecteur de modèles est utilisé.
tools Non Tableau de noms d’outils que l’agent peut utiliser. Si vous ne spécifiez pas cette propriété, tous les outils disponibles sont activés.

Note

Pour certains agents personnalisés, les groupes d’outils apparaissent désactivés après avoir sélectionné l’agent, même si vous ne spécifiez pas la tools propriété. Dans certaines sessions, les sélections d’outils sont réinitialisées après chaque message de suivi dans le même thread de conversation. Si cette condition se produit, réactivez manuellement les outils requis dans le panneau Outils . Pour obtenir des instructions relatives aux étapes et à la création de rapports, consultez Les groupes d’outils d’agents personnalisés sont désactivés au démarrage ou réinitialisés d’un tour à l’autre.

Spécifier des outils

Les outils étendent ce que votre agent personnalisé peut faire. Spécifiez les outils que l’agent doit utiliser dans le tools tableau.

Important

Les noms d’outils varient selon les plateformes GitHub Copilot. Vérifiez les outils disponibles dans Visual Studio spécifiquement pour vous assurer que votre agent fonctionne comme prévu. Sélectionnez l’icône Outils dans la fenêtre de conversation pour afficher les noms d’outils disponibles.

Outils spécifiques au langage pour C++

Le mode agent inclut généralement les outils d’édition de code C++. Si vous installez la charge de travail C++, votre agent personnalisé peut utiliser ces noms d’outils spécifiques Visual Studio dans son tools tableau :

  • get_symbol_call_hierarchy pour la navigation dans la hiérarchie des appels
  • get_symbol_class_hierarchy pour la navigation dans la hiérarchie de classes et de types

Ces outils permettent aux agents de naviguer en langage pour C++ et d’améliorer la précision lors de l’analyse et de la modification du code C++.

Se connecter à des sources externes avec MCP

À l’aide de serveurs MCP, vos agents personnalisés peuvent accéder à des sources de connaissances externes telles que :

  • Documentation interne et wikis
  • Concevoir des systèmes et des bibliothèques de composants
  • API et bases de données
  • Repères de style et référentiels ADR

Par exemple, un agent de révision de code peut vérifier les demandes de tirage (PR) en les comparant à vos conventions réelles en se connectant à votre guide de style via MCP.

Exemples d’agents personnalisés

Agent de révision de code

---
name: Code Reviewer
description: Reviews code against our team's coding standards
tools: ["code_search", "readfile"]
---

You are a code reviewer for our team. Review changes for:

1. **Naming conventions**: PascalCase for public methods, camelCase for private fields
2. **Error handling**: All async calls must have try/catch with structured logging
3. **Test coverage**: Every public method needs at least one unit test
4. **Documentation**: Public APIs must have XML documentation comments

Flag violations clearly and suggest fixes inline.

Exemple d’agent de planification des fonctionnalités

Utilisez un agent de planification de fonctionnalités personnalisé lorsque vous souhaitez un workflow de planification spécifique à l’équipe ou des outils supplémentaires au-delà de l’agent de plan intégré.

---
name: Feature Planner
description: Helps plan features before writing code
tools: ["code_search", "readfile", "find_references"]
---

You are a feature planning assistant. When asked about a feature:
1. Gather requirements by asking clarifying questions
2. Identify affected files and components in the codebase
3. Break down the work into discrete tasks
4. Flag potential risks or dependencies
5. Create a structured plan that can be handed off for implementation

Focus on understanding scope before suggesting solutions.

Conception de l’agent système

---
name: Design System
description: Enforces UI design patterns and component usage
tools: ["code_search", "readfile"]
---

You are a design system expert. When reviewing UI code:

1. Check that standard components are used instead of custom implementations
2. Verify spacing and layout follow the design token system
3. Ensure accessibility requirements are met (ARIA labels, keyboard navigation)
4. Flag any UI drift from established patterns

Reference the component library documentation when suggesting fixes.

Agent de développement full-stack avec outils Visual Studio

L’exemple suivant utilise des noms d’outils spécifiques à Visual Studio :

---
name: Full Stack Dev
description: Full-stack development assistant with search, file editing, and terminal access
tools: ["code_search", "readfile", "editfiles", "find_references", "runcommandinterminal", "getwebpages"]
---

You are a full-stack development assistant. Help with:

1. Searching the codebase to understand existing patterns
2. Reading and editing files to implement changes
3. Running build and test commands to verify your work
4. Looking up documentation when needed

Always check existing code conventions before making changes.

Conseil / Astuce

Sélectionnez l’icône Tools dans la fenêtre Copilot Chat pour afficher tous les noms d’outils disponibles dans votre version de Visual Studio.

agents de développement .NET

L’équipe .NET gère des agents personnalisés soigneusement sélectionnés pour le développement C# et Windows Forms dans le référentiel awesome-copilot. Pour démarrer :

  1. Téléchargez CSharpExpert.agent.md et WinFormsExpert.agent.md.
  2. Ajoutez les fichiers au dossier .github/agents/ de votre référentiel.
  3. Ouvrez Copilot Chat en mode agent et sélectionnez l’agent dans le sélecteur d’agents.

Conseil / Astuce

Sélectionnez Tools>Options>GitHub>Copilot, puis activez Enable projet spécifique .NET instructions telles que le développement Windows Forms le cas échéant pour ajouter automatiquement l’agent personnalisé approprié pour votre base de code.

Expert en C#

L'agent Expert C# applique des conventions C# modernes à la génération de code de Copilot :

  • Syntaxe et performances : suit les meilleures pratiques actuelles tout en correspondant aux conventions existantes de votre référentiel.
  • Modifications minimales : génère uniquement le code nécessaire, à l’aide d’async/await avec une annulation et une gestion des exceptions appropriées. Évite les interfaces, méthodes ou paramètres inutilisés.
  • Test : prend en charge les tests unitaires pilotés par le comportement, les tests d’intégration et les flux de travail TDD.

WinForms Expert

L’agent WinForms Expert cible le développement Windows Forms sur .NET 8 à .NET 10 :

  • Protection du code du Designer : empêche les .Designer.cs corruptions afin que le concepteur Windows Forms continue de fonctionner après les modifications de Copilot.
  • Modèles de conception d’interface utilisateur : modèles MVVM et MVP, y compris la liaison de données Community Toolkit.
  • Modern .NET : Surcharges InvokeAsync appropriées, mode sombre, reconnaissance haute résolution et types de référence pouvant accepter la valeur Null.
  • Mise en page : TableLayoutPanel et FlowLayoutPanel pour des mises en page réactives et compatibles DPI.
  • Sérialisation CodeDOM : [DefaultValue] attributs et ShouldSerialize*() méthodes pour la gestion appropriée des propriétés du concepteur.
  • Gestion des exceptions : modèles de gestionnaire d’événements Async et gestion des exceptions au niveau de l’application.

Configurations de la communauté

Le dépôt awesome-copilot propose des configurations d’agent fournies par la communauté comme points de départ. Lorsque vous utilisez des configurations à partir de ce référentiel, vérifiez que les noms d’outils fonctionnent dans Visual Studio avant de les déployer dans votre équipe.

Limitations et notes

  • Si vous ne spécifiez pas de modèle, l’agent utilise le modèle sélectionné dans le sélecteur de modèles.
  • Les noms d’outils varient selon les plateformes GitHub Copilot. Vérifiez que les noms d’outils fonctionnent dans Visual Studio avant le déploiement dans votre équipe.

Partager des commentaires

Partagez vos configurations d’agent personnalisées dans le référentiel awesome-copilote ou faites part de commentaires via Visual Studio Developer Community. Vos flux de travail permettent de mettre en forme les fonctionnalités futures.

Utiliser des agents intégrés dans Visual Studio 2022

Vous devez Visual Studio 2022 version 17.14 ou ultérieure.

Pour ouvrir Copilot Chat, sélectionnez le badge GitHub Copilot dans le coin supérieur droit de Visual Studio, puis sélectionnez Ouvrir la fenêtre de conversation.

Accédez aux agents intégrés de deux façons :

  • Sélecteur d’agent : dans la fenêtre Copilot Chat, sélectionnez la liste déroulante du sélecteur d’agent pour afficher les agents intégrés disponibles.
  • Syntaxe @ : saisissez @ suivi du nom de l’agent dans le champ de saisie du chat (par exemple, @profiler).

Le sélecteur d’agents peut inclure les agents intégrés suivants. La disponibilité peut varier en fonction de votre version Visual Studio 2022 et des charges de travail installées.

Agent Description
Context Agent d’analyse de contexte
GitHub Discuter avec GitHub
Profiler Optimisez votre code
VS Posez des questions sur Visual Studio
Workspace Poser une question sur votre espace de travail

Capture d’écran du sélecteur d’agent de Copilot Chat dans Visual Studio 2022 montrant Context, GitHub, Profiler, VS et Workspace.

Utiliser l’agent @context

L’agent @context analyse le contexte de votre demande pour vous aider à comprendre le code avec lequel vous travaillez.

Exemples de commandes :

  • @context Explain the code in the current file
  • @context What code is relevant to this method?
  • @context Summarize the context for the selected code

Utiliser l’agent @profiler

L'agent @profiler se connecte aux outils de profilage de Visual Studio pour identifier et résoudre les problèmes de performances.

Exemples de commandes :

  • @profiler Find the performance bottlenecks in my application
  • @profiler Why is this method taking so long to execute?
  • @profiler Suggest optimizations for the hot path