Use agentes do GitHub Copilot no Visual Studio

Visual Studio inclui agentes GitHub Copilot internos para tarefas de desenvolvimento, como depuração, criação de perfil e teste. Este artigo explica como acessar e usar os agentes disponíveis em sua versão do Visual Studio.

Pré-requisitos

Acessar agentes no Copilot Chat

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

Acesse agentes de duas maneiras:

  • Seletor de agentes: Na janela do Copilot Chat, selecione a lista suspensa do seletor de agentes para ver os agentes disponíveis.
  • @ sintaxe: digite @ seguido pelo nome do agente na entrada de chat (por exemplo, @debugger).

Usar agentes integrados

Cada agente interno se concentra em um fluxo de trabalho de desenvolvedor específico. Esses agentes se integram às ferramentas nativas do Visual Studio de maneiras que um assistente genérico não pode.

Agente Descrição
@debugger Vai além de ler mensagens de erro. Utiliza suas pilhas de chamadas, estado de variáveis e ferramentas de diagnóstico para percorrer o diagnóstico de erros sistematicamente em toda a sua solução.
@git Analisa suas alterações locais não confirmadas e exibe o feedback como comentários embutidos no editor e na interface Alterações do Git.
@profiler Conecta-se à infraestrutura de criação de perfil do Visual Studio para identificar gargalos e sugerir otimizações direcionadas fundamentadas em sua base de código, não em conselhos genéricos.
@test Gera testes unitários ajustados à estrutura e aos padrões do seu projeto, e não código padrão que sua CI rejeita.
@modernize (somente .NET e C++) Gerencia atualizações de estruturas e dependências com reconhecimento do grafo real do projeto. Sinaliza alterações que causam incompatibilidade, gera código de migração e segue seus padrões existentes.
Agente de planejamento Cria e refina planos de implementação antes do início das alterações no código, explorando sua base de código com ferramentas de somente leitura e, em seguida, passa o plano para o modo agente com Implementar plano.

Use o agente @debugger

O @debugger agente ajuda você a diagnosticar erros sistematicamente analisando seu contexto de depuração. Ele também oferece suporte a um fluxo de trabalho de agente completo que reproduz bugs, instrumenta seu aplicativo com pontos de rastreamento e pontos de interrupção condicionais e valida correções usando dados de tempo de execução em tempo real. Para obter mais informações, consulte Resolução de bugs com o Agente Depurador.

Prompts de exemplo:

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

Use o agente @git

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

Prompts de exemplo:

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

Captura de tela de Visual Studio Copilot Chat com a opção de alterações de revisão e agente do Git realçada.

Para obter o fluxo de trabalho de revisão local completo, consulte Examinar as alterações locais com Copilot Chat.

A Seleção de Revisão requer Visual Studio versão 18.8 ou posterior. Para examinar apenas o código selecionado, selecione o código no editor, clique com o botão direito do mouse na seleção e selecione Ações do Copilot>Revisão de Seleção. Copilot adiciona comentários embutidos e pode aplicar ou gerar sugestões. Esse comando usa a mesma experiência de revisão de código do GitHub Copilot que o fluxo de trabalho de Alterações do Git. Para obter mais informações, consulte Examinar o código selecionado.

Use o agente @profiler

O agente @profiler conecta-se às ferramentas de criação de perfil do Visual Studio para ajudar a identificar e corrigir problemas de desempenho.

Prompts de exemplo:

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

Use o agente @test

O @test agente gera testes de unidade que correspondem à estrutura de teste e às convenções do projeto.

Prompts de exemplo:

  • @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 obter um suporte de teste de .NET mais abrangente, consulte GitHub Copilot teste para .NET.

Use o agente @modernize

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

Para workflows de modernização do .NET, o agente dá suporte a um processo em três estágios:

  • Avaliação: revisa as versões do pacote, as opções de estrutura de destino, o inventário de projetos e os riscos de compatibilidade da API.
  • Plano: gera um plano de migração que se alinha às prioridades atuais de avaliação e atualização.
  • Execução da tarefa: funciona por meio de tarefas de modernização com um arquivo de tarefa dinâmico editável à medida que o trabalho progride.

