Usa agentes do GitHub Copilot no Visual Studio

O Visual Studio inclui agentes GitHub Copilot integrados para tarefas de desenvolvimento como depuração, perfilação e testes. Este artigo explica como aceder e utilizar os agentes disponíveis na sua versão do Visual Studio.

Pré-requisitos

Aceder aos agentes no Copilot Chat

Para abrir o Copilot Chat, selecione o emblema GitHub Copilot no canto superior direito do Visual Studio e depois selecione Abrir Chat.

Aceder aos agentes de duas formas:

  • Selector de agentes: Na janela do Copilot Chat, selecione a lista pendente do selector de agentes para ver os agentes disponíveis.
  • @ sintaxe: Digite @ seguido do nome do agente na entrada do chat (por exemplo, @debugger).

Use agentes incorporados

Cada agente incorporado foca-se num fluxo de trabalho específico do programador. Estes agentes integram-se com as ferramentas nativas do Visual Studio de formas que um assistente genérico não consegue.

Agente Descrição
@debugger Vai além de ler mensagens de erro. Utiliza as suas pilhas de chamadas, estado das variáveis e ferramentas de diagnóstico para realizar o diagnóstico de erros de forma sistemática em toda a sua solução.
@git Analisa as alterações locais não comprometidas e apresenta feedback como comentários inline no editor e na experiência Git Changes.
@profiler Liga-se à infraestrutura de perfil do Visual Studio para identificar gargalos e sugerir otimizações direcionadas baseadas na sua base de código, não conselhos genéricos.
@test Gera testes unitários ajustados ao framework e padrões do teu projeto, em vez de código genérico que o teu CI rejeita.
@modernize (.NET e C++ apenas) gere atualizações de framework e dependências com conhecimento do gráfico real do projeto. Sinaliza alterações incompatíveis, gera código de migração e segue os seus padrões existentes.
Agente de planeamento Cria e refina planos de implementação antes de se iniciarem as alterações ao código, explorando a sua base de código com ferramentas só de leitura e, em seguida, passa o plano para o modo agente com Implementar plano.

Usa o @debugger agente

O @debugger agente ajuda-o a diagnosticar erros de forma sistemática, analisando o seu contexto de depuração. Também suporta um fluxo de trabalho abrangente de ponta a ponta que reproduz bugs, instrumenta a sua aplicação com pontos de rastreamento e pontos de interrupção condicionais, e valida correções usando dados de execução em tempo real. Para mais informações, consulte Resolução de bugs com agência com o Debugger.

Exemplos de prompts:

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

Usa o @git agente

Use o @git agente para rever alterações locais não comprometidas sem sair do Copilot Chat.

Exemplos de prompts:

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

Captura de ecrã de Visual Studio Copilot Chat com o agente Git e a opção

Para o fluxo completo de revisão local, consulte Rever alterações locais com o Copilot Chat.

A Seleção de Avaliações requer a versão 18.8 ou posterior do Visual Studio. Para rever apenas o código selecionado, selecione o código no editor, clique com o botão direito na seleção e depois selecione Ações do Copilot>Review Selection. O Copilot adiciona comentários em linha e pode aplicar ou gerar sugestões. Este comando utiliza a mesma experiência de revisão de código do GitHub Copilot que o fluxo de trabalho Git Changes. Para mais informações, consulte Rever código selecionado.

Usa o @profiler agente

O agente @profiler liga-se às ferramentas de perfil da Visual Studio para ajudar a identificar e corrigir problemas de desempenho.

Exemplos de prompts:

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

Usa o @test agente

O @test agente gera testes unitários que correspondem à estrutura e convenções de testes do seu projeto.

Exemplos de prompts:

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

Para um suporte mais abrangente aos testes de .NET, consulte GitHub Copilot testes para .NET.

Usa o @modernize agente

O agente @modernize ajuda com migrações de frameworks e atualizações de dependências para projetos .NET e C++.

Para fluxos de trabalho de modernização .NET, o agente suporta um processo em três etapas:

  • Avaliação: Analisa versões de pacotes, opções de framework alvo, inventário de projetos e riscos de compatibilidade com APIs.
  • Plano: Gera um plano de migração alinhado com as prioridades atuais de avaliação e atualização.
  • Execução de tarefas: Realiza tarefas de modernização com um ficheiro dinâmico editável à medida que o trabalho avança.

Exemplos de prompts:

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

Para orientações de ponta a ponta sobre modernização do GitHub aplicação Copilot para .NET, consulte GitHub aplicação Copilot modernization overview.

Utilize agentes da cloud

