Solucionar problemas na modernização para C++ do GitHub Copilot

Este artigo ajuda você a resolver problemas comuns ao usar a modernização do GitHub Copilot para atualizar seus projetos em C++. Se você encontrar um problema não abordado aqui, use Help>Send Feedback>Reportar um problema em Visual Studio.

Antes de começar

Verifique se a solução ou o projeto compila

Para cenários de atualização do MSVC, o agente valida as alterações criando sua solução ou projeto. Se sua solução ou projeto já estiver interrompido antes de você começar, o agente terá maior dificuldade em distinguir problemas pré-existentes de problemas introduzidos pela atualização.

Se você tiver problemas conhecidos de build, documente-os em instruções personalizadas, forneça-os em sua resposta quando o agente solicitar contexto durante o estágio de avaliação ou adicioná-los para scenario-instructions.md que o agente saiba ignorá-los.

Confirmar ou esconder trabalho não confirmado

Comece com um diretório de trabalho limpo. O agente faz confirmações conforme funciona e a combinação de alterações não confirmadas com as modificações do agente dificulta a revisão ou a reversão de alterações.

git stash
git status

Fazer backup de repositórios não Git

O agente também pode trabalhar com pastas que não estão sob controle do código-fonte. Se o projeto não estiver em um repositório Git, o agente ignorará as operações de ramificação e confirmação. Faça backup da pasta do projeto antes de começar para restaurá-la, se necessário.

Tip

Considere inicializar um repositório Git local antes de começar, mesmo que você não faça push para um repositório remoto. Isso oferece uma maneira de reverter as alterações individuais e acompanhar o progresso passo a passo.

Exemplo:

git init
git add
git commit -m "Initial Commit"

Quando você e o agente terminarem, se você não quiser continuar usando o git, apenas verifique se o código atualmente em sua árvore de trabalho é o que você deseja e exclua o .git diretório no diretório em que você executou git init.

Problemas comuns

O agente não aparece no Copilot Chat

Symptoms: digitar @Modernize na janela de chat GitHub Copilot não ativa o agente ou Modernize não aparece no menu de contexto Gerenciador de Soluções.

Soluções:

  1. Verifique se Visual Studio é a versão 18.7 ou posterior no Help>About Microsoft Visual Studio.
  2. Verifique se GitHub Copilot está ativo verificando o ícone Copilot na barra de status.
  3. Verifique se o recurso está habilitado em ToolsOptions< >GitHubCopilotC/C++. Em seguida, selecione Habilitar a modernização do C++ com o GitHub Copilot.
  4. Reinicie Visual Studio depois de alterar as configurações.

O agente fica preso em um loop

Sintomas: O agente tenta repetidamente a mesma correção sem fazer progresso.

Soluções:

  • Interrompa o agente com o botão Cancelar na janela de prompt do Copilot Chat, descreva o que você está observando no prompt e envie o prompt para retomar o agente.
  • Forneça uma correção manual e informe ao agente o que você alterou. O agente aprende com sua correção.
  • Peça ao agente para tentar uma abordagem diferente. Por exemplo, digite na janela de chat GitHub Copilot: "Essa correção não está funcionando. Tente uma estratégia diferente."
  • Se necessário, reverta ou desfaça as últimas alterações e reinicie a tarefa.

Soluções grandes demoram muito

Sintomas: a atualização de uma solução grande com muitos projetos leva muito tempo ou parece paralisar.

Soluções:

  • Comece com um projeto representativo como piloto. Isso apresenta problemas sistêmicos cedo.
  • Monitore o progresso revisando tasks.md em .github/upgrades/{SCENARIO ID}.
  • Se uma sessão expirar, inicie uma nova sessão. O agente continua de onde parou.

Estratégias de recuperação

Desfazer todas as alterações

Se você usou um branch do Git para a atualização, desfaça tudo:

git checkout your-original-branch
git branch -D upgrade-branch

Seu código original está intocado.

Desfazer a última alteração

Reverta a confirmação mais recente:

git revert HEAD

Ou diga ao agente, Revert the last change.

Reiniciar a partir de um estágio específico

Se o plano do agente não estiver funcionando, reinicie de um estágio anterior enviando um prompt semelhante a:

  • Let's redo the plan. I want a different approach to the conformance issues.
  • Go back to the assessment and reconsider the upgrade strategy.

Iniciar novamente

Exclua a .github/upgrades/{SCENARIO ID} pasta e inicie uma nova conversa com o agente. Começa do zero.

Obter ajuda

Se você não conseguir resolver um problema:

  1. Use Help>Send Feedback>Reportar um problema em Visual Studio.
  2. Inclua o conteúdo de execution-log.md de .github/upgrades/{SCENARIO ID}, se possível.