Prompts de exemplo:

  • @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 obter diretrizes de ponta a ponta sobre a modernização do GitHub aplicativo Copilot para .NET, consulte GitHub aplicativo Copilot visão geral da modernização.

Usar agentes de nuvem

No Visual Studio, na versão 18.1 ou posterior, inicie sessões do GitHub Cloud Agent a partir do seletor de agentes no Copilot Chat. Para conectar um repositório, abra uma solução local de um repositório GitHub e entre no GitHub no Visual Studio. O GitHub Copilot agente de codificação alimenta essas sessões remotas. Ele pode criar problemas de repositório e solicitações de pull nesse repositório.

Os agentes de nuvem funcionam apenas com repositórios que o agente de codificação GitHub Copilot pode acessar. Se o repositório ainda não estiver disponível para o agente de codificação, conceda-lhe acesso no GitHub. Visual Studio pode solicitar que você conceda permissões de repositório na primeira vez que iniciar uma sessão na nuvem ou quando a sessão exigir mais permissões. Examine as permissões solicitadas antes de aprová-las.

Criar e usar agentes personalizados

Os agentes personalizados exigem Visual Studio versão 18.4 ou posterior.

Os agentes internos abrangem fluxos de trabalho comuns, mas sua equipe conhece melhor seu fluxo de trabalho. Os agentes personalizados servem de base para agentes adaptados ao fluxo de trabalho da sua equipe: contexto do espaço de trabalho, compreensão de código, seu modelo de IA preferido e suas próprias ferramentas.

Os agentes personalizados são especialmente poderosos quando combinados com o MCP (Protocolo de Contexto do Modelo). Conecte agentes a fontes de conhecimento externas, como documentação interna, sistemas de design, APIs e bancos de dados para que o agente não se limite ao que está em seu repositório.

Defina habilidades de agente reutilizáveis que qualquer agente pode descobrir e usar automaticamente. Embora os agentes definam uma persona e um conjunto de ferramentas, as habilidades fornecem instruções focadas e específicas da tarefa.

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

Captura de tela do seletor de agentes do Visual Studio Copilot Chat com a chamada 1 no botão Criar agente e a chamada 2 no agente personalizado my-agent.

As habilidades internas de .NET e Azure exigem Visual Studio versão 18.8 ou posterior. Visual Studio fornece essas habilidades quando você instala as cargas de trabalho correspondentes. Ao contrário dos agentes internos ou das Habilidades do Agente que você cria, essas habilidades específicas de carga de trabalho aparecem na categoria Interna na guia Habilidades e estão desativadas por padrão. Examine e habilite apenas as habilidades que se aplicam às suas tarefas. Para obter mais informações, consulte Usar habilidades internas de .NET e Azure.

Captura de tela do Visual Studio Copilot Chat com a guia Habilidades mostrando uma habilidade da área de trabalho habilitada e as habilidades internas desativadas.

Criar um agente personalizado

Os agentes personalizados no nível do repositório aplicam-se somente ao repositório em que você os armazena. Para criar um manualmente:

  1. Na raiz do repositório, crie uma .github/agents/ pasta se ela ainda não existir.
  2. Nessa pasta, crie um arquivo cujo nome termina, .agent.mdcomo code-reviewer.agent.md.
  3. Adicione instruções de front matter YAML e markdown usando o formato descrito no formato de arquivo do Agente.
  4. Salve o arquivo.

A estrutura de pasta resultante tem esta aparência:

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

No Visual Studio versão 18.5 ou posterior, selecione o + botão no seletor de agente e siga os prompts para criar um agente personalizado.

Para criar um agente no nível do usuário que funcione em todos os seus projetos, armazene seu arquivo %USERPROFILE%\.github\agents em .agent.md por padrão. Altere esta localização em Ferramentas > Opções > GitHub > Copilot.

Selecionar e verificar um agente personalizado

Depois de criar um agente personalizado:

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

Usar agentes personalizados no nível da organização

Os agentes personalizados no nível da organização exigem Visual Studio versão 18.9 ou posterior e um repositório que pertence a uma organização GitHub.