No Visual Studio versão 18.1 ou posterior, inicie as sessões do GitHub Cloud Agent a partir do seletor de agentes no Copilot Chat. Para ligar um repositório, abra uma solução local a partir de um repositório GitHub e inicie sessão no GitHub no Visual Studio. O agente de programação do GitHub Copilot alimenta estas sessões remotas. Pode criar problemas de repositório e pull requests nesse repositório.

Os agentes cloud funcionam apenas com repositórios que o agente de programação do GitHub Copilot pode aceder. Se o repositório ainda não estiver disponível para o agente de programação, conceda-lhe acesso no GitHub. O Visual Studio pode pedir que conceda permissões ao repositório na primeira vez que inicia uma sessão na cloud ou quando a sessão exige mais permissões. Revise as permissões solicitadas antes de as aprovar.

Criar e usar agentes personalizados

Agentes personalizados requerem Visual Studio versão 18.4 ou posterior.

Os agentes integrados cobrem fluxos de trabalho comuns, mas a sua equipa conhece melhor o seu fluxo de trabalho. Os agentes personalizados fornecem uma base para agentes adaptados ao fluxo de trabalho da sua equipa: consciência do espaço de trabalho, compreensão do código, o seu modelo de IA preferido e as suas próprias ferramentas.

Os agentes personalizados são especialmente poderosos quando combinados com MCP (Model Context Protocol). Ligue agentes a fontes externas de conhecimento, como documentação interna, sistemas de design, APIs e bases de dados, para que o agente não fique limitado ao que está no seu repositório.

Defina Competências de Agente reutilizáveis que qualquer agente possa descobrir e usar automaticamente. Embora os agentes definam uma persona e um conjunto de ferramentas, as competências fornecem instruções focadas e específicas para cada tarefa.

No seletor de agentes, a chamada 1 destaca o + botão para criar um agente, e a chamada 2 destaca uma agente personalizada chamada my-agent.

Captura de ecrã do seletor de agentes do Visual Studio Copilot Chat com o destaque 1 no botão create-agent e o destaque 2 no agente personalizado my-agent.

As competências integradas em .NET e Azure requerem Visual Studio versão 18.8 ou posterior. O Visual Studio fornece estas competências quando instala as respetivas cargas de trabalho. Ao contrário dos agentes incorporados ou das Competências de Agente que crias, estas competências específicas da carga de trabalho aparecem na categoria Incorporadas no separador de Competências e estão desativadas por defeito. Revê e ativa apenas as competências que se aplicam às tuas tarefas. Para mais informações, consulte Utilizar competências integradas em .NET e Azure.

Captura de ecrã do Visual Studio Copilot Chat com o separador Competências a mostrar uma competência do espaço de trabalho ativada e as competências integradas desligadas.

Criar um agente personalizado

Os agentes personalizados ao nível de repositório aplicam-se apenas ao repositório onde os armazena. Para criar um manualmente:

  1. Na raiz do repositório, cria uma .github/agents/ pasta se ainda não existir.
  2. Nessa pasta, crie um ficheiro cujo nome termine em .agent.md, como code-reviewer.agent.md.
  3. Adicione metadados iniciais em YAML e instruções em Markdown, utilizando o formato descrito em Formato de ficheiro Agent.
  4. Salve o arquivo.

A estrutura de pastas resultante é a seguinte:

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

No Visual Studio versão 18.5 ou posterior, selecione o + botão no seletor de agentes e siga as instruções para criar um agente personalizado.

Para criar um agente de utilizador que se aplica a todos os teus projetos, armazena o respetivo ficheiro .agent.md em %USERPROFILE%\.github\agents por defeito. Mude esta localização nas Opções > de Ferramentas > GitHub > Copilot.

Selecione e verifique um agente personalizado

Depois de criar um agente personalizado:

  1. Abra Copilot Chat.
  2. Abra o seletor de agentes e confirme que o agente aparece com o nome e a descrição da sua definição.
  3. Selecione o agente ou invoque-o introduzindo @ seguido do nome do agente na entrada do chat.
  4. Introduza um prompt que teste uma das instruções do agente.
  5. Verifique se a resposta segue o papel e as instruções do agente. Se a definição especificar ferramentas, abra o painel de Ferramentas e verifique se as ferramentas esperadas estão disponíveis.

Use agentes personalizados ao nível da organização

Agentes personalizados ao nível da organização requerem a versão 18.9 ou posterior do Visual Studio e um repositório que pertença a uma organização GitHub.

Os proprietários de organizações e empresas do GitHub podem publicar agentes personalizados para os membros usarem entre repositórios dentro de uma organização. Quando abres um repositório na organização, o Visual Studio deteta automaticamente estes agentes e adiciona-os ao seletor de agentes.

