Cenários e referências de competências

GitHub Copilot agente de modernização fornece fluxos de trabalho de modernização geridos e de ponta a ponta chamados . Cada cenário guia-o por um tipo específico de atividade em trabalho prático de modernização C++. Esta página documenta os cenários e competências disponíveis para que possa compreender o que o agente pode fazer pelo seu projeto.

Scenarios

Um cenário é um fluxo de trabalho gerido que o guia através de um tipo específico de atividade de modernização.

Como os cenários são descobertos

Não precisas de memorizar nomes de cenários. O agente deteta o tipo de projeto e sugere automaticamente o cenário relevante.

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

Cenários disponíveis

Scenario Tipo de Projeto Description Exemplo de prompt
Atualização do MSVC Build Tools (MSBuild) .sln, .vcxproj Atualiza projetos baseados no MSBuild (.sln, .vcxproj) para uma versão mais recente do MSVC Build Tools e resolve problemas de compilação relacionados com atualizações. "Atualizar os meus projetos para usar a versão mais recente e instalada das Ferramentas de Build MSVC"
Atualização do MSVC Build Tools (CMake) CMake Resolve problemas de compilação relacionados com atualizações nos seus projetos baseados em CMake após configurar o projeto com uma versão mais recente das Ferramentas de Construção MSVC. "Resolver quaisquer problemas de compilação causados pela atualização do meu projeto para usar as mais recentes Ferramentas de Compilação MSVC"

Observação

Se quiser propor ou votar noutros cenários de modernização, visite Developer Community.

Atualização do MSVC Build Tools (MSBuild)

Este cenário trata do fluxo de trabalho completo de atualização para projetos C++ baseados no MSBuild:

  1. Retargeting: Atualiza as definições do projeto para direcionar as ferramentas MSVC Build e Platform Toolset mais recentes e instaladas.
  2. Análise de builds: Constrói a solução e cataloga todos os erros e avisos introduzidos pela atualização.
  3. Atualização de código: Substitui APIs obsoletas, resolve questões de conformidade e ajuda a evitar alterações pré-ajustadas.
  4. Validação: Reconstruções para confirmar que todos os problemas estão resolvidos.

Por exemplo, este cenário aborda questões como:

  • Funções CRT obsoletas, por exemplo, sprintf para sprintf_s.
  • A conformidade C++ altera, por exemplo, uma análise sintática de templates mais rigorosa.
  • Alterações padrão de bibliotecas entre versões MSVC, como espaços de nomes experimentais removidos (por exemplo, std::tr1).
  • Promoções de aviso como erro em conjuntos de ferramentas mais recentes.
  • Erros de ligação para APIs removidos do SDK do Windows.

Atualização do MSVC Build Tools (CMake)

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

  1. Análise de build: Constrói o projeto e cataloga todos os erros e avisos introduzidos pela atualização.
  2. Atualização de código: Substitui APIs obsoletas, resolve questões de conformidade e ajuda a evitar alterações pré-ajustadas.
  3. Validação: Reconstruções para confirmar que todos os problemas estão resolvidos.

Por exemplo, este cenário aborda questões como:

  • Funções CRT obsoletas, por exemplo, sprintf para sprintf_s.
  • A conformidade C++ altera, por exemplo, uma análise sintática de templates mais rigorosa.
  • Alterações padrão de bibliotecas entre versões MSVC, como espaços de nomes experimentais removidos (por exemplo, std::tr1).
  • Promoções de aviso como erro em conjuntos de ferramentas mais recentes.
  • Erros de ligação para APIs removidos do SDK do Windows.

Persistência de cenários

Cada cenário ativo tem a sua própria pasta em .github/upgrades/{scenarioId}. A pasta de cenários contém o plano, progresso da tarefa, as suas preferências e registos de execução. A pasta passa a fazer parte do teu repositório Git.

Competências

As competências são capacidades de modernização menores e direcionadas que o agente utiliza num cenário. Quando o agente encontra um padrão específico durante uma atualização, carrega a habilidade relevante com instruções detalhadas.

Competências carregam automaticamente com base no que o agente deteta na tua base de código. Não precisas de gerir a carga de competências.

Observação

Atualmente, não existem competências adicionais específicas para cenários de modernização em C++.