Usare agenti di GitHub Copilot in Visual Studio

Visual Studio include agenti di GitHub Copilot predefiniti per attività di sviluppo, ad esempio debug, profilatura e test. Questo articolo illustra come accedere e usare gli agenti disponibili nella versione di Visual Studio.

Prerequisiti

Accedere agli agenti in Copilot Chat

Per aprire Copilot Chat, selezionare il badge GitHub Copilot nell'angolo superiore destro del Visual Studio e quindi selezionare Apri chat.

Accedere agli agenti in due modi:

  • Selezione agente: nella finestra Copilot Chat selezionare l'elenco a discesa selezione agente per visualizzare gli agenti disponibili.
  • Sintassi @: digitare @ seguito dal nome dell'agente nell'input della chat (ad esempio, @debugger).

Usare agenti predefiniti

Ogni agente predefinito è incentrato su un flusso di lavoro specifico per sviluppatori. Questi agenti si integrano con gli strumenti nativi di Visual Studio in modi che un assistente generico non può.

Agente Descrizione
@debugger Va oltre la lettura dei messaggi di errore. Usa gli stack di chiamate, lo stato delle variabili e gli strumenti di diagnostica per analizzare sistematicamente la diagnosi degli errori nella tua soluzione.
@git Esamina le modifiche locali di cui non è stato eseguito il commit e visualizza il feedback come commenti inline nell'editor e nell'esperienza Modifiche Git.
@profiler Si inserisce nell'infrastruttura di profilatura di Visual Studio per identificare le strozzature e suggerire ottimizzazioni mirate basate sulla tua codebase, anziché fornire consigli generici.
@test Genera unit test ottimizzati per il framework e i modelli del progetto, anziché boilerplate che la CI/CD rigetta.
@modernize (solo .NET e C++) Gestisce gli aggiornamenti del framework e delle dipendenze con la consapevolezza del grafico effettivo del progetto. Contrassegna le modifiche che causano un'interruzione, genera codice di migrazione e segue i modelli esistenti.
Agente di pianificazione Crea e affina i piani di implementazione prima che le modifiche al codice inizino esplorando la codebase con strumenti di sola lettura, quindi passa il piano alla modalità agente con Implement plan (Implementa piano).

Utilizzare l'agente @debugger

L'agente @debugger consente di diagnosticare gli errori sistematicamente analizzando il contesto di debug. Supporta anche un flusso di lavoro agente end-to-end che riproduce bug, strumentalizza la tua applicazione con punti di tracciamento e punti di interruzione condizionali, e convalida le correzioni utilizzando dati di runtime in tempo reale. Per ulteriori informazioni, consultare la risoluzione agentica dei bug con il Debugger Agent.

Prompt di esempio:

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

Utilizzare l'agente @git

Usa l'@gitagente per esaminare le modifiche locali non sottoposte a commit senza uscire da Copilot Chat.

Prompt di esempio:

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

Schermata di Visual Studio Copilot Chat con il Git agent e l'opzione Review changes evidenziati.

Per il flusso di lavoro di revisione locale completo, vedere Esaminare le modifiche locali con Copilot Chat.

Review Selection richiede Visual Studio versione 18.8 o successiva. Per esaminare solo il codice selezionato, selezionare il codice nell'editor, fare clic con il pulsante destro del mouse sulla selezione e quindi selezionare Azioni di Copilot>Visualizzazione selezione. Copilot aggiunge commenti inline e può applicare o generare suggerimenti. Questo comando usa la stessa esperienza di revisione del codice di GitHub Copilot del flusso di lavoro Git Changes. Per altre informazioni, vedere Esaminare il codice selezionato.

Utilizzare l'agente @profiler

L'agente @profiler si connette agli strumenti di profilatura di Visual Studio per identificare e risolvere i problemi di prestazioni.

Prompt di esempio:

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

Utilizzare l'agente @test

L'agente @test genera unit test che corrispondono al framework e alle convenzioni di test del progetto.

