Använda GitHub Copilot agenter i Visual Studio

Visual Studio innehåller inbyggda GitHub Copilot agenter för utvecklingsuppgifter som felsökning, profilering och testning. Den här artikeln beskriver hur du kommer åt och använder de agenter som är tillgängliga i din version av Visual Studio.

Förutsättningar

Få åtkomst till agenter i Copilot Chat

Om du vill öppna Copilot Chat väljer du märket GitHub Copilot i det övre högra hörnet av Visual Studio och väljer sedan Öppna chatt.

Få åtkomst till agenter på två sätt:

  • Agentväljare: I fönstret Copilot Chat väljer du listrutan agentväljare för att se tillgängliga agenter.
  • @ syntax: Skriv @ följt av agentnamnet i chattindata (till exempel @debugger).

Använda inbyggda agenter

Varje inbyggd agent fokuserar på ett specifikt utvecklararbetsflöde. Dessa agenter integreras med Visual Studio interna verktyg på sätt som en allmän assistent inte kan.

Handläggare Beskrivning
@debugger Går längre än att läsa felmeddelanden. Använder dina anropsstackar, variabeltillstånd och diagnostikverktyg för att gå igenom feldiagnostik systematiskt i din lösning.
@git Granskar dina lokala ej checkade ändringar och visar feedback som infogade kommentarer i redigeraren och i vyn Git-ändringar.
@profiler Ansluter till Visual Studio profileringsinfrastruktur för att identifiera flaskhalsar och föreslå riktade optimeringar som baseras på din kodbas, inte allmänna råd.
@test Genererar enhetstester som är anpassade till ditt projekts ramverk och mönster, inte den generiska kod som avvisas av ditt CI-system.
@modernize (endast .NET och C++) Hanterar ramverks- och beroendeuppgraderingar med medvetenhet om ditt faktiska projektdiagram. Identifierar förändringar som bryter mot kompatibiliteten, genererar migreringskod och följer era befintliga mönster.
Planagent Skapar och förfinar implementeringsplaner innan kodändringarna börjar genom att utforska din kodbas med skrivskyddade verktyg och sedan överlämna planen till agentläge med Implement-planen.

Använd agenten @debugger

Agenten @debugger hjälper dig att diagnostisera fel systematiskt genom att analysera felsökningskontexten. Det stöder också ett agentiskt arbetsflöde från slutpunkt till slutpunkt som återskapar buggar, instrumenterar din app med spårningspunkter och villkorsstyrda brytpunkter och validerar korrigeringar med live-körningsdata. Mer information finns i Lösning av agentfel med felsökningsagenten.

Exempel på frågor:

  • @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?

Använd agenten @git

Använd @git-agenten för att granska lokala ej incheckade ändringar utan att lämna Copilot Chat.

Exempel på frågor:

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

Skärmbild av Visual Studio Copilot Chat med alternativet Git-agent och Granska ändringar markerat.

Det fullständiga arbetsflödet för lokal granskning finns i Granska lokala ändringar med Copilot Chat.

Granskningsval kräver Visual Studio version 18.8 eller senare. Om du bara vill granska den markerade koden väljer du koden i redigeraren, högerklickar på markeringen och väljer sedan Åtgärder i Copilot>Visa markering. Copilot lägger till kommentarer direkt i texten och kan använda eller generera förslag. Det här kommandot använder samma GitHub Copilot kodgranskningsupplevelse som Arbetsflödet för Git-ändringar. Mer information finns under Granska vald kod.

Använd agenten @profiler

agenten @profiler ansluter till Visual Studio profileringsverktyg för att identifiera och åtgärda prestandaproblem.

Exempel på frågor:

  • @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

Använd agenten @test

Agenten @test genererar enhetstester som matchar projektets testramverk och konventioner.

Exempel på frågor:

  • @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

Mer omfattande .NET teststöd finns i GitHub Copilot testning för .NET.

Använd agenten @modernize

agenten @modernize hjälper till med ramverksmigreringar och beroendeuppgraderingar för .NET- och C++-projekt.

För .NET moderniseringsarbetsflöden stöder agenten en process i tre steg:

  • Utvärdering: Granskar paketversioner, målramverksalternativ, projektinventering och API-kompatibilitetsrisker.
  • Plan: Genererar en migreringsplan som överensstämmer med aktuella utvärderings- och uppdateringsprioriteringar.
  • Aktivitetskörning: Arbetar sig igenom moderniseringsuppgifter med en redigerbar, dynamisk aktivitetsfil allteftersom arbetet fortskrider.

Exempel på frågor:

  • @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

Omfattande vägledning om modernisering av appar med GitHub Copilot för .NET finns i översikten över modernisering av appar med GitHub Copilot.

