Referência de cenários e habilidades

GitHub Copilot agente de modernização fornece fluxos de trabalho de modernização gerenciados de ponta a ponta chamados scenarios. Cada cenário orienta você por um tipo específico de atividade no trabalho prático de modernização do C++. Esta página documenta os cenários e as habilidades disponíveis para que você possa entender o que o agente pode fazer para seu projeto.

Scenarios

Um cenário é um fluxo de trabalho gerenciado que orienta você por meio de um tipo específico de atividade de modernização.

Como os cenários são descobertos

Você não precisa memorizar nomes de cenário. O agente detecta o tipo de projeto e sugere o cenário relevante automaticamente.

Para listar os cenários compatíveis com o agente, pergunte "Quais cenários estão disponíveis para meu projeto?" na janela de chat GitHub Copilot.

Cenários disponíveis

Scenario Tipo de projeto Descrição Prompt de exemplo
Atualização do MSVC Build Tools (MSBuild) .sln, .vcxproj Atualiza projetos baseados em MSBuild (.sln, .vcxproj) para uma versão mais recente das Ferramentas de Build do MSVC e resolve problemas de build relacionados à atualização. "Atualizar meus projetos para usar a versão mais recente e instalada das Ferramentas de Build do MSVC"
Atualização das Ferramentas de Build do MSVC (CMake) CMake Resolve problemas de build relacionados à atualização em seus projetos baseados em CMake depois de configurar o projeto com uma versão mais recente das Ferramentas de Build do MSVC. "Resolva os problemas de build causados pela atualização do meu projeto para usar as Ferramentas de Build do MSVC mais recentes"

Note

Se você quiser propor ou atualizar outros cenários de modernização, visite Developer Community.

Atualização do MSVC Build Tools (MSBuild)

Esse cenário lida com o fluxo de trabalho de atualização completo para projetos C++ baseados em MSBuild:

  1. Redirecionamento: atualiza as configurações do projeto para direcionar as ferramentas de build e o conjunto de ferramentas de plataforma do MSVC mais recentes e instalados.
  2. Análise de build: cria a solução e cataloga todos os erros e avisos introduzidos pela atualização.
  3. Atualizando o código: substitui APIs preteridas, resolve problemas de conformidade e ajuda com alterações interruptivas.
  4. Validação: recompila para confirmar se todos os problemas foram resolvidos.

Por exemplo, esse cenário resolve problemas como:

  • Funções crt preteridas, por exemplo, sprintf para sprintf_s.
  • Alterações de conformidade do C++, por exemplo, análise de modelo mais rigorosa.
  • Alterações de biblioteca padrão entre versões do MSVC, como namespaces experimentais removidos (por exemplo std::tr1).
  • Promoções de aviso como erro em conjuntos de ferramentas mais recentes.
  • Erros de vinculador para APIs removidas do SDK do Windows.

Atualização das Ferramentas de Build do MSVC (CMake)

Esse cenário lida com fluxos de trabalho de atualização para projetos C++ baseados em CMake:

  1. Análise de build: cria o projeto e cataloga todos os erros e avisos introduzidos pela atualização.
  2. Atualizando o código: substitui APIs preteridas, resolve problemas de conformidade e ajuda com alterações interruptivas.
  3. Validação: recompila para confirmar se todos os problemas foram resolvidos.

Por exemplo, esse cenário resolve problemas como:

  • Funções crt preteridas, por exemplo, sprintf para sprintf_s.
  • Alterações de conformidade do C++, por exemplo, análise de modelo mais rigorosa.
  • Alterações de biblioteca padrão entre versões do MSVC, como namespaces experimentais removidos (por exemplo std::tr1).
  • Promoções de aviso como erro em conjuntos de ferramentas mais recentes.
  • Erros de vinculador para APIs removidas do SDK do Windows.

Persistência de cenário

Cada cenário ativo obtém sua própria pasta em .github/upgrades/{scenarioId}. A pasta de cenário contém o plano, o progresso da tarefa, suas preferências e os logs de execução. A pasta se torna parte do repositório Git.

Habilidades

As habilidades são recursos de modernização menores e direcionados que o agente usa em um cenário. Quando o agente encontra um padrão específico durante uma atualização, ele carrega a habilidade relevante com instruções detalhadas.

As habilidades são carregadas automaticamente com base no que o agente detecta em sua base de código. Você não precisa gerenciar o carregamento de habilidades.

Note

Atualmente, não há habilidades adicionais específicas para cenários de modernização do C++.