Para inspecionar um agente personalizado ao nível da organização antes de o utilizar:

  1. Abre o Copilot Chat e seleciona o selecionador de agentes.
  2. Passe o rato sobre o agente para ver a sua descrição e a organização de origem.
  3. Selecione o botão de definição para abrir o ficheiro de definição do agente.

Captura de ecrã do seletor de agentes do Visual Studio a mostrar os agentes da organização, as suas organizações de origem e os botões que abrem definições de agentes.

Proprietários de organizações e empresas configuram estes agentes no GitHub. Para orientações de configuração, consulte Prepare-se para usar agentes personalizados na sua organização ou Prepare-se para usar agentes personalizados na sua empresa.

Instruções personalizadas ao nível da organização requerem Visual Studio versão 18.8 ou posterior. São independentes dos agentes alfândegos. Os proprietários de organizações usam instruções personalizadas para definir preferências que o Visual Studio aplica automaticamente quando trabalha num repositório organizacional. As instruções aplicadas aparecem nas Referências. Desativa-os nas definições do Visual Studio. Para mais informações, consulte Usar instruções personalizadas ao nível da organização.

Formato de ficheiro agente

Cada ficheiro de agente utiliza front matter em YAML, seguido de instruções em 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.

Os modelos disponíveis variam consoante a versão do Visual Studio e os modelos disponíveis para o seu plano Copilot. A model propriedade é opcional, por isso omite-a para usar o modelo selecionado no seletor de modelos. Se incluir a propriedade, escolha um modelo disponível na sua versão do Visual Studio.

Propriedades da matéria frontal

Propriedade Obrigatório Descrição
name Não Mostrar o nome do agente no seletor de agentes. Se não especificar esta propriedade, o nome do agente vem do nome do ficheiro (por exemplo, code-reviewer.agent.md torna-se code-reviewer).
description Sim Breve descrição mostrada ao passar o mouse sobre o agente
model Não Modelo de IA para usar. Se não especificar esta propriedade, o modelo selecionado no seletor de modelos é usado.
tools Não Array de nomes de ferramentas que o agente pode usar. Se não especificar esta propriedade, todas as ferramentas disponíveis ficam ativadas.

Observação

Para alguns agentes personalizados, os grupos de ferramentas aparecem desativados depois de selecionares o agente, mesmo quando não especificas a tools propriedade. Em algumas sessões, as seleções das ferramentas são reiniciadas após cada mensagem de seguimento no mesmo tópico de chat. Se esta condição ocorrer, reative manualmente as ferramentas necessárias no painel de Ferramentas . Para passos e orientações de relatório, veja Grupos de ferramentas de agentes personalizados começam desativados ou reiniciam entre turnos.

Especificar ferramentas

As ferramentas estendem o que o seu agente personalizado pode fazer. Especifique que ferramentas o agente deve usar no tools array.

Importante

Os nomes das ferramentas variam entre as plataformas GitHub Copilot. Verifique especificamente as ferramentas disponíveis no Visual Studio para garantir que o seu agente funciona como esperado. Selecione o ícone Ferramentas na janela de chat para ver os nomes das ferramentas disponíveis.

Ferramentas específicas de linguagem para C++

O modo agente geralmente inclui ferramentas de edição de código em C++. Se instalar a carga de trabalho em C++, o seu agente personalizado pode usar estes nomes de ferramentas específicos do Visual Studio no seu tools array:

  • get_symbol_call_hierarchy para navegação por hierarquia de chamadas
  • get_symbol_class_hierarchy para navegação em hierarquia de classes e tipos

Estas ferramentas proporcionam aos agentes uma navegação consciente da linguagem para C++ e ajudam a melhorar a precisão ao analisar e editar código C++.

Liga-te a fontes externas com MCP

Ao utilizar servidores MCP, os seus agentes personalizados podem aceder a fontes externas de conhecimento tais como:

  • Documentação interna e wikis
  • Sistemas de conceção e bibliotecas de componentes
  • APIs e bases de dados
  • Guias de estilo e repositórios ADR

Por exemplo, um agente de revisão de código pode verificar os PRs com as suas convenções reais, ligando-se ao seu guia de estilo através do MCP.

Exemplos de agentes aduaneiros

Agente de revisão de código

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

Exemplo de agente de planeamento de funcionalidades

Use um agente de planeamento de funcionalidades personalizado quando quiser um fluxo de trabalho específico para a equipa ou ferramentas adicionais para além do agente de planeamento incorporado.

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

Agente do sistema de projeto

---
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 de desenvolvimento full-stack com ferramentas do Visual Studio