Os proprietários de organizações no GitHub e os proprietários da empresa podem publicar agentes personalizados para que os membros os usem em todos os repositórios de uma organização. Quando você abre um repositório na organização, Visual Studio detecta automaticamente esses agentes e os adiciona ao seletor de agente.

Para inspecionar um agente personalizado no nível da organização antes de usá-lo:

  1. Abra Copilot Chat e selecione o seletor de agente.
  2. Passe o mouse sobre o agente para exibir sua descrição e organização de origem.
  3. Selecione o botão de definição para abrir o arquivo de definição do agente.

Captura de tela do seletor de agente Visual Studio mostrando agentes da organização, suas organizações de origem e botões que abrem definições de agente.

Os proprietários da organização e da empresa configuram esses agentes no GitHub. Para obter diretrizes de configuração, consulte Preparar para usar agentes personalizados em sua organização ou Preparar para usar agentes personalizados em sua empresa.

As instruções personalizadas no nível da organização exigem Visual Studio versão 18.8 ou posterior. São diferentes de agentes personalizados. Os proprietários da organização usam instruções personalizadas para definir preferências que o Visual Studio aplica automaticamente quando você trabalha em um repositório da organização. As instruções aplicadas aparecem em Referências. Desabilite-os nas configurações de Visual Studio. Para obter mais informações, consulte Usar instruções personalizadas no nível da organização.

Formato de arquivo do agente

Cada arquivo de agente usa 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 de acordo com a versão do Visual Studio e com os modelos disponíveis no seu plano do Copilot. A model propriedade é opcional, portanto, omita-a para usar o modelo selecionado no seletor de modelo. Se você incluir a propriedade, escolha um modelo que esteja disponível em sua versão do Visual Studio.

Propriedades dos elementos pré-textuais

Propriedade Obrigatório Descrição
name Não Nome de exibição para o agente no seletor de agente. Se você não especificar essa propriedade, o nome do agente vem do nome do arquivo (por exemplo, code-reviewer.agent.md torna-se code-reviewer).
description Yes Breve descrição mostrada ao passar o mouse sobre o agente
model Não Modelo de IA a ser usado. Se você não especificar essa propriedade, o modelo selecionado no seletor de modelos será usado.
tools Não Matriz de nomes de ferramentas que o agente pode usar. Se você não especificar essa propriedade, todas as ferramentas disponíveis estarão habilitadas.

Observação

Para alguns agentes personalizados, os grupos de ferramentas aparecem desabilitados depois que você seleciona o agente, mesmo quando você não especifica a tools propriedade. Em algumas sessões, as seleções de ferramentas são redefinidas após cada mensagem subsequente na mesma conversa. Se essa condição ocorrer, habilite manualmente as ferramentas necessárias no painel Ferramentas . Para ver as etapas e as orientações para relatórios, consulte Grupos de ferramentas de agentes personalizados começam desativados ou são redefinidos entre interações.

Especificar ferramentas

As ferramentas estendem o que seu agente personalizado pode fazer. Especifique quais ferramentas o agente deve usar na tools matriz.

Importante

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

Ferramentas específicas de linguagem para C++

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

  • get_symbol_call_hierarchy para navegar pela hierarquia de chamadas
  • get_symbol_class_hierarchy para navegação pela hierarquia de classes e tipos

Essas ferramentas fornecem aos agentes navegação com reconhecimento de linguagem para C++ e ajudam a melhorar a precisão ao analisar e editar código C++.

Conectar-se a fontes externas com MCP

Usando servidores MCP, seus agentes personalizados podem acessar fontes de conhecimento externas, como:

  • Documentação interna e wikis
  • Criar sistemas e bibliotecas de componentes
  • APIs e bancos de dados
  • Guias de estilo e repositórios de ADR

Por exemplo, um agente de revisão de código pode verificar os PRs em relação às suas convenções reais, conectando-se ao seu guia de estilo por meio do MCP.

Exemplo de agentes personalizados

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 planejamento de funcionalidades

Use um agente de planejamento de recursos personalizado quando desejar um fluxo de trabalho de planejamento específico da equipe ou ferramentas extras além do agente de plano interno.

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

