共用方式為


GitHub Copilot 應用程式現代化常見問題集

回答有關 GitHub Copilot 應用程式現代化的常見問題。

FAQ

GitHub Copilot 應用程式現代化的產品範圍為何?

我們認識到移轉程式一律複雜且相互交織,且應用程式生態系統的不同層級。 目前,我們會將移轉範圍限制為 Java 後端應用程式。 我們支援使用 Maven 或 Gradle 建置的專案。 如需關鍵產品功能的相關資訊,請參閱 GitHub Copilot 應用程式現代化概觀

GitHub Copilot 應用程式現代化未來會開源嗎?

我們目前沒有計劃開源 GitHub Copilot 應用程式現代化。

我需要什麼 GitHub Copilot 授權方案才能使用 GitHub Copilot 應用程式現代化?

GitHub Copilot 應用程式現代化適用於任何 GitHub Copilot 計畫。

GitHub Copilot 應用程式現代化如何計費?

GitHub Copilot 應用程式現代化是 GitHub Copilot 的一項功能,與 GitHub Copilot 共用相同的 訂用帳戶計費模型 。 應用程式現代化任務會消耗高級請求,每個訂閱計劃都提供每月高級請求的限額。 超過計劃限制需要升級計劃或額外購買高級請求。

除了 Java,我還需要移轉以其他語言撰寫的應用程式。 是否有 GitHub Copilot 應用程式現代化計劃超越 Java?

目前,GitHub Copilot 應用程式現代化著重於協助 Java 和 .NET 應用程式。 不過,我們正在積極收集客戶關於支援其他語言的需求和意見反應。

GitHub Copilot 應用程式現代化會儲存我的原始程式碼嗎?

No. GitHub Copilot 應用程式現代化使用 GitHub Copilot 的方式與您使用它來修改程式碼的方式相同,這不會在立即工作階段之外保留程式碼片段。 我們不會收集、傳輸或儲存您的自定義工作。

系統會收集並分析遙測計量,以追蹤功能使用方式和有效性。

如需詳細資訊,請參閱Microsoft隱私聲明。

您使用了哪些類型的應用程式來評估 GitHub Copilot 應用程式現代化?

我們在數百個開放原始碼存放庫上測試了 GitHub Copilot 應用程式現代化,以確保在現代化程式之後建置、一致性和單元測試通過。 我們也在技術預覽階段與客戶進行了廣泛的合作。 使用者的輸入用於改善產品體驗。 您可以使用 此連結提交意見反應。

GitHub Copilot 應用程式現代化在升級案例中針對哪些架構進行了最佳化?

雖然 GitHub Copilot 應用程式現代化著重於升級 Java 執行階段,但它也會針對下列架構優化升級:

  • Spring Boot 最高版本 3.5。
  • Java EE - Javax 到 Jakarta EE,最高可達 Jakarta EE 10。
  • 舊版 Spring Framework 最高版本 6.2+。
  • JUnit。
  • 各種第三方依賴項。

如需相關資訊,請參閱 自訂 Java 專案升級計劃

支援哪些版本的Java升級?

我們目前支援下列 Java 開發套件 (JDK) 版本:

  • JDK 8
  • JDK 11
  • JDK 17
  • JDK 21
  • JDK 25

專案所需的最低 JDK 版本是 JDK 8,您可以升級專案以使用任何 JDK 21 版本。

支援哪些類型的 Java 專案?

目前僅支援下列專案類型:

  • Maven 專案(包括 Maven Wrapper)
  • Gradle 專案 (僅限 Gradle Wrapper,第 5+ 版)

不支援以 Kotlin DSL 為基礎的 Gradle 專案。

Java升級有哪些限制?

目前,該擴展具有以下功能限制:

  • 該擴展僅支持 Java 升級,不滿足其他編程語言的需求。
  • 它僅適用於使用 Maven 和 Gradle 構建的 Java 項目。
  • 僅支援 Git 存放庫。 其他版本控制系統不相容。
  • 擴充功能無法保證其建議的變更是最佳或被視為最佳做法。

我們建議使用此工具使用下列最佳實務:

  • 僅在符合先前所述指定特徵的專案上執行延伸模組。
  • 在將擴充輸出合併到生產分支之前,請先完成徹底的程式碼審查。
  • 執行所有測試,並視需要完成與變更管理程序相關聯的一般 QA 檢查。

如何同時對多個應用程式進行現代化改造,以及如何為大量應用程式擴展應用程式模組體驗?

您可以使用 AppCAT CLI 來使用旗標同時 -bulk 掃描多個專案。 不過,建議您一次只對一個專案或應用程式進行現代化改造。 您可以根據一個專案的程式碼變更建立自己的遷移任務,並將其套用到其他專案中,從而減少重複性工作。

我應該使用哪種型號?

作為一般經驗法則,較新的型號優於以前的型號。 對於編碼任務,我們建議使用 Claud Sonnet 模型以獲得更高的準確性。 但是,為了降低成本,請考慮從 乘數較低的模型開始探索。

疑難排解指南

最上層模型的令牌大小限制為何?

如需詳細的模型規格,請參閱 GitHub Copilot 檔

Java 執行階段和框架升級的操作需求是什麼?

