A extensão de modernização do aplicativo GitHub Copilot em Visual Studio Code automatiza atualizações de Java identificando estruturas desatualizadas, APIs preteridas e bloqueadores de atualização. Agente de codificação do Copilot aplica alterações de código, resolve problemas de compilação e CVE, e atualiza arquivos de compilação para você.
As recomendações e relatórios produzidos pela extensão podem ajudar suas equipes a adotar novas tecnologias rapidamente e reduzir a dívida técnica. Copilot guia você nas atualizações com etapas e resumos acionáveis, acelera e protege suas migrações, além de reduzir o esforço manual.
Para obter recursos de extensão, configuração e instruções de interface do usuário, consulte a documentação de modernização do aplicativo GitHub Copilot na documentação da Microsoft.
Estrutura de modernização
Quando você iniciar uma sessão de agente usando a extensão de atualização do Java, a extensão ajudará você a modernizar seu aplicativo Java usando a estrutura a seguir.
-
**Execute tarefas de avaliação**. A extensão pode analisar código, configuração e dependências, fornecendo uma avaliação do estado atual do aplicativo. -
**Crie um plano de modernização personalizável**. Com base na avaliação, a extensão pode sugerir um caminho de modernização, incluindo as atualizações necessárias da estrutura e da biblioteca. -
**Identificação antecipada de problemas**. A extensão identifica dependências, bibliotecas desatualizadas e recursos de linguagem e possíveis problemas de migração. A extensão fornece estratégias acionáveis para corrigir problemas. -
**Personalize seu plano**. Edite o plano de modernização para as necessidades específicas do aplicativo, como incorporar padrões e práticas organizacionais, excluir determinados componentes ou priorizar recursos específicos ou padrões de design. -
**Implemente seu plano**. A extensão pode ajudar na aplicação de alterações de código, atualização de arquivos de build, refatoração de APIs preteridas e resolução de problemas de build e sintaxe. A extensão corrigirá automaticamente os erros de build e executará validações de teste após cada etapa para garantir a estabilidade e as alterações sem erros. <!-- markdownlint-disable-line GHD046 --> -
**Examine suas alterações**. A extensão pode produzir um relatório de atualização detalhado, resumindo as alterações aplicadas e listando quaisquer problemas não corrigidos e as etapas restantes para sua modernização. -
**Gerar testes de unidade**. A extensão avalia automaticamente os testes existentes e gera novos arquivos de teste e os adiciona ao workspace. Um relatório é produzido resumindo os resultados do teste de pré e pós-geração. -
**Conteinerize seu aplicativo**. A extensão pode gerar automaticamente Dockerfiles, criar imagens e validar tudo para que seu aplicativo modernizado seja executado dentro dos serviços de contêiner, como o AKS (Serviço de Kubernetes do Azure), os Aplicativos de Contêiner do Azure (ACA) e o AKS Automatic, permitindo uma implantação e escalabilidade mais fáceis. -
**Prepare-se para a implantação**. A extensão pode ajudá-lo a preparar seu aplicativo para contêinerização e implantação, gerando artefatos de implantação, como scripts e configurações. -
**Automatizar a implantação no Azure**. A extensão pode ajudá-lo a implantar ou provisionar seu aplicativo modernizado no Azure, gerando artefatos necessários e recursos do Azure e executando etapas de execução.
Você pode melhorar a compreensão da equipe sobre o código-fonte do aplicativo e economizar tempo e esforço usando Copilot para auxiliar em tarefas complexas de modernização, como:
- Engenharia reversa e transformação de código
- Análise de vulnerabilidade e dependência e verificações de comportamento de código e correção
- Geração automatizada de ativos, documentação e relatórios de atualização
- Geração e avaliação de teste
- Automação de implantação
Visão geral do fluxo de trabalho de modernização
Neste exemplo, demonstraremos as etapas de alto nível para modernizar um aplicativo Java usando a extensão de modernização do aplicativo GitHub Copilot no Visual Studio Code.
Para obter instruções e pré-requisitos detalhados, consulte Início Rápido: atualizar um projeto Java com GitHub Copilot modernização do aplicativo na documentação da Microsoft.
Observação
Durante o fluxo de trabalho de modernização, você pode frequentemente ser solicitado por Agente de codificação do Copilot para confirmação antes de executar ações específicas.
1. Abra seu projeto Java
Use VS Code para abrir a pasta do projeto.
Ações sugeridas
- Verifique se o projeto compila com êxito antes de prosseguir.
- Se você encontrar problemas de build, poderá usar Copilot para ajudar a resolvê-los antes de iniciar o processo de modernização.
2. Iniciar um workspace de modernização
Inicie Bate-papo do Copiloto e inicie uma nova sessão no modo de agente. Escolha GitHub Copilot modernização de aplicativos – upgrade para Java das ferramentas disponíveis.
3. Analisar seu projeto em busca de oportunidades de atualização
Copilot verificará sua base de código. A análise inclui:
- Detecção de estruturas desatualizadas (por exemplo, Spring Boot, Jakarta EE, versões java SE).
- Identificação de APIs preteridas e padrões obsoletos.
- Sugestões de oportunidades de atualização.
Você pode examinar as descobertas e um plano de atualização estruturado no editor, que exibirá:
- Versões atuais e recomendadas para estruturas e dependências.
- Locais de código que exigem migração ou refatoração.
- Atualizar bloqueadores ou dependências incompatíveis.
Ações sugeridas
- Examine e personalize o plano de modernização antes de prosseguir com a atualização.
4. Aplique as recomendações de atualização do Copilot
Use Copilot para aplicar ou revisar alterações de código, atualizar arquivos de construção e refatorar APIs.
Se forem encontrados erros de build, Copilot poderá entrar em um ciclo de correção e teste até que o projeto seja compilado sem erros.
Agente de codificação do Copilot as alterações automatizadas podem incluir:
- Atualizando os arquivos
pom.xmloubuild.gradlepara novas versões das dependências. - Gerando solicitações de pull ou confirmando alterações diretamente.
- Refatoração de código para alterações de API. Por exemplo, migrando de
javax.*parajakarta.*namespaces. - Sugerindo ou aplicando transformações de código para resolver alterações interruptivas.
Copilot iterará e continuará corrigindo erros até que o projeto seja compilado com sucesso e não haja mais problemas que exijam correção. É possível que problemas menores que não exijam correções imediatas possam permanecer. Isso não impedirá a conclusão da atualização.
Ações sugeridas
- Examine todas as alterações de código em seu editor de diferenciação antes de aceitar.
- Use Copilot para documentar e explicar as alterações de código.
- Quando a extensão solicitar que você faça isso, aceite as opções para verificar as dependências modificadas para CVEs conhecidos e validar o comportamento do código quanto à consistência.
- Examine os problemas restantes e avalie sua importância.
5. Exibir o relatório de atualização e as próximas etapas sugeridas
Após a conclusão do processo de atualização, Copilot gerará um relatório resumido de atualização que inclui:
- Informações do projeto.
- Linhas de código alteradas.
- Dependências atualizadas.
- Alterações de código resumidas.
- Correção de problemas de inconsistência de código e segurança CVE, se houver.
- Problemas de CVE secundários não corrigidos.
Ações sugeridas
- Examine o relatório para entender as alterações feitas.
- Siga as próximas etapas sugeridas para finalizar sua modernização.
Concluindo a modernização
Mais atividades para apoiar sua modernização podem incluir:
-
**Verificar** a modernização inicial e as alterações de código cuidadosamente. Verifique se os padrões de codificação e as práticas recomendadas da sua empresa são atendidos. -
**Examinar** o código modificado de perto. Por exemplo, verifique se o código gerado se ajusta à finalidade e à arquitetura do seu projeto. Para obter mais sugestões, consulte [AUTOTITLE](/copilot/tutorials/review-ai-generated-code). -
**Corrigir bugs**. Verifique o conteúdo específico para erros sutis e use suas próprias ferramentas de depuração e linagem para avaliar o novo conteúdo. -
**Escrevendo testes** e identificando lacunas nos testes para o projeto aprimorado. -
**Limpar** o projeto removendo todos os arquivos que não são mais necessários. -
**Refatorar** o código na nova linguagem. O processo de modernização pode ter resultado em um projeto cuja arquitetura foi baseada na do seu projeto original, mas essa não é mais a solução ideal ou ideal para suas necessidades. Agora você pode querer refatorar o código para fazer o melhor uso dos recursos do idioma e da estrutura usada. -
**Atualizando a documentação**. As informações do projeto e os arquivos de contribuição agora podem estar desatualizados e precisam ser reescritos. -
**Contêinerização**. Atualize o código do aplicativo, gere arquivos de contêinerização, como Dockerfiles, e crie a imagem para testar a validade. Se necessário, Copilot pode executar essas tarefas de contêinerização e também criar um plano abrangente detalhando as próximas etapas. -
**Implantando** o aplicativo modernizado em seus ambientes de destino, incluindo plataformas de nuvem, como o Microsoft Azure.