Personalize o plano de atualização do projeto Java ao usar a modernização do GitHub Copilot

Este artigo descreve como personalizar o plano de atualização do projeto Java gerado pela modernização do GitHub Copilot.

Quando você inicia uma sessão de atualização, o GitHub Copilot gera um arquivo de plan.md que descreve as etapas e tarefas necessárias para a atualização. Este arquivo serve como um modelo para o processo de atualização, que você pode personalizar para melhor atender às necessidades do seu projeto.

Depois que a ferramenta gera o arquivo plan.md , ele abre automaticamente no editor de código do Visual Studio. Nesta etapa, você pode revisar e personalizar o plano para garantir que ele esteja alinhado com suas metas específicas de atualização.

Estrutura de ficheiro de exemplo plan.md

As seções a seguir descrevem um exemplo plan.md estrutura de arquivo para ilustrar os pontos de personalização.

Parâmetros-chave

As secções seguintes descrevem parâmetros-chave do plano que pode modificar.

Opções de comandos para a ferramenta de construção

Na secção de Ferramentas Disponíveis , o agente deteta as tuas ferramentas de construção (Maven ou Gradle) e os caminhos JDK. Se precisares de parâmetros personalizados na linha de comandos para execução da build, adiciona-os à secção de Diretrizes .

Examples:

  • Para o Maven: Use build options: -Dmaven.javadoc.skip=true -s "/path/to/custom/settings.xml"

  • Para Gradle: Use build options: --info -Penv=production

Observação

Substitua o caminho pela localização real settings do ficheiro, conforme necessário. O percurso mostrado é apenas um exemplo.

Captura de ecrã do plano de atualização Java que mostra as secções de Ferramentas Disponíveis, Diretrizes, Opções e Objetivos de Atualização.

Personalize os objetivos de atualização e forneça diretrizes

Em cenários de atualização de Java, muitas vezes é necessária personalização para além das atualizações padrão de JDK ou framework – por exemplo, para aplicar alterações de código específicas de um projeto ou para atualizar bibliotecas internas que a ferramenta não detete automaticamente. Para apoiar estas necessidades, a modernização do GitHub Copilot permite agora a personalização dentro do plano de atualização. Esta capacidade permite-lhe fornecer as suas próprias receitas, instruções e inputs para orientar o processo de atualização. Pode fazer esta personalização modificando as secções de Objetivos e Diretrizes de Melhoria.

A secção de Objetivos de Melhoria

Na secção de Objetivos de Melhoria , especifique mais metas de melhoria juntamente com os objetivos do seu prompt inicial. Por exemplo, se a tarefa principal for atualizar o projeto de Java 17 para Java 21, mas o projeto também exigir a atualização do Log4j de 1.x para 2.x, liste esse requisito como um objetivo adicional, como mostrado no seguinte exemplo de prompt:

## Upgrade Goals
- Upgrade from Java 17 to 21
- Upgrade org.apache.logging.log4j:* to 2.24.3 
- Upgrade org.internal.lib to 2.0

A secção de Diretrizes

A secção de Diretrizes define como o Copilot deve realizar a atualização. Enquanto a secção de Objetivos de Atualização se foca no que precisa de ser atualizado, a secção de Diretrizes resume a metodologia, convenções, ferramentas e regras que orientam o comportamento do Copilot durante a transformação do código.

Inclua quaisquer instruções que ajudem a orientar a forma como o Copilot modifica o código, tais as seguintes instruções:

  • Orientações sobre que ferramentas, receitas ou frameworks usar para alterações de código.
  • Restrições ou proibições sobre certas abordagens de atualização.
  • Requisitos de estilo de código ou convenção.
  • Ligações para ficheiros internos, documentação ou scripts a que o agente pode aceder.
  • Conhecimento do domínio útil para corrigir erros ou realizar atualizações.
  • Requisitos sobre como o agente deve anotar ou comentar alterações de código.
  • Instruções de limpeza para artefactos temporários criados durante o processo de atualização.

O conteúdo desta secção pode ser texto simples, hiperligações ou referências a ficheiros locais, desde que o Copilot possa aceder a eles.

Examples:

## Guidelines
- Do not use Log4j 1 to Log4J 2 API bridge to upgrade to Log4J 2. 
- Please follow the code conventions defined in /xxx/bbb/rules.txt.
- Please provide detailed comments explaining why each code change is necessary.
- "com.example:internal-lib:2.0.0" is compatible with Java 21.
- Use our internal MCP tool get_internal_lib_knowledge to retrieve compatibility information for internal libraries.
- After the upgrade, please remove any temporary files created during the process, such as code modification scripts.

Consulte também

Modernização do GitHub Copilot