Prompt di esempio:

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

Per un supporto più completo dei test di .NET, vedere GitHub Copilot test per .NET.

Utilizzare l'agente @modernize

L'agente @modernize consente di eseguire migrazioni del framework e aggiornamenti delle dipendenze per progetti .NET e C++.

Per i flussi di lavoro di modernizzazione .NET, l'agente supporta un processo a tre fasi:

  • Valutazione: esamina le versioni dei pacchetti, le opzioni del framework di destinazione, l'inventario del progetto e i rischi di compatibilità delle API.
  • Piano: genera un piano di migrazione in linea con la valutazione corrente e le priorità di aggiornamento.
  • Esecuzione delle attività: porta avanti le attività di modernizzazione con un file dinamico delle attività modificabile con l’avanzare del lavoro.

Prompt di esempio:

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

Per indicazioni end-to-end sulla modernizzazione dell'app GitHub Copilot per .NET, vedere la panoramica sulla modernizzazione dell'app GitHub Copilot.

Usa gli agenti cloud

In Visual Studio versione 18.1 o successiva, avvia le sessioni di GitHub Cloud Agent dal selettore dell'agente in Copilot Chat. Per connettere un repository, aprire una soluzione locale da un repository GitHub e accedere a GitHub in Visual Studio. L'agente di codifica GitHub Copilot supporta queste sessioni remote. Può creare problemi di repository e richieste pull in tale repository.

Gli agenti cloud funzionano solo con i repository a cui l'agente di codifica GitHub Copilot può accedere. Se il repository non è già disponibile per l'agente di codifica, concedere l'accesso in GitHub. Visual Studio potrebbe richiedere di concedere le autorizzazioni del repository la prima volta che si avvia una sessione cloud o quando la sessione richiede più autorizzazioni. Esaminare le autorizzazioni richieste prima di approvarle.

Creare e usare agenti personalizzati

Gli agenti personalizzati richiedono Visual Studio versione 18.4 o successiva.

Gli agenti predefiniti coprono flussi di lavoro comuni, ma il team conosce meglio il flusso di lavoro. Gli agenti personalizzati costituiscono la base per agenti adattati al flusso di lavoro del tuo team: conoscenza dell'area di lavoro, comprensione del codice, il tuo modello di IA preferito e i tuoi strumenti.

Gli agenti personalizzati sono particolarmente potenti se combinati con MCP (Model Context Protocol). Connettere gli agenti a origini di informazioni esterne, ad esempio documentazione interna, sistemi di progettazione, API e database, in modo che l'agente non sia limitato a ciò che si trova nel repository.

Definire competenze dell'agente riutilizzabili che qualsiasi agente può individuare e usare automaticamente. Mentre gli agenti definiscono una persona e un set di strumenti, le competenze forniscono istruzioni specifiche per l'attività.

Nella selezione agente, callout 1 evidenzia il + pulsante per la creazione di un agente e callout 2 evidenzia un agente personalizzato denominato my-agent.

Schermata del selettore degli agenti di Visual Studio Copilot Chat con il richiamo 1 sul pulsante create-agent e il richiamo 2 sull'agente personalizzato my-agent.

Le competenze predefinite .NET e Azure richiedono Visual Studio versione 18.8 o successiva. Visual Studio fornisce queste competenze quando si installano i carichi di lavoro corrispondenti. A differenza degli agenti predefiniti o delle competenze dell'agente create, queste competenze specifiche del carico di lavoro vengono visualizzate nella categoria Predefinita nella scheda Competenze e sono disattivate per impostazione predefinita. Esaminare e abilitare solo le competenze applicabili alle attività. Per altre informazioni, vedi Usare le competenze predefinite di .NET e Azure.

Schermata di Visual Studio Copilot Chat con la scheda Competenze, in cui è abilitata un'abilità dell'area di lavoro e sono disattivate le abilità integrate.

Creare un agente personalizzato

