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

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

  •  5
     
  •   winffee · 45 天前 · 4929 次点击
    这是一个创建于 45 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    @windyboy 你可以学习一下,体验一下,虽然最后发现确实没有 idea 强。但是 vscode 有 remote ,目前还是很强的存在,你可能还体验不到云上无缝编程的便利。
    winffee
        46
    winffee  
    OP
       36 天前
    @AoEiuV020 web 开发应该是支持的呀,比较流行的 vue.js,react 等等呀都很友好。可能以前老版本的还没开发出来,VS Code 已经不是原来的那个 VS Code 了哦。你说的不支持 web 指的是哪块 web 开发呢?
    winffee
        47
    winffee  
    OP
       36 天前
    @wangyu17455 现在对 maven 的支持已经优化啦,建议下载最新的 VS Code 试试看哦
    AoEiuV020
        48
    AoEiuV020  
       36 天前
    @winffee #46 不是 web 开发,我说的 web 是 Visual Studio Code for the Web ,就是 https://vscode.dev/ 这种东西,装不了这插件,
    winffee
        49
    winffee  
    OP
       36 天前
    @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
       36 天前
    @xianzhe 请问细化到具体问题是什么呢
    winffee
        51
    winffee  
    OP
       36 天前
    @AoEiuV020 目前的确没有往这个方向上考虑,不过这是个有趣的需求,会向产品组反馈。您也可以直接在我们的 github 上提需求,会有工程师跟进: https://github.com/redhat-developer/vscode-java
    clf
        52
    clf  
       36 天前
    @winffee #49 嗯嗯,感谢,有机会试试~看看能不能替换掉 idea (虽然感觉有点难?)
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2029 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 04:19 · PVG 12:19 · LAX 20:19 · JFK 23:19
    ♥ Do have faith in what you're doing.