Använd molnagenter

I Visual Studio version 18.1 eller senare startar du GitHub Cloud Agent-sessioner från agentväljaren i Copilot Chat. Om du vill ansluta en lagringsplats öppnar du en lokal lösning från en GitHub lagringsplats och loggar in på GitHub i Visual Studio. Kodningsagenten GitHub Copilot driver dessa fjärrsessioner. Det kan skapa lagringsplatsproblem och pull-begäranden på den lagringsplatsen.

Molnagenter fungerar endast med lagringsplatser som GitHub Copilot kodningsagenten kan komma åt. Om lagringsplatsen inte redan är tillgänglig för kodningsagenten ger du den åtkomst i GitHub. Visual Studio kan uppmana dig att bevilja lagringsplatsbehörighet första gången du startar en molnsession eller när sessionen kräver fler behörigheter. Granska de begärda behörigheterna innan du godkänner dem.

Skapa och använda anpassade agenter

Anpassade agenter kräver Visual Studio version 18.4 eller senare.

De inbyggda agenterna täcker vanliga arbetsflöden, men ditt team känner till arbetsflödet bäst. Anpassade agenter utgör en grund för agenter som är skräddarsydda för ditt teams arbetsflöde: arbetsytemedvetenhet, kodtolkning, din önskade AI-modell och dina egna verktyg.

Anpassade agenter är särskilt kraftfulla när de kombineras med MCP (Model Context Protocol). Anslut agenter till externa kunskapskällor, till exempel intern dokumentation, designsystem, API:er och databaser så att agenten inte är begränsad till vad som finns på din lagringsplats.

Definiera återanvändbara agentkunskaper som alla agenter kan identifiera och använda automatiskt. Medan agenter definierar en persona och en verktygsuppsättning ger färdigheter fokuserade, uppgiftsspecifika instruktioner.

I agentväljaren markerar markering 1 knappen + för att skapa en agent, och markering 2 markerar en anpassad agent med namnet my-agent.

Skärmbild av agentväljaren i Visual Studio Copilot Chat med bildmarkering 1 på knappen create-agent och bildmarkering 2 på den anpassade agenten my-agent.

Inbyggda .NET och Azure kunskaper kräver Visual Studio version 18.8 eller senare. Visual Studio tillhandahåller dessa funktioner när du installerar motsvarande arbetsbelastningar. Till skillnad från inbyggda agenter eller de agentkunskaper som du skapar visas dessa arbetsbelastningsspecifika kunskaper i den inbyggda kategorin på fliken Färdigheter och är inaktiverade som standard. Granska och aktivera endast de kunskaper som gäller för dina uppgifter. Mer information finns i Använda inbyggda .NET och Azure kunskaper.

Skärmbild av Visual Studio Copilot Chat med fliken Färdigheter som visar en arbetsytefärdighet aktiverad och inbyggda kunskaper inaktiverade.

Skapa en anpassad agent

Anpassade agenter på lagringsplatsnivå gäller endast för den lagringsplats där du lagrar dem. Så här skapar du en manuellt:

  1. I lagringsplatsens rot skapar du en .github/agents/ mapp om den inte redan finns.
  2. I den mappen skapar du en fil vars namn slutar i .agent.md, till exempel code-reviewer.agent.md.
  3. Lägg till YAML-klientmaterial och Markdown-instruktioner med hjälp av formatet som beskrivs i Agentfilformat.
  4. Spara filen.

Den resulterande mappstrukturen ser ut så här:

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

I Visual Studio version 18.5 eller senare väljer du + knappen i agentväljaren och följer anvisningarna för att skapa en anpassad agent.

Om du vill skapa en agent på användarnivå som gäller för alla dina projekt lagrar du dess .agent.md-fil som standard i %USERPROFILE%\.github\agents. Ändra den här platsen i Verktygsalternativ >> GitHub > Copilot.

Välj och verifiera en anpassad agent

När du har skapat en anpassad agent:

  1. Öppna Copilot Chat.
  2. Öppna agentväljaren och bekräfta att agenten visas med namnet och beskrivningen från dess definition.
  3. Välj agenten eller anropa den genom att ange @ följt av agentnamnet i chattinmatningen.
  4. Ange en uppmaning som testar en av agentens instruktioner.
  5. Kontrollera att svaret följer agentens roll och instruktioner. Om definitionen anger verktyg öppnar du panelen Verktyg och kontrollerar att de förväntade verktygen är tillgängliga.

Använda anpassade agenter på organisationsnivå

Anpassade agenter på organisationsnivå kräver Visual Studio version 18.9 eller senare och en lagringsplats som tillhör en GitHub organisation.