Gli agenti personalizzati a livello di repository si applicano solo al repository in cui vengono archiviati. Per crearne uno manualmente:

  1. Nella radice del repository, creare una cartella .github/agents/ se non esiste già.
  2. In tale cartella creare un file il cui nome termina in .agent.md, ad esempio code-reviewer.agent.md.
  3. Aggiungi l'intestazione YAML e le istruzioni Markdown usando il formato descritto in formato del file Agent.
  4. Salva il file.

La struttura di cartelle risultante è simile alla seguente:

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

In Visual Studio versione 18.5 o successiva selezionare il + pulsante nella selezione agente e seguire le istruzioni per creare un agente personalizzato.

Per creare un agente a livello utente valido per tutti i progetti, archiviare il relativo file .agent.md in %USERPROFILE%\.github\agents per impostazione predefinita. Modificare questa posizione in Strumenti > Opzioni > GitHub > Copilot.

Selezionare e verificare un agente personalizzato

Dopo aver creato un agente personalizzato:

  1. Apri Copilot Chat.
  2. Apri il selettore agenti e conferma che l'agente sia visualizzato con il nome e la descrizione indicati nella sua definizione.
  3. Selezionare l'agente o richiamarlo immettendo @ seguito dal nome dell'agente nell'input della chat.
  4. Inserisci un prompt che metta alla prova una delle istruzioni dell'agente.
  5. Verificare che la risposta segua il ruolo e le istruzioni dell'agente. Se la definizione specifica gli strumenti, aprire il pannello Strumenti e verificare che gli strumenti previsti siano disponibili.

Usare agenti personalizzati a livello di organizzazione

Gli agenti personalizzati a livello di organizzazione richiedono Visual Studio versione 18.9 o successiva e un repository appartenente a un'organizzazione GitHub.

I proprietari delle organizzazioni GitHub e delle aziende possono pubblicare agenti personalizzati che i membri possono utilizzare in tutti i repository di un'organizzazione. Quando si apre un repository nell'organizzazione, Visual Studio rileva automaticamente questi agenti e li aggiunge alla selezione agente.

Per esaminare un agente personalizzato a livello di organizzazione prima di usarlo:

  1. Apri Copilot Chat e seleziona il selettore agente.
  2. Passare il puntatore del mouse sull'agente per visualizzarne la descrizione e l'organizzazione di origine.
  3. Selezionare il pulsante definizione per aprire il file di definizione dell'agente.

Schermata del selettore di agenti di Visual Studio che mostra gli agenti dell'organizzazione, le relative organizzazioni di origine e i pulsanti che aprono le definizioni degli agenti.

I proprietari dell'organizzazione e dell'azienda configurano questi agenti in GitHub. Per indicazioni sulla configurazione, vedere Preparare l'uso di agenti personalizzati nell'organizzazione o Preparare l'uso di agenti personalizzati nell'organizzazione.

Le istruzioni personalizzate a livello di organizzazione richiedono Visual Studio versione 18.8 o successiva. Sono distinti dagli agenti personalizzati. I proprietari dell'organizzazione utilizzano istruzioni personalizzate per definire preferenze che Visual Studio applica automaticamente quando lavori in un repository dell'organizzazione. Le istruzioni applicate vengono visualizzate in Riferimenti. Disabilitarli nelle impostazioni di Visual Studio. Per altre informazioni, vedere Usare istruzioni personalizzate a livello di organizzazione.

Formato del file dell'agente

Ogni file dell'agente utilizza un'intestazione YAML seguita da istruzioni 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.

I modelli disponibili variano in base alla versione Visual Studio e ai modelli disponibili per il piano di Copilot. La proprietà model è facoltativa, quindi puoi ometterla per usare il modello selezionato nel selettore del modello. Se specifichi la proprietà, scegli un modello tra quelli disponibili nella tua versione di Visual Studio.

Proprietà delle pagine preliminari

