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

Language Server for Java ™ 1.0 在 VS Code 上正式发布!

  •  5
     
  •   winffee · 2021-10-21 09:40:20 +08:00 · 6979 次点击
    这是一个创建于 1160 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天,我们很高兴与大家宣布:Language Server for Java™ 的 1.0 版本在 Visual Studio Code 上正式发布了!这是 Java 在 Visual Studio Code 上的一个重要里程碑,也是微软,红帽以及整个社区之间多年合作的结果。在这里我们要感谢所有提出过意见或者做过贡献的用户,谢谢!

    发布亮点

    当我们开始发布第一个版本时,我们的目标是在 Visual Studio Code 上提供最好的 Java 开发体验。此后,我们一直保持每月 1-2 次的发布周期,经历了多次迭代。在这个 1.0 版本中,我们想重点介绍以下新特色

    Java 17 支持

    我们会始终尽全力去支持 Java 语言提供的最新技术。在我们的 1.0 版本中,我们的 Java 插件现在正式提供对 Java 17 的支持

    性能改进

    性能提升也是本次发布的另一个亮点。由于 LSP规范中的新功能,我们能够推迟某些计算,从而在许多场景中为我们带来更好的性能。此外,更好的默认JVM选项可以用于改善更大更复杂项目的用户体验。我们还在很多特定场景做了细微的改进,以提高语言服务器的响应能力。

    类继承体系

    现在用户可以方便地在 Visual Studio Code 中轻松访问类继承体系!这是我们最近推出的一项功能,并且一直是 Java 社区中最热门的需求之一。

    库源代码定位

    目前,我们允许用户快速定位某个库的源代码,有时这非常有用。现在,我们已将其支持扩展到普通项目(即没有使用构建工具的项目)。只要库来自 Maven Central repo,我们就可以解析其来源。还支持更高级的配置。

    更多代码相关操作

    用户体验是我们继续改进的另一个领域。我们在新版本中提供了更多的代码操作来优化用户开发体验

    Gradle Kotlin (.kts) 支持

    尽管我们已经使用 Groovy 脚本支持 Gradle 项目,但我们不断听到社区需要更好的 Kotlin 支持,所以在新版本中我们对 Kotlin 提供了一些基本的支持。我们希望可以继续扩展这一领域,并在未来为 Kotlin 提供出色的体验

    Visual Studio Code 的 Java 之旅

    Language Server for Java™ Java扩展包的基础,并提供了 Java 代码编辑、完成、重构、导航等核心体验。在过去的几年里,微软和红帽一直密切合作,不断为这个语言服务器添加新功能。我们还一直在微调语言服务器的性能,并通过修复 Bug 和添加新特性来提高稳定性。

    除了主要的 Java 语言支持外,我们还基于语言服务器构建了各种 Java扩展,并扩展了 Visual Studio Code 上的 Java 开发体验,包括项目管理、对 Maven/Gradle 的构建工具支持、更好的测试支持等。这些努力背后的目标是在 Visual Studio Code 上提供最佳的 Java 开发体验。

    展望未来

    在未来,我们为 Visual Studio Code 上的 Java 语言支持有非常多的计划。其中一些包括:

    • 让用户更容易配置编译器的错误 /警告和代码格式
    • 更智能以及有用的代码自动完成建议
    • 继续提供更多的代码相关操作并最终达到与其它 Java IDE 相同的功能
    • 进一步提升语言服务器的整体性能和启动时间
    • 在插件中直接嵌入 Java Runtime 以改善整体上手体验

    Language Server for Java™ 的 1.0 版本是 Java 在 Visual Studio Code 上的重要里程碑,我们还有很长的路要走。微软和红帽将继续在 Java 语言支持方面进行合作和投入,我们致力于提供出色的 Java 开发体验。

    与往常一样,您的反馈对我们的产品改进至关重要,因此请不要犹豫尝试我们的产品。您可以点击此链接开始使用 Visual Studio Code 学习 Java,也可以通过此链接获得最新的 Java 插件包。

    52 条回复    2021-10-30 00:28:01 +08:00
    chendy
        1
    chendy  
       2021-10-21 09:58:22 +08:00   ❤️ 54
    与往常一样,您的产品对我们的工作至关重要,因此请不要犹豫继续改进,给 JB 家足够的压力让我们能用到更好的 JBIDE 。
    AoEiuV020
        2
    AoEiuV020  
       2021-10-21 10:16:18 +08:00
    这插件装过然后卸了,隐约记得是因为管得太宽会影响到并不支持的非 java 项目,而且不支持 web,
    对于不是主要在 vscode 上跑 java 项目只是偶尔查看 java 代码的比较不友好,
    DeWjjj
        3
    DeWjjj  
       2021-10-21 10:18:20 +08:00   ❤️ 5
    麻烦加大力度,让我用上更好的 Jb 。
    Oktfolio
        4
    Oktfolio  
       2021-10-21 10:22:31 +08:00   ❤️ 1
    加油,这样就能用上更好用的喷气大脑们了
    kidlj
        5
    kidlj  
       2021-10-21 10:22:41 +08:00
    点赞!
    zhangxh1023
        6
    zhangxh1023  
       2021-10-21 10:25:27 +08:00
    `库源代码定位` 挺好的,终于不用依赖第三方的扩展了。。。。
    ligiggy
        7
    ligiggy  
       2021-10-21 10:28:44 +08:00
    楼上各位格局呢?
    heyjei
        8
    heyjei  
       2021-10-21 10:36:16 +08:00
    越来越强大了,有空试试
    bthulu
        9
    bthulu  
       2021-10-21 11:15:04 +08:00
    功能越多就会越卡,jetbrains 用静态语言 Java 写的都已经这么卡了,你这 js 整这么多功能,不是要卡出天际
    evilboy
        10
    evilboy  
       2021-10-21 11:25:21 +08:00 via iPhone
    看介绍,类之间跳转有点卡。
    cmdOptionKana
        11
    cmdOptionKana  
       2021-10-21 11:40:54 +08:00
    很好,有助于促使 JB 多搞特价
    kchenzhi
        12
    kchenzhi  
       2021-10-21 12:03:36 +08:00
    提个需求,提供类似 IDEA 中的 bookmark 支持,现在 vscode 中虽然能通过装插件来实现,但是插件只支持项目内的文件,maven 依赖项中的代码不能使用。去 github 咨询了作者,应该是因为 class 不是文件。感觉这种功能还是要 vscode-java 插件内置
    kchenzhi
        13
    kchenzhi  
       2021-10-21 12:12:52 +08:00
    去使用了一下,LSP 相关的响应速度快了好多,这就是 1.0 的威力吗?
    ch2
        14
    ch2  
       2021-10-21 12:36:41 +08:00
    @bthulu #9 lsp 了解一下,js 不是瓶颈
    Meteorite
        15
    Meteorite  
       2021-10-21 13:10:02 +08:00   ❤️ 11
    楼上几位讽刺 VS Code 然后说要用更好的 JB 的,一副小人得志的样子
    hihanley
        16
    hihanley  
       2021-10-21 14:04:43 +08:00
    感谢,等做 Java 项目就用。到时候再来反馈
    terry1024
        17
    terry1024  
       2021-10-21 14:24:38 +08:00
    感谢 项目不忙时就体验下
    azkaban
        18
    azkaban  
       2021-10-21 14:32:22 +08:00
    我有点担心速度,常年开 8-10 个 vsc,用了 tabnine 之后已经感觉 reload 的时候有点慢了
    CodeCodeStudy
        19
    CodeCodeStudy  
       2021-10-21 14:45:18 +08:00
    @Meteorite #15 有竞争才有进步
    Vegetable
        20
    Vegetable  
       2021-10-21 14:52:38 +08:00
    @azkaban tabnine 确实很重,建议别用。
    kchenzhi
        21
    kchenzhi  
       2021-10-21 15:59:34 +08:00
    用了一段 tabnine,感觉推荐得一点都不准,所以把他去掉了。
    kchenzhi
        22
    kchenzhi  
       2021-10-21 16:00:21 +08:00
    其实 vscode 的优势还是远程开发插件,如果本地开发的话确实还比不过 idea
    wangyu17455
        23
    wangyu17455  
       2021-10-21 16:59:46 +08:00
    @Meteorite 你可能并没有意识到之前在 vscode 上开发基于 maven 构建的应用体验有多烂
    Meteorite
        24
    Meteorite  
       2021-10-21 17:33:33 +08:00
    @wangyu17455 @CodeCodeStudy VS Code 确实还有很多不足,但是感觉别人也在积极地为用户做事情。我们作为 Java 开发者,其实拥有了更多的选择,是好事。主要是总是有那么些人负能量很重,没事就喜欢酸别人几句,嘴爽了就感觉自己高高在上一样
    CodeCodeStudy
        25
    CodeCodeStudy  
       2021-10-21 17:38:24 +08:00
    @Meteorite #24 不用太在意,有些人只是调侃而已,VS Code 现在确实比不过 IDEA,不过有很多独到之处,比如 Code Server 可以部署在服务器,微软也推出了 https://vscode.dev/ 可以在线编程。
    clf
        26
    clf  
       2021-10-21 17:39:08 +08:00
    (弱弱问一嘴 SpringBoot 、Dubbo 、SpringCloud 在 VSC 上开发体验如何?是否能查看反编译的源码。是否能对配置文件提示 or 错误预警?
    yazinnnn
        27
    yazinnnn  
       2021-10-21 17:57:09 +08:00
    加油,争取超越 ideac,先获得一些免费用户吧
    lancelock
        28
    lancelock  
       2021-10-21 18:20:54 +08:00
    以前用过,记得补全响应速度优点慢,放弃了
    azkaban
        29
    azkaban  
       2021-10-21 20:12:59 +08:00
    @Vegetable 现在除了 reload 其他都很快,tabnine 功能还是挺好用的
    pigspy
        30
    pigspy  
       2021-10-21 20:32:55 +08:00
    还是希望有一个插件能做到支持 Java 开发的所有功能,而不是像现在这样需要安装一个插件包
    vinle
        31
    vinle  
       2021-10-21 22:32:26 +08:00 via iPhone
    想想就激动!因为这除了能让 intellij ce 变得更好,或许还能促使 ultimate 的功能下放 ce,从未对 ms 如此浓厚的好感,加油,支持💪
    EscYezi
        32
    EscYezi  
       2021-10-22 03:09:49 +08:00 via iPhone
    最近用了下 vscode 写 java 感觉不如 idea 顺滑,补全没那么智能导致多敲好多按键,不过可以用了。
    期待一下之后的发展。
    byte10
        33
    byte10  
       2021-10-22 09:42:14 +08:00
    @clf vscode 接近 eclipse 了。基本啥都没问题了,这个 1.0 的发布 性能应该是快了一些。
    @wangyu17455 构建 maven 应用?不太明白,很少这样的操作,一般都是找另外项目 copy 过来,改改 pom 就完事了。你的需求更像是刚毕业的大学生,自己去构建。一般公司都是有手脚架的,很少自己构建,都是成熟的模块化和模板化。
    @lancelock 确实,之前响应是慢了半拍。现在快了,即可响应。
    @Meteorite 他们思维比较局限,适应新事物比较困难,没有尝试去思考一些问题,当然比不上 idea 是事实,不过个别方面比 idea 强。vscode 有挺多优势,插件化安装很多东西,比如 git 插件,redis,mysql 客户端等,还有一个最近比较好玩的 Thunder Client,跟 postman 差不多,反正一个 vscode 就完美解决了所有的软件的问题,这个是相当方便的事情。
    @chendy idea 是比较专业,但是 vscode 有很多插件,相对比较方便,适合全栈开发。vscode 的 git 工具比那个 idea 的好用, 界面比 idea 好理解,操作简单。
    Huelse
        34
    Huelse  
       2021-10-22 11:14:32 +08:00
    加油加油,坚定的精神鼓励者
    sandman511
        35
    sandman511  
       2021-10-22 11:20:41 +08:00
    #33 懂了 刚毕业的大学生不要用 VSCODE 用 IDEA
    hihanley
        36
    hihanley  
       2021-10-22 11:45:25 +08:00
    @Meteorite 说得对,👆🏻阴阳怪气
    xianzhe
        37
    xianzhe  
       2021-10-22 15:45:36 +08:00
    我个人觉得如果想要更多人使用,还需要做到从 IDEA 到 VSC 的快速切换。目前来说,用 VSC 打开一个 IDEA 项目体验不太好。另外对 gradle 的支持感觉不太好。
    bthulu
        38
    bthulu  
       2021-10-24 12:59:04 +08:00
    @ch2 js 就是瓶颈啊,同样的功能,js 就是慢,资源占用就是大
    bthulu
        39
    bthulu  
       2021-10-24 13:03:34 +08:00
    @byte10 `公司都是有手脚架的`,你看来是从来没有做到公司架构层,所以不需要自己整脚手架,拿来就用。
    `vscode 有挺多优势,插件化安装很多东西`,抱歉,是个 IDE 就有插件,这不是优势。
    `Thunder Client ,跟 postman 差不多`,哪个 IDE 没有这种东西,这也不是优势。
    `vscode 有很多插件,相对比较方便,适合全栈开发`,是的,适合全栈开发,因为啥都能干,啥都干不到最好。
    `vscode 的 git 工具比那个 idea 的好用`,絮不苟同。
    fpure
        40
    fpure  
       2021-10-24 13:35:42 +08:00
    一直用 vscode 写 Java ,感谢你们的贡献
    ch2
        41
    ch2  
       2021-10-24 14:36:30 +08:00
    @bthulu #38 功能由 lsp 完成,快还是慢跟 js 没有任何关系
    bybyte
        42
    bybyte  
       2021-10-24 20:31:58 +08:00
    点赞支持👍,希望 jb 公司看到后继续提高用户 jb 全家桶的用户体验
    rrZ2C
        43
    rrZ2C  
       2021-10-25 10:18:54 +08:00
    就一个字 服
    windyboy
        44
    windyboy  
       2021-10-25 15:29:57 +08:00
    对于一个买了 intelli J 的人,vscode 写 JAVA 那是浮云
    byte10
        45
    byte10  
       2021-10-26 10:02:19 +08:00
    @bthulu 1 、我也是在上个公司做 java 架构层,整过微服务方面手脚架,但是搭建这些项目都不需要强依赖 IDE 进行。架构这玩意,不是就持续优化吗,一次搭建后续就是优化调整,有啥需要天天构建新项目,小半年调整一次就算比较频繁了。2 、vscode 插件生态比较好,其他的 idea 没有那么丰富的插件。3 、因为啥都能干 就都干不到最好 (应该你是正确的)?但是我不需要都干得最好,我只需要简单,方便,开发效率不差就行了,同一个 ide 快捷键上,交互上,学习成本低一些,能写小程序,RN, go ,JS ,python ,java 就挺方便的。

    @windyboy 你可以学习一下,体验一下,虽然最后发现确实没有 idea 强。但是 vscode 有 remote ,目前还是很强的存在,你可能还体验不到云上无缝编程的便利。
    winffee
        46
    winffee  
    OP
       2021-10-29 16:24:07 +08:00
    @AoEiuV020 web 开发应该是支持的呀,比较流行的 vue.js,react 等等呀都很友好。可能以前老版本的还没开发出来,VS Code 已经不是原来的那个 VS Code 了哦。你说的不支持 web 指的是哪块 web 开发呢?
    winffee
        47
    winffee  
    OP
       2021-10-29 16:28:59 +08:00
    @wangyu17455 现在对 maven 的支持已经优化啦,建议下载最新的 VS Code 试试看哦
    AoEiuV020
        48
    AoEiuV020  
       2021-10-29 16:32:58 +08:00
    @winffee #46 不是 web 开发,我说的 web 是 Visual Studio Code for the Web ,就是 https://vscode.dev/ 这种东西,装不了这插件,
    winffee
        49
    winffee  
    OP
       2021-10-29 16:48:51 +08:00
    @clf "是否能对配置文件提示 or 错误预警?"
    这个是可以的, java 扩展支持自动检测和报错功能。有关 spring boot 开发,详细信息可以参考 Spring Boot Tools 、Spring Initializr 、Spring Boot Dashboard 三个扩展主页的介绍和官方文档: https://code.visualstudio.com/docs/java/java-spring-boot
    winffee
        50
    winffee  
    OP
       2021-10-29 16:50:13 +08:00
    @xianzhe 请问细化到具体问题是什么呢
    winffee
        51
    winffee  
    OP
       2021-10-29 17:17:31 +08:00
    @AoEiuV020 目前的确没有往这个方向上考虑,不过这是个有趣的需求,会向产品组反馈。您也可以直接在我们的 github 上提需求,会有工程师跟进: https://github.com/redhat-developer/vscode-java
    clf
        52
    clf  
       2021-10-30 00:28:01 +08:00
    @winffee #49 嗯嗯,感谢,有机会试试~看看能不能替换掉 idea (虽然感觉有点难?)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3055 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:58 · PVG 20:58 · LAX 04:58 · JFK 07:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.