GitHub organisation och företagsägare kan publicera anpassade agenter som medlemmar kan använda över lagringsplatser i en organisation. När du öppnar en lagringsplats i organisationen identifierar Visual Studio automatiskt dessa agenter och lägger till dem i agentväljaren.

Så här inspekterar du en anpassad agent på organisationsnivå innan du använder den:

  1. Öppna Copilot Chat och välj agentväljaren.
  2. För muspekaren över agenten för att visa dess beskrivning och ursprungsorganisation.
  3. Välj definitionsknappen för att öppna agentdefinitionsfilen.

Skärmbild av Visual Studio agentväljare som visar organisationsagenter, deras källorganisationer och knappar som öppnar agentdefinitioner.

Organisations- och företagsägare konfigurerar dessa agenter i GitHub. Information om hur du konfigurerar finns i Förbereda för att använda anpassade agenter i din organisation eller Förbered för att använda anpassade agenter i företaget.

Anpassade instruktioner på organisationsnivå kräver Visual Studio version 18.8 eller senare. De är åtskilda från anpassade agenter. Organisationsägare använder anpassade instruktioner för att definiera inställningar som Visual Studio automatiskt tillämpar när du arbetar i en organisationslagringsplats. Tillämpade instruktioner visas i Referenser. Inaktivera dem i Visual Studio inställningar. Mer information finns i Använda anpassade instruktioner på organisationsnivå.

Agentfilformat

Varje agentfil använder YAML-frontmaterial följt av Markdown-instruktioner:

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

Tillgängliga modeller varierar beroende på Visual Studio version och efter vilka modeller som är tillgängliga för din Copilot plan. Egenskapen model är valfri, så utelämna den för att använda den modell som valts i modellväljaren. Om du inkluderar egenskapen väljer du en modell som är tillgänglig i din version av Visual Studio.

Egenskaper för frontmaterial

Fastighet Krävs Beskrivning
name Nej. Visningsnamn för agenten i agentväljaren. Om du inte anger den här egenskapen kommer agentnamnet från filnamnet (till exempel code-reviewer.agent.md blir code-reviewer).
description Yes Kort beskrivning som visas när du för muspekaren över agenten
model Nej. AI-modell som ska användas. Om du inte anger den här egenskapen används den modell som valts i modellväljaren.
tools Nej. Matris med verktygsnamn som agenten kan använda. Om du inte anger den här egenskapen aktiveras alla tillgängliga verktyg.

Anmärkning

För vissa anpassade agenter visas verktygsgrupper inaktiverade när du har valt agenten, även om du inte anger egenskapen tools . I vissa sessioner återställs verktygsvalen efter varje uppföljningsmeddelande i samma chatttråd. Om det här villkoret inträffar återaktiverar du nödvändiga verktyg manuellt på panelen Verktyg . För anvisningar och vägledning om rapportering, se Anpassade agentverktygsgrupper startar inaktiverade eller återställs mellan omgångar.

Ange verktyg

Verktyg utökar vad din anpassade agent kan göra. Ange vilka verktyg agenten ska använda i matrisen tools .

Viktigt!

Verktygsnamnen varierar mellan GitHub Copilot plattformar. Kontrollera vilka verktyg som är tillgängliga i Visual Studio specifikt för att se till att din agent fungerar som förväntat. Välj ikonen Verktyg i chattfönstret för att se tillgängliga verktygsnamn.

Språkspecifika verktyg för C++

Agentläget innehåller vanligtvis C++-kodredigeringsverktyg. Om du installerar C++-arbetsbelastningen kan din anpassade agent använda dessa Visual Studio specifika verktygsnamn i matrisentools:

  • get_symbol_call_hierarchy för anropshierarkinavigering
  • get_symbol_class_hierarchy för navigering i klass- och typhierarki

De här verktygen ger agenter språkmedveten navigering för C++ och hjälper till att förbättra precisionen vid analys och redigering av C++-kod.

Ansluta till externa källor med MCP

Med hjälp av MCP-servrar kan dina anpassade agenter komma åt externa kunskapskällor, till exempel:

  • Intern dokumentation och wikis
  • Designsystem och komponentbibliotek
  • API:er och databaser
  • Formatguider och ADR-lagringsplatser

En kodgranskningsagent kan till exempel kontrollera PR mot dina gällande konventioner genom att ansluta till stilguiden via MCP.

Exempel på anpassade agenter

Kodgranskningsagent

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

Exempel på funktionsplaneringsagent

Använd en anpassad funktionsplaneringsagent när du vill ha ett teamspecifikt planeringsarbetsflöde eller extra verktyg utöver den inbyggda planagenten.

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

Designsystemagent

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

