作者:Nick Zhu
大家新年好!我们很高兴宣布,Visual Studio Code Java 、JDT 和 JDT-LS 现已部分支持使用 Javac 作为底层编译器。这项支持是红帽和微软经过近一年合作的成果。
此更改旨在确保对最新 Java 特性的及时支持,并使 VS Code 上的 Java 语言支持与常见构建工具(如 Maven 、Gradle )更加一致。许多用户希望获得更无缝的开箱即用开发体验,我们相信引入 Javac 是实现这一目标的重要第一步。
用户可以从基于 Javac 的工具中获得以下好处:
- 更符合 Java 规范的编译器正确性
- 在 VS Code 和 Eclipse 中更快地支持新 Java 版本
- 减少 JDT 和 JDT-LS 团队的维护负担
- 更轻松地测试预览功能和尚未发布的 Java 版本
请注意,基于 Javac 的 JDT 是 ECJ 编译器的另一选项,并非要完全替代 ECJ 。目前,VS Code Java 中的基于 Javac 的支持默认处于关闭状态,可以通过以下方式启用:
- 安装最新的预发布版本的 “Language Support for Java by Red Hat” 或 “Extension Pack for Java”。
- 在 VS Code 设置中将
"java.jdt.ls.javac.enabled" 设置为 "on" 。以下是截图:
- 将
"java.jdt.ls.java.home" 指向您的 Java 23 安装目录。
- 重启 VS Code 。
目前,基于 Javac 的 VS Code Java 支持在以下方面表现良好:编辑辅助、诊断、快速修复/重构、悬停提示、导航、索引、构建和类文件生成。未来,我们计划实现以下目标:
-
可用性:让搜索、代码补全、匹配和错误处理功能达到与 ECJ 等效的水平。
-
性能:
- 消除与基于 ECJ 的编译/诊断相比明显的性能下降。
- 调查 VS Code Java 和 JDT-LS 的基准测试。
-
入门体验:移除对新 JDK (如 JDK 23 )的依赖,以启用 Javac 支持。
-
上游集成:将当前工作贡献到 JDT 中,以便在 Eclipse 中内部测试 Javac 支持。
此计划已在于德国美因茨举办的 OpenCommunity-X 大会上公布。虽然 Javac 支持的开发目前在 JDT-core 分支中进行,但所有工作都会回馈到上游 JDT 。随着功能逐步完善,上游集成工作已启动并将持续进行。
Javac 对 VS Code Java 的支持是我们为更快速支持新 Java 版本、最小化编译器差异而努力的重要一步。我们希望您能尝试这一预览支持并向我们反馈您的意见!
安装 Java 插件包
要使用上述所有功能,请在 Visual Studio Code 上下载并安装Extension Pack for Java 。
如果您是一位 Spring 开发者,并且正在编写 Spring Boot 相关的程序,您也可以下载并安装Spring Boot 插件包,获得与 Spring Boot 有关的专属开发体验
反馈与建议 Copy link
2024 年,Visual Studio Code 上的 Java 会有很多激动人心的更新,一如既往,您的反馈和建议对我们非常重要,将有助于我们未来的产品塑造。有几种方法可以给我们留下反馈
资源
以下链接和资源能帮助您更好地了解 Java on Visual Studio Code 的相关信息
|