V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
winffee
V2EX  ›  Visual Studio Code

VS Code Java 中的 JavaC 支持发布!

  •  
  •   winffee · 20 小时 1 分钟前 · 1516 次点击

    作者: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 的支持默认处于关闭状态,可以通过以下方式启用:

    1. 安装最新的预发布版本的 Language Support for Java by Red HatExtension Pack for Java
    2. 在 VS Code 设置中将 "java.jdt.ls.javac.enabled" 设置为 "on"。以下是截图:javac setting
    3. "java.jdt.ls.java.home" 指向您的 Java 23 安装目录。
    4. 重启 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

    Image javapack

    如果您是一位 Spring 开发者,并且正在编写 Spring Boot 相关的程序,您也可以下载并安装Spring Boot 插件包,获得与 Spring Boot 有关的专属开发体验

    Spring boot extension pack

    反馈与建议 Copy link

    2024 年,Visual Studio Code 上的 Java 会有很多激动人心的更新,一如既往,您的反馈和建议对我们非常重要,将有助于我们未来的产品塑造。有几种方法可以给我们留下反馈

    资源

    以下链接和资源能帮助您更好地了解 Java on Visual Studio Code 的相关信息

    6 条回复    2025-01-09 21:02:30 +08:00
    baozhibo
        1
    baozhibo  
       19 小时 43 分钟前
    老哥一直坚持不懈的运营 vsc ,真是佩服佩服
    hxtheone
        2
    hxtheone  
       18 小时 54 分钟前 via iPhone
    JB 系的 IDE 实在用不习惯, 所以也短暂地拿 VSC 写过一段时间 Java, 起码基础的代码编写是没问题的, 希望能在 AI 的加持下做的越来越好
    querysecret
        3
    querysecret  
       18 小时 51 分钟前   ❤️ 1
    @hxtheone 我最近第 N 次尝试使用 VS 写公司这种 SpringBoot+Mybatis 的项目,后台不知道在转什么任务,转 50%就会卡住,提示也没有,修改代码还卡,唉,比 JB 还是差很多
    Configuration
        4
    Configuration  
       18 小时 44 分钟前   ❤️ 1
    @baozhibo 如果 M$ 给你发工资,你也一定会坚持的
    hxtheone
        5
    hxtheone  
       18 小时 44 分钟前 via iPhone
    @querysecret 感觉还是 jdtls 太拉了, 写着写着卡死我也遇到过都是强制 reload 解决, 不过我们公司模块分得细项目非常小, 遇到的频率不高
    layxy
        6
    layxy  
       7 小时 46 分钟前
    争取干死 jetbrain,现在 jetbrain 一点都不争气,各家 ai 编码插件要么不支持 idea,要么支持的稀烂,自身 ide 的稳定性也不太行,现在用着 idea 写代码,用 vscode 生成代码
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   992 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:48 · PVG 04:48 · LAX 12:48 · JFK 15:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.