Proprietà Obbligatorio Descrizione
name NO Nome visualizzato per l'agente nel selettore di agenti. Se non si specifica questa proprietà, il nome dell'agente proviene dal nome del file , ad esempio code-reviewer.agent.md diventa code-reviewer.
description Sì Breve descrizione visualizzata quando si passa il puntatore del mouse sull'agente
model NO Modello di intelligenza artificiale da usare. Se non si specifica questa proprietà, viene usato il modello selezionato nella selezione del modello.
tools NO Matrice di nomi degli strumenti che l'agente può usare. Se non si specifica questa proprietà, tutti gli strumenti disponibili sono abilitati.

Annotazioni

Per alcuni agenti personalizzati, i gruppi di strumenti vengono visualizzati disabilitati dopo aver selezionato l'agente, anche quando non si specifica la tools proprietà . In alcune sessioni, le selezioni degli strumenti vengono reimpostate dopo ogni messaggio di completamento nello stesso thread di chat. Se questa condizione si verifica, riabilitare manualmente gli strumenti necessari nel pannello Strumenti . Per i passaggi e le indicazioni per la segnalazione, vedere I gruppi di strumenti dell'agente personalizzati sono inizialmente disabilitati o vengono reimpostati tra un turno e l'altro.

Specificare gli strumenti

Gli strumenti estendono le operazioni che l'agente personalizzato può eseguire. Specificare gli strumenti che l'agente deve usare nella tools matrice.

Importante

I nomi degli strumenti variano in base alle piattaforme GitHub Copilot. Controllare gli strumenti disponibili in Visual Studio specificamente per assicurarsi che l'agente funzioni come previsto. Selezionare l'icona Strumenti nella finestra di chat per visualizzare i nomi degli strumenti disponibili.

Strumenti specifici del linguaggio per C++

La modalità agente include in genere strumenti di modifica del codice C++. Se si installa il carico di lavoro C++, l'agente personalizzato può usare questi nomi di strumenti specifici Visual Studio nella relativa tools matrice:

  • get_symbol_call_hierarchy per la navigazione nella gerarchia delle chiamate
  • get_symbol_class_hierarchy per la navigazione nella gerarchia di classi e tipi

Questi strumenti offrono agli agenti lo spostamento compatibile con il linguaggio per C++ e consentono di migliorare la precisione durante l'analisi e la modifica del codice C++.

Connettersi a fonti esterne con MCP

Usando i server MCP, gli agenti personalizzati possono accedere a origini di informazioni esterne, ad esempio:

  • Documentazione interna e wiki
  • Progettare sistemi e librerie di componenti
  • API e database
  • Guide di stile e repository ADR

Ad esempio, un agente di revisione del codice può controllare le pull request rispetto alle convenzioni effettive connettendosi alla guida di stile tramite MCP.

Esempi di agenti personalizzati

Agente di revisione del codice

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

Esempio dell'agente di pianificazione delle funzionalità

Usare un agente di pianificazione delle funzionalità personalizzato quando si vuole un flusso di lavoro di pianificazione specifico del team o strumenti aggiuntivi oltre all'agente di piano predefinito.

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

Progettare l'agente di sistema

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

Agente di sviluppo full-stack con strumenti di Visual Studio

Nell'esempio seguente vengono utilizzati i nomi di strumenti specifici di 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.

Suggerimento

Selezionare l'icona Tools nella finestra Copilot Chat per visualizzare tutti i nomi degli strumenti disponibili nella versione di Visual Studio.

.NET agenti di sviluppo

Il team .NET gestisce agenti personalizzati curati per lo sviluppo di C# e Windows Forms nel repository awesome-copilot. Per iniziare:

  1. Scarica CSharpExpert.agent.md e WinFormsExpert.agent.md.
  2. Aggiungere i file alla cartella .github/agents/ del repository.
  3. Apri Copilot Chat in modalità agente e seleziona l'agente dal selettore dell'agente.

Suggerimento

Selezionare Tools>Options>GitHub>Copilot, e quindi abilitare Abilitare istruzioni di .NET specifiche del progetto, ad esempio Windows Forms sviluppo, se applicabile per aggiungere automaticamente l'agente personalizzato appropriato per la codebase.