若要確保 Java 執行時期和架構升級成功,需要下列資訊:

  • 專案類型。 專案必須是 Git 型 Java 專案,可使用 Maven 或 Gradle 建置。
  • 目標 Java 版本 - 您要升級至的 JDK 版本 - 例如 Java 21。
  • 來源和目標 JDK 路徑 - 目前和目標版本已安裝 JDK 的路徑。
  • Maven/Gradle 設定 - Maven/Gradle 建置工具的路徑。 對於 Gradle,僅支援 Gradle 包裝函式。

GitHub Copilot 應用程式現代化如何使用 MCP 伺服器,以及如何檢查更新或針對問題進行疑難排解?

GitHub Copilot 應用程式現代化會使用 MCP 伺服器來增強程式碼轉換功能。 安裝 Visual Studio Code 延伸模組之後,MCP 伺服器會註冊並自動啟動。

如果您注意到 GitHub Copilot 聊天面板右下角的特殊重新整理按鈕,可能表示有可用的工具更新。 選取按鈕以自動載入最新版的工具。

GitHub Copilot 應用程式現代化 MCP 伺服器也會維護記錄。 若要進行疑難排解,請檢查位於以下位置的記錄檔: %USERPROFILE%/.ghcp-appmod-java/logs

為什麼 GitHub Copilot 應用程式現代化會在列出計劃後停止,而不進行任何程式碼變更?

有時候,GitHub Copilot 應用程式現代化需要明確確認,才能繼續。 您可以在聊天中輸入 yescontinue ,讓代理程式繼續進行程式代碼修改。

Visual Studio Code 中 GitHub Copilot 聊天窗格的螢幕擷取畫面,顯示使用者輸入繼續以回應更新計劃。

為什麼 GitHub Copilot 應用程式現代化經常提示我選取 **繼續**?

為了確保操作更安全,GitHub Copilot 代理程式會反覆要求使用者確認,你可以用以下設定作為變通方法。

  • 對於 Visual Studio Code,你可以選擇「 繼續 」按鈕旁的下拉箭頭,然後選擇 「始終允許」,或更新 Visual Studio Code 設定 chat.tools.autoApprove ,自動 true 核准所有工具。 我們也建議設定 chat.agent.maxRequests128 減少需要確認才能繼續的步驟數。

    GitHub Copilot 聊天窗格的螢幕擷取畫面,其中顯示 [繼續] 按鈕和具有 [允許] 選項的下拉式功能表。

  • 對於 Intellij IDEA,你可以選擇繼續按鈕,或更新你的設定,選擇工具>的GitHub Copilot 設定視窗,然後選擇自動核准。 我們也建議啟用 信任 MCP 工具註解 ,並將 最大請求數 提高至 99

    GitHub Copilot 聊天窗格的截圖,顯示 Intellij IDEA 中「繼續」按鈕。

在 Visual Studio Code 中使用 GitHub Copilot 應用程式現代化需要哪些網路設定?

若要確保擴充功能在 Visual Studio Code 中正常運作,網路連線必須穩定,並允許存取 GitHub Copilot 服務。 在受限制的環境中,您可能需要據以設定 Proxy 或防火牆規則。 如果您在聊天視窗中遇到「語言模型無法使用」之類的錯誤,請參閱 管理 GitHub Copilot 存取您企業網路的官方疑難解答指南。

GitHub Copilot 中是否有任何設定,我應該設定以確保我取得所有功能?

GitHub Copilot 可能會封鎖通常類似於公用程式碼的檔案的某些程式碼產生,例如 pom.xml。 若要防止 Copilot 封鎖這些變更,您必須允許符合公用程式代碼的建議。 如需指示,請參閱 啟用或停用符合公用程式代碼的建議

若要管理組織中 GitHub Copilot 的設定,請參閱 在組織中啟用 Copilot 功能

為什麼我在 GitHub Copilot 應用程式現代化中看不到使用模型內容通訊協定 (MCP) 伺服器的工具?

GitHub Copilot 應用程式現代化會使用 MCP 伺服器來提供特製化的移轉功能。 當您選取 [ 重新整理] 時,它會與這部伺服器建立連線,並更新聊天代理程式中可用的工具。 只有在下列情況下才需要此動作:

  • 當您第一次開啟 Java 專案進行移轉時。
  • 當您將擴充功能升級至較新版本時。

為什麼程式代碼重新產生程式不穩定?

GitHub Copilot 應用程式現代化是由 AI 提供支援,因此偶爾可能會發生錯誤。 請先仔細檢閱輸出,再使用。 您也可以重試重新產生程式,以查看替代程式碼建議。

工作儲存在本機計算機上,以及如何共用工作?

預先定義的任務位於下列位置: %USERPROFILE%.vscode\extensions\microsoft.migrate-java-to-azure-0.1.0\rag

自訂工作位於下列位置: %USERPROFILE%.azure\migrate-copilot\custom-rule

如何檢視代理程式所做程式代碼變更的更多詳細數據?

代理程式一律會在聊天視窗中包含其程式代碼變更的說明。 不過,這些詳細數據可能會在UI中折疊。 您可以展開聊天中的回應,以查看完整的理由和逐步推理。

我可以在 Linux 平台上使用 IntelliJ IDEA 的 GitHub Copilot 應用程式現代化功能嗎?

我們目前只支援 Windows 和 macOS 平台。