解答有关 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 应用现代化,以确保在现代化过程后通过生成、一致性和单元测试。 我们还在 Technical Preview 阶段与客户进行了广泛的合作。 用户输入用于改善产品体验。 可以使用 此链接提交反馈。
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 包装器)
- Gradle 项目(仅限 Gradle 包装器,版本 5+)
不支持基于 Kotlin DSL 的 Gradle 项目。
Java 升级的限制是什么?
目前,该扩展具有以下功能限制:
- 该扩展仅支持 Java 升级,不满足其他编程语言的需求。
- 它仅适用于使用 Maven 和 Gradle 生成的 Java 项目。
- 仅支持 Git 存储库。 其他版本控制系统不兼容。
- 扩展无法保证建议的更改是最佳或被认为是最佳做法。
建议对此工具使用以下最佳做法:
- 仅在满足前面所述的指定特征的项目上运行扩展。
- 在将扩展输出合并到生产分支之前,请完成彻底的代码评审。
- 运行所有测试,并根据需要完成与更改管理过程关联的常规 QA 检查。
如何同时实现多个应用的现代化,以及如何为大量应用缩放应用模式体验?
可以使用 AppCAT CLI 通过标志同时 -bulk 扫描多个项目。 但是,我们建议一次只现代化一个项目或应用。 可以根据一个项目的代码更改创建自己的迁移任务,并将其应用到其他项目,从而减少重复工作。
我应使用哪个模型?
作为经验的一般规则,较新的模型优于以前的模型。 对于编码任务,我们建议 Claud Sonnet 模型提高准确性。 但是,若要降低成本,请考虑从乘 数较低的模型开始探索。
故障排除指南
顶级模型的令牌大小限制是什么?
有关详细的模型规范,请参阅 GitHub Copilot 文档。
Java 运行时和框架升级的作要求是什么?
若要确保 Java 运行时和框架升级成功,需要以下信息:
- 项目类型。 该项目必须是使用 Maven 或 Gradle 构建的基于 Git 的 Java 项目。
- 目标 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 应用现代化经常提示我选择“继续”?
为了确保更安全的作,GitHub Copilot 代理反复要求用户确认,可以使用以下配置作为解决方法。
在 Visual Studio Code 中使用 GitHub Copilot 应用现代化需要哪些网络配置?
为了确保扩展在 Visual Studio Code 中正常工作,网络连接必须稳定,并允许访问 GitHub Copilot 服务。 在受限的环境中,可能需要相应地配置代理或防火墙规则。 如果在聊天窗口中遇到“语言模型不可用”之类的错误,请参阅 管理 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 平台。