Esperto C#

L'agente C# Expert applica le convenzioni C# moderne alla generazione di codice di Copilot:

  • Sintassi e prestazioni: segue le procedure consigliate correnti corrispondenti alle convenzioni esistenti del repository.
  • Modifiche minime: genera solo il codice necessario, usando async/await con l'annullamento e la gestione delle eccezioni appropriate. Evita interfacce, metodi o parametri inutilizzati.
  • Test: supporta unit test basati sul comportamento, test di integrazione e flussi di lavoro TDD.

Esperto di WinForms

L'agente WinForms Expert è destinato allo sviluppo di Windows Forms su .NET 8 fino a .NET 10:

  • protezione del codice Designer: impedisce il danneggiamento del codice in .Designer.cs per far sì che il Windows Forms Designer continui a funzionare dopo le modifiche di Copilot.
  • Modelli di progettazione dell'interfaccia utente: modelli MVVM e MVP, incluso il data binding di Community Toolkit.
  • Modern .NET: correggere gli overload di InvokeAsync, la modalità scura, la consapevolezza con valori DPI elevati e i tipi riferimento nullable.
  • Layout: TableLayoutPanel e FlowLayoutPanel per layout reattivi e consapevoli del DPI.
  • Serializzazione CodeDOM: [DefaultValue] attributi e ShouldSerialize*() metodi per la corretta gestione delle proprietà del designer.
  • Gestione delle eccezioni: modelli del gestore eventi asincroni e gestione delle eccezioni a livello di applicazione.

Configurazioni della community

Il repository awesome-copilot offre configurazioni dell'agente fornite dalla community come punti di partenza. Quando si usano configurazioni da questo repository, verificare che i nomi degli strumenti funzionino in Visual Studio prima della distribuzione nel team.

Limitazioni e note

  • Se non si specifica un modello, l'agente usa qualsiasi modello selezionato nella selezione del modello.
  • I nomi degli strumenti variano in base alle piattaforme GitHub Copilot. Verificare che i nomi degli strumenti funzionino in Visual Studio prima di eseguire la distribuzione nel team.

Condividere commenti e suggerimenti

Condividere le configurazioni dell'agente personalizzato nel repository awesome-copilot o inviare commenti e suggerimenti tramite Visual Studio Developer Community. I flussi di lavoro consentono di modellare le funzionalità future.

Usare agenti predefiniti in Visual Studio 2022

È necessario Visual Studio 2022 versione 17.14 o successiva.

Per aprire Copilot Chat, selezionare il badge GitHub Copilot nell'angolo in alto a destra di Visual Studio e quindi selezionare Apri finestra chat.

Accedere agli agenti predefiniti in due modi:

  • Selezione agente: nella finestra Copilot Chat selezionare l'elenco a discesa selezione agente per visualizzare gli agenti predefiniti disponibili.
  • @ sintassi: immettere @ seguito dal nome dell'agente nell'input della chat (ad esempio, @profiler).

Il selettore di agenti può includere i seguenti agenti integrati. La disponibilità può variare in base alle Visual Studio versione 2022 e ai carichi di lavoro installati.

Agente Descrizione
Contesto Agente di analisi del contesto
GitHub Chat con GitHub
Profiler Ottimizza il tuo codice
VS Porre domande su Visual Studio
Workspace Chiedere informazioni sull'area di lavoro

Schermata del selettore dell'agente di Copilot Chat in Visual Studio 2022 che mostra Context, GitHub, Profiler, VS e Workspace.

Utilizzare l'agente @context

L'agente @context analizza il contesto per la richiesta per comprendere il codice con cui si sta lavorando.

Prompt di esempio:

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

Utilizzare l'agente @profiler

L'agente @profiler si connette agli strumenti di profilatura di Visual Studio per identificare e risolvere i problemi di prestazioni.

Prompt di esempio:

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