Fullstacksutvecklingsagent med Visual Studio verktyg

I följande exempel används Visual Studio specifika verktygsnamn:

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

Tips/Råd

Välj ikonen Tools i fönstret Copilot Chat för att se alla tillgängliga verktygsnamn i din version av Visual Studio.

.NET utvecklingsagenter

.NET-teamet underhåller utvalda anpassade agenter för C# och Windows Forms utveckling i lagringsplatsen awesome-copilot. Så här kommer du igång:

  1. Ladda ned CSharpExpert.agent.md och WinFormsExpert.agent.md.
  2. Lägg till filerna i lagringsplatsens .github/agents/ mapp.
  3. Öppna Copilot Chat i agentläge och välj agenten från agentväljaren.

Tips/Råd

Välj Tools>Options>GitHub>Copilot, och aktivera sedan Aktivera projektspecifika .NET instruktioner, till exempel Windows Forms utveckling i tillämpliga fall för att automatiskt lägga till lämplig anpassad agent för din kodbas.

C#-expert

C#-expertagenten tillämpar moderna C#-konventioner på Copilot kodgenerering:

  • Syntax och prestanda: Följer nuvarande bästa praxis och matchar lagringsplatsens befintliga konventioner.
  • Minimala ändringar: Genererar endast den kod som behövs med hjälp av async/await med korrekt annullering och undantagshantering. Undviker oanvända gränssnitt, metoder eller parametrar.
  • Testning: Stöder beteendedriven enhetstestning, integreringstestning och TDD-arbetsflöden.

WinForms-expert

WinForms Expert-agenten har som mål Windows Forms utveckling på .NET 8 till och med .NET 10:

  • Designer-kodskydd: Förhindrar .Designer.cs skada så att Windows Forms Designer fortsätter att fungera efter Copilot redigeringar.
  • Designmönster för användargränssnitt: MVVM- och MVP-mönster, inklusive Databindning för Community Toolkit.
  • Modern .NET: Rätt InvokeAsync överlagringar, mörkt läge, hög DPI-medvetenhet och nullbara referenstyper.
  • Layout: TableLayoutPanel och FlowLayoutPanel för dynamiska, DPI-medvetna layouter.
  • CodeDOM-serialisering: [DefaultValue] attribut och ShouldSerialize*() metoder för korrekt hantering av designeregenskaper.
  • Undantagshantering: Asynkrona händelsehanterarmönster och undantagshantering på programnivå.

Gemenskapskonfigurationer

awesome-copilot-repot erbjuder agentkonfigurationer från communityn som utgångspunkter. När du använder konfigurationer från den här lagringsplatsen kontrollerar du att verktygsnamn fungerar i Visual Studio innan du distribuerar till ditt team.

Begränsningar och anteckningar

  • Om du inte anger en modell använder agenten den modell som väljs i modellväljaren.
  • Verktygsnamnen varierar mellan GitHub Copilot plattformar. Kontrollera att verktygsnamn fungerar i Visual Studio innan du distribuerar till ditt team.

Dela feedback

Dela dina anpassade agentkonfigurationer på awesome-copilot-lagringsplatsen eller filfeedback via Visual Studio Developer Community. Dina arbetsflöden hjälper dig att forma framtida funktioner.

Använda inbyggda agenter i Visual Studio 2022

Du behöver Visual Studio 2022 version 17.14 eller senare.

Om du vill öppna Copilot Chat väljer du märket GitHub Copilot i det övre högra hörnet av Visual Studio och väljer sedan Öppna chattfönster.

Få åtkomst till inbyggda agenter på två sätt:

  • Agentväljare: I fönstret Copilot Chat väljer du listrutan agentväljare för att se tillgängliga inbyggda agenter.
  • @ syntax: Ange @ följt av agentnamnet i chattindata (till exempel @profiler).

Agentväljaren kan innehålla följande inbyggda agenter. Tillgängligheten kan variera beroende på din Visual Studio 2022-version och installerade arbetsbelastningar.

Handläggare Beskrivning
Sammanhang Kontextanalysagent
GitHub Chatta med GitHub
Profiler Optimera din kod
VS Ställ frågor om Visual Studio
Workspace Fråga om din arbetsyta

Skärmbild av Visual Studio 2022 Copilot Chat agentväljare som visar Kontext, GitHub, Profiler, VS och Arbetsyta.

Använd agenten @context

Agenten @context analyserar kontexten för din begäran för att hjälpa dig att förstå koden du arbetar med.

Exempel på frågor:

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

Använd agenten @profiler

agenten @profiler ansluter till Visual Studio profileringsverktyg för att identifiera och åtgärda prestandaproblem.

Exempel på frågor:

  • @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