作者:Nick Zhu
大家新年好!我们很高兴宣布,Visual Studio Code Java 、JDT 和 JDT-LS 现已部分支持使用 Javac 作为底层编译器。这项支持是红帽和微软经过近一年合作的成果。
此更改旨在确保对最新 Java 特性的及时支持,并使 VS Code 上的 Java 语言支持与常见构建工具(如 Maven 、Gradle )更加一致。许多用户希望获得更无缝的开箱即用开发体验,我们相信引入 Javac 是实现这一目标的重要第一步。
用户可以从基于 Javac 的工具中获得以下好处:
请注意,基于 Javac 的 JDT 是 ECJ 编译器的另一选项,并非要完全替代 ECJ 。目前,VS Code Java 中的基于 Javac 的支持默认处于关闭状态,可以通过以下方式启用:
"java.jdt.ls.javac.enabled"
设置为 "on"
。以下是截图:"java.jdt.ls.java.home"
指向您的 Java 23 安装目录。目前,基于 Javac 的 VS Code Java 支持在以下方面表现良好:编辑辅助、诊断、快速修复/重构、悬停提示、导航、索引、构建和类文件生成。未来,我们计划实现以下目标:
可用性:让搜索、代码补全、匹配和错误处理功能达到与 ECJ 等效的水平。
性能:
入门体验:移除对新 JDK (如 JDK 23 )的依赖,以启用 Javac 支持。
上游集成:将当前工作贡献到 JDT 中,以便在 Eclipse 中内部测试 Javac 支持。
此计划已在于德国美因茨举办的 OpenCommunity-X 大会上公布。虽然 Javac 支持的开发目前在 JDT-core 分支中进行,但所有工作都会回馈到上游 JDT 。随着功能逐步完善,上游集成工作已启动并将持续进行。
Javac 对 VS Code Java 的支持是我们为更快速支持新 Java 版本、最小化编译器差异而努力的重要一步。我们希望您能尝试这一预览支持并向我们反馈您的意见!
要使用上述所有功能,请在 Visual Studio Code 上下载并安装Extension Pack for Java 。
如果您是一位 Spring 开发者,并且正在编写 Spring Boot 相关的程序,您也可以下载并安装Spring Boot 插件包,获得与 Spring Boot 有关的专属开发体验
2024 年,Visual Studio Code 上的 Java 会有很多激动人心的更新,一如既往,您的反馈和建议对我们非常重要,将有助于我们未来的产品塑造。有几种方法可以给我们留下反馈
以下链接和资源能帮助您更好地了解 Java on Visual Studio Code 的相关信息
1
baozhibo 15 小时 1 分钟前
老哥一直坚持不懈的运营 vsc ,真是佩服佩服
|
2
hxtheone 14 小时 12 分钟前 via iPhone
JB 系的 IDE 实在用不习惯, 所以也短暂地拿 VSC 写过一段时间 Java, 起码基础的代码编写是没问题的, 希望能在 AI 的加持下做的越来越好
|
3
querysecret 14 小时 9 分钟前 1
@hxtheone 我最近第 N 次尝试使用 VS 写公司这种 SpringBoot+Mybatis 的项目,后台不知道在转什么任务,转 50%就会卡住,提示也没有,修改代码还卡,唉,比 JB 还是差很多
|
4
Configuration 14 小时 2 分钟前 1
@baozhibo 如果 M$ 给你发工资,你也一定会坚持的
|
5
hxtheone 14 小时 2 分钟前 via iPhone
@querysecret 感觉还是 jdtls 太拉了, 写着写着卡死我也遇到过都是强制 reload 解决, 不过我们公司模块分得细项目非常小, 遇到的频率不高
|
6
layxy 3 小时 4 分钟前
争取干死 jetbrain,现在 jetbrain 一点都不争气,各家 ai 编码插件要么不支持 idea,要么支持的稀烂,自身 ide 的稳定性也不太行,现在用着 idea 写代码,用 vscode 生成代码
|