Desenvolvedor full-stack com ferramentas do Visual Studio

O exemplo a seguir usa nomes de ferramentas específicos 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.

Dica

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

Agentes de desenvolvimento .NET

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

  1. Baixe CSharpExpert.agent.md e WinFormsExpert.agent.md.
  2. Adicione os arquivos à pasta do .github/agents/ repositório.
  3. Abra o Copilot Chat em modo agente e selecione o agente no seletor de agentes.

Dica

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

Especialista em C#

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

  • Sintaxe e desempenho: segue as práticas recomendadas atuais ao corresponder às convenções existentes do repositório.
  • Alterações mínimas: Gera apenas o código necessário, utilizando async/await com o cancelamento adequado e o tratamento de exceções. Evita interfaces, métodos ou parâmetros não utilizados.
  • Teste: dá suporte a testes de unidade controlados por comportamento, testes de integração e fluxos de trabalho TDD.

Especialista em WinForms

O agente especialista em WinForms tem como alvo o desenvolvimento de Windows Forms no .NET 8 até .NET 10.

  • Proteção de código do Designer: impede a corrupção .Designer.cs para que o Designer do Windows Forms continue funcionando após as edições do Copilot.
  • Padrões de design de interface do usuário: padrões MVVM e MVP, incluindo associação de dados do Kit de Ferramentas da Comunidade.
  • .NET Moderno: sobrecargas InvokeAsync corretas, modo escuro, reconhecimento de DPI alto e tipos de referência anuláveis.
  • Layout: TableLayoutPanel e FlowLayoutPanel para layouts responsivos e com reconhecimento de DPI.
  • Serialização CodeDOM: [DefaultValue] atributos e métodos ShouldSerialize*() para o tratamento adequado das propriedades do designer.
  • Tratamento de exceção: padrões de manipulador de eventos assíncronos e tratamento de exceção no nível do aplicativo.

Configurações de comunidade

O repositório awesome-copilot oferece configurações de agente com contribuição da comunidade como pontos de partida. Quando você usa configurações desse repositório, verifique se os nomes de ferramentas funcionam em Visual Studio antes de implantar em sua equipe.

Limitações e anotações

  • Se você não especificar um modelo, o agente usará qualquer modelo selecionado no seletor de modelos.
  • Os nomes de ferramentas variam entre plataformas de GitHub Copilot. Verifique se os nomes de ferramentas funcionam em Visual Studio antes de implantar em sua equipe.

Compartilhar comentários

Compartilhe suas configurações de agente personalizado no repositório awesome-copilot ou envie um feedback através de Visual Studio Developer Community. Seus fluxos de trabalho ajudam a moldar os recursos futuros.

Usar agentes integrados no Visual Studio 2022

Você precisa do Visual Studio 2022 versão 17.14 ou posterior.

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

Acesse os agentes integrados de duas maneiras:

  • Seletor de agentes: na janela do Copilot Chat, selecione a lista suspensa do seletor de agentes para ver os agentes integrados disponíveis.
  • @ sintaxe: insira @ seguido pelo nome do agente na entrada de chat (por exemplo, @profiler).

O seletor de agentes pode incluir os seguintes agentes integrados. A disponibilidade pode variar de acordo com sua versão Visual Studio 2022 e cargas de trabalho instaladas.

Agente Descrição
Context Agente de análise de contexto
GitHub Conversar com o GitHub
Profiler Otimize seu código
VS Faça perguntas sobre Visual Studio
Workspace Perguntar sobre seu espaço de trabalho

Captura de tela do seletor de agente do Visual Studio 2022 Copilot Chat mostrando Contexto, GitHub, Criador de Perfil, VS e Workspace.

Use o agente @context

O @context agente analisa o contexto de sua solicitação para ajudá-lo a entender o código com o qual você está trabalhando.

Prompts de exemplo:

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

Use o agente @profiler

O agente @profiler conecta-se às ferramentas de criação de perfil do Visual Studio para ajudar a identificar e corrigir problemas de desempenho.

Prompts de exemplo:

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