O exemplo seguinte utiliza nomes de ferramentas específicas do 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.

Sugestão

Selecione o ícone Tools na janela Copilot Chat para ver todos os nomes de ferramentas disponíveis na sua versão do Visual Studio.

Agentes de desenvolvimento .NET

A equipa .NET mantém agentes personalizados selecionados para desenvolvimento em C# e Windows Forms no repositório awesome-copilot. Para começar:

  1. Descarregue CSharpExpert.agent.md e WinFormsExpert.agent.md.
  2. Adicione os ficheiros à pasta do .github/agents/ seu repositório.
  3. Abre o Copilot Chat em modo agente e seleciona o agente no seletor de agentes.

Sugestão

Selecione Tools>Options>GitHub>Copilot, e depois ative Ative instruções de .NET específicas do projeto, como Windows Forms desenvolvimento, quando aplicável para adicionar automaticamente o agente personalizado apropriado para a sua base de código.

Especialista em C#

O agente C# Expert aplica as convenções modernas de C# à geração de código do Copilot:

  • Sintaxe e desempenho: Segue as melhores práticas atuais enquanto corresponde às convenções existentes do seu repositório.
  • Alterações mínimas: Gera apenas o código necessário, usando async/await com cancelamento adequado e gestão de exceções. Evita interfaces, métodos ou parâmetros não utilizados.
  • Testes: Suporta testes unitários orientados pelo comportamento, testes de integração e fluxos de trabalho TDD.

Especialista em WinForms

O agente WinForms Expert tem como alvo o desenvolvimento do Windows Forms em .NET 8 até .NET 10:

  • Proteção do código do designer: Previne a corrupção .Designer.cs de forma que o Windows Forms Designer continue a funcionar após as edições do Copilot.
  • Padrões de design de interface: padrões MVVM e MVP, incluindo a ligação de dados Community Toolkit.
  • Modern .NET: Sobrecargas corretas InvokeAsync, modo escuro, consciência de alto DPI e tipos de referência anuláveis.
  • Layout: TableLayoutPanel e FlowLayoutPanel para layouts responsivos, conscientes do DPI.
  • Serialização CodeDOM: [DefaultValue] atributos e ShouldSerialize*() métodos para o tratamento adequado de propriedades projetistas.
  • Tratamento de exceções: padrões de gestores de eventos assíncronos e tratamento de exceções ao nível da aplicação.

Configurações comunitárias

O repositório awesome-copilot oferece configurações de agentes contribuídas pela comunidade como pontos de partida. Quando usar configurações deste repositório, verifique se os nomes das ferramentas funcionam no Visual Studio antes de implementar para a sua equipa.

Limitações e notas

  • Se não especificares um modelo, o agente usa o modelo selecionado no selector de modelos.
  • Os nomes das ferramentas variam entre as plataformas GitHub Copilot. Verifica se os nomes das ferramentas funcionam no Visual Studio antes de implementares na tua equipa.

Partilhar comentários

Partilhe as suas configurações de agentes personalizados no repositório awesome-copilot ou envie feedback através do Visual Studio Developer Community. Os seus fluxos de trabalho ajudam a moldar as funcionalidades futuras.

Use agentes integrados no Visual Studio 2022

Precisas do Visual Studio 2022 versão 17.14 ou posterior.

Para abrir o Copilot Chat, selecione o emblema GitHub Copilot no canto superior direito do Visual Studio e depois selecione Abrir Janela de Chat.

Aceder aos agentes incorporados de duas formas:

  • Seletor de agentes: Na janela do Copilot Chat, selecione o menu suspenso do seletor de agentes para ver os agentes incorporados disponíveis.
  • @ sintaxe: Enter @ seguido do nome do agente na entrada do chat (por exemplo, @profiler).

O seletor de agentes pode incluir os seguintes agentes incorporados. A disponibilidade pode variar consoante a versão do Visual Studio 2022 e as cargas de trabalho instaladas.

Agente Descrição
Contexto Agente de análise de contexto
GitHub Converse com o GitHub
Gerador de perfis Otimize o seu código
VS Faça perguntas sobre o Visual Studio
Workspace Pergunte sobre o seu espaço de trabalho

Captura de ecrã do seletor de agentes do Copilot Chat do Visual Studio 2022 que mostra Context, GitHub, Profiler, VS e Workspace.

Usa o @context agente

O @context agente analisa o contexto do seu pedido para o ajudar a compreender o código com que está a trabalhar.

Exemplos de prompts:

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

Usa o @profiler agente

O agente @profiler liga-se às ferramentas de perfil da Visual Studio para ajudar a identificar e corrigir problemas de desempenho.

Exemplos de prompts:

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