本文說明如何自訂由 GitHub Copilot 現代化產生的 Java 專案升級計畫。
當您起始升級工作階段時,GitHub Copilot 會產生一個 plan.md 檔案,其中概述了升級所需的步驟和工作。 此檔案可作為升級過程的藍圖,您可以自訂該檔案以更好地滿足專案的需求。
工具產生 plan.md 檔案之後,它會自動在 Visual Studio Code 編輯器中開啟。 在此階段,您可以檢閱和自訂計劃,以確保其符合您的特定升級目標。
plan.md 範例檔案結構
下列各節說明範例 plan.md 檔案結構,以說明自訂點。
重要參數
以下章節描述了你可以修改的計畫中關鍵參數。
建置工具指令選項
在 可用工具 區塊中,代理程式會偵測你的建置工具(Maven 或 Gradle)和 JDK 路徑。 如果你需要自訂的命令列參數來執行建置,請將它們加入 指引 區塊。
範例:
對於 Maven:
Use build options: -Dmaven.javadoc.skip=true -s "/path/to/custom/settings.xml"對於 Gradle:
Use build options: --info -Penv=production
備註
視需要將路徑取代為實際 settings 檔案位置。 所示路徑只是範例。
自訂升級目標並提供指引
在 Java 升級情境中,通常需要自訂化,超越標準的 JDK 或框架升級——例如,套用專案專屬的程式碼變更,或更新工具無法自動偵測的內部函式庫。 為了支援這些需求,GitHub Copilot 現代化現在允許升級計畫內進行客製化。 此功能讓您能自行提供食譜、說明與輸入,以指導升級流程。 你可以透過修改 升級目標 和 指引 章節來進行這種自訂。
升級目標部分
在 升級目標 區塊,除了初始提示中的目標外,還要指定更多升級目標。 例如,若主要任務是將專案從 Java 17 升級到 Java 21,但專案同時也需要將 Log4j 從 1.x 升級到 2.x,請將此需求列為額外目標,如下範例提示所示:
## Upgrade Goals
- Upgrade from Java 17 to 21
- Upgrade org.apache.logging.log4j:* to 2.24.3
- Upgrade org.internal.lib to 2.0
指引章節
指引部分定義了 Copilot 應該如何執行升級。 升級目標部分著重於需要升級的內容,而指引部分則涵蓋了引導 Copilot 在程式碼轉換過程中行為的方法論、慣例、工具與規則。
請包含任何有助於引導 Copilot 如何修改程式碼的指示,例如以下指示:
- 提供關於該使用哪些工具、配方或框架進行程式碼變更的指引。
- 對某些升級方法的限制或禁令。
- 程式碼風格或慣例要求。
- 連結到代理可存取的內部檔案、文件或腳本。
- 領域知識有助於修正錯誤或進行升級。
- 代理人應如何註釋或評論程式碼變更的要求。
- 升級過程中產生的臨時產物清理說明。
此區內容可為純文字、超連結或本地檔案參考,只要 Copilot 能存取即可。
範例:
## 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.