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

Java on Visual Studio Code 的更新 – 2022 年 7 月 – Lombok 支持更新, Spring 体验改进

  •  
  •   winffee · 2022-07-18 10:11:01 +08:00 · 4056 次点击
    这是一个创建于 893 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,欢迎来到 Visual Studio Code Java 的 7 月更新。我们带来了关于 Lombok 支持的更新以及其它一些基本的用户体验改进。让我们开始吧!

    Lombok 支持

    Lombok 是一个流行的 Java 框架,我们一直从用户那里听到,当他们的项目中有 Lombok 依赖项时,我们的插件无法很好地工作。因此我们对此开始了一系列调查。现在我们很高兴地宣布,我们的插件包已经完全提供了对 Lombok 的内置支持。您不应该再遇到 Lombok 的任何奇怪问题,请使用并提供给我们反馈。

    我们也知道一些开发者已经安装了社区上的Lombok 插件,原作者@GabrielBB由于个人原因将不再维护该插件,因此微软将从现在开始维护插件。我们要感谢@GabrielBB ,他开始了这一切,并为 Lombok 提供了最初的支持。如有必要,我们将在此插件中添加新功能,并使其与我们的 Java 插件包兼容。

    让我们谈谈我们为 Lombok 添加的新功能。

    启用 Lombok 支持和用户通知

    第一次打开项目时,如果我们的插件检测到存在 Lombok 依赖项。如果需要启用 Lombok 支持,我们会发送通知提醒开发者。重新加载 Visual Studio Code 后,Lombok 的支持就会启动。这是一个简短的演示。

    在语言状态栏中管理 Lombok 版本

    启用 Lombok 支持后,开发者可以在语言状态栏中看到当前 Lombok 的版本和状态。如果开发者点击该项目,它将把开发者带到配置 Lombok 版本的地方,这将很容易让开发者更改 Lombok 版本。

    更改 Lombok 版本后,会有另一个通知要求开发者重新加载 Visual Studio Code 。这是另一个演示。

    Lombok 支持设置

    如果开发人员不想要内置的 Lombok 支持,我们添加了一个可以打开 /关闭它的设置。只需转到设置并搜索“ lombok ”。这是一个截图。

    用户体验改进

    除了 Lombok ,还有几项用户体验改进将使您的编码体验更好。

    拖放支持

    我们现在在 Java 项目资源管理器视图中启用了“拖放”的操作,您可以使用它完成一些方便您的操作。以下是几个使用它的场景示例:

    • 移动一个类 – 将一个类从一个包拖到另一个包
    • 移动包 – 将一个包拖到另一个包中
    • 添加依赖项 – 将 JAR 文件从操作系统直接拖到 Java 项目的“引用库”中(不使用构建工具的 Java 项目 )
    • 让我们看一下第一个场景的快速演示

    嵌入提示排除列表

    四月的博客中,我们首先介绍了参数名称的嵌入提示(Inlay Hints)。我们从用户那里听说他们总体上喜欢这个功能,但在某些情况下,他们可能不希望这个功能出现。因此,我们添加了一项设置,以便您可以在某些情况下禁用嵌入提示。您可以通过键入“inlay exclusion”并在 Java 下单击它来找到此设置。这是一个屏幕截图。

    Inlay Exclusion

    调试 – 支持函数断点

    功能请求最初是在社区中提出的,并在最新中得到解决。从Extension Pack for Java 0.24 版开始。您可以通过单击“断点”视图中的“ + ”按钮并输入 Java 类的完整方法名称来在 Visual Studio Code 中设置函数断点。在调试模式下,调试器会在您指定的函数名称处暂停,并且调试器会显示有关执行上下文的信息。这甚至在函数具有相同名称(重载函数)时也有效。这是一个快速演示。

    更多代码操作

    最后我们想提的是,在过去的几个月中,我们一直在向 Quick Fix 提示添加更多代码操作,并让提示的操作根据当前代码更智能(以下是一个截图),所以请积极尝试并给我们更多的反馈!

    Code actions

    持续的 Spring 改进 – Bean 依赖关系视图

    在上个月的博客中,我们发布了全新的 Spring Boot Dashboard ,但我们对 Spring 体验的改进还在持续。这次我们为您带来的新功能是 bean 依赖视图。作为一名 Spring 开发人员,bean 依赖关系是我们经常处理的事情,有时我们可能希望将其可视化。我们将此功能添加到 Spring Boot Dashboard 中。当您从 Spring Boot Dashboard 启动应用程序并单击右侧的按钮时,您便可以访问该视图。从那里,您可以访问双向的依赖关系视图。您可以查看这个 bean 被注入到什么 bean ,也可以查看这个 bean 依赖于什么 bean 。让我们看一个快速演示。

    反馈与建议

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

    资源

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

    30 条回复    2022-08-01 10:13:43 +08:00
    beginor
        1
    beginor  
       2022-07-18 10:17:42 +08:00
    微软干 Java 的心不死啊,不记得当年的 Visual J++ 被咬的事情了么?
    Dragonphy
        2
    Dragonphy  
       2022-07-18 10:20:38 +08:00
    C# 占有率提不起来啊
    @beginor #1
    alleluya
        3
    alleluya  
       2022-07-18 13:38:08 +08:00
    @Dragonphy 不过我个人觉得 有一说一 c#其实是挺不错的一个语言....
    Kaiv2
        4
    Kaiv2  
       2022-07-18 13:58:42 +08:00
    期待这些功能迁移到 neovim 上😄
    siweipancc
        5
    siweipancc  
       2022-07-18 14:34:26 +08:00 via iPhone   ❤️ 1
    ……快点改进把 jb 的全实现了,我一年就能节约 1 千多了
    yazinnnn
        6
    yazinnnn  
       2022-07-18 15:18:50 +08:00
    不知道 vscode 对 kotlin 的支持怎么样...
    NoKey
        7
    NoKey  
       2022-07-18 17:29:04 +08:00
    能不能对标 idea ,开箱即用,别配置一大堆,结果还不怎么好用🤣😂
    silentsky
        8
    silentsky  
       2022-07-18 17:43:30 +08:00
    我一次性导入几十个项目卡着不动,性能有待改进,多项目还是 eclipse 强一些
    dragondove
        9
    dragondove  
       2022-07-18 17:58:15 +08:00
    @NoKey vsc 官方有提供预置了 java 插件的安装包(实际上和手动安装没有差别),体验嘛,就一个字 “烂”,当然,写写 LeetCode 这种单文件代码的体验还是比 eclipse 好点的。做项目就算了
    justin2018
        10
    justin2018  
       2022-07-18 18:01:25 +08:00
    微软爱 Java 多 还是 讨厌 Java 多?

    为啥感觉微软对 Java 有一个说不清楚的情愫在里面~~~ 😶
    junkun
        11
    junkun  
       2022-07-18 19:07:05 +08:00
    @justin2018 微软喜欢 Java 到开发了自己的 Java——C#。
    fpure
        12
    fpure  
       2022-07-18 19:59:32 +08:00
    不错,越来越好了
    kowgarnett
        13
    kowgarnett  
       2022-07-19 02:02:22 +08:00
    然而自从 red hat 的 runtime 要求 java 17 而 Gradle server 在 Java 17 下连不上之后我就回到了 Intellij Gateway 上。。。
    vvtf
        14
    vvtf  
       2022-07-19 12:44:00 +08:00
    我一直用 eclipse,
    目前的工作机器是 8c32g 的,
    eclipse 一个工作空间共有项目 82 个;(单模块,多模块,web 项目,flink 等);内存占用 4.5g;
    使用起来完全流畅;
    cweijan
        15
    cweijan  
       2022-07-20 16:49:17 +08:00
    不错呀, 之前用 vscode 无法写 Java 就是因为不支持 Lombok
    kouhe3
        16
    kouhe3  
       2022-07-20 18:17:26 +08:00
    什么时候 vscjava.vscode-java-pack 不再是 preview 了,就对标了吧
    @NoKey
    Meteorite
        17
    Meteorite  
       2022-07-21 12:57:06 +08:00
    @kouhe3 个人认为 preview 或者不 preview 不影响使用就行。。。
    Meteorite
        18
    Meteorite  
       2022-07-21 12:57:47 +08:00
    @junkun Java 和 C#其实是两个不同的用户群体。。。
    Meteorite
        19
    Meteorite  
       2022-07-21 13:01:19 +08:00
    @NoKey 我觉得 vscode 一开始就没有要对标 idea ,一个是轻量级编辑器,一个是全家桶型 ide 。一个付费,一个免费。一个闭源,一个开源。只不过在 java 这个层面上,大家强行拉来对标 idea ,毕竟写 java ,没有什么其它工具了。
    snowlyg
        20
    snowlyg  
       2022-07-21 14:24:55 +08:00
    所以有多少人用 vscode 写 java 的
    Meteorite
        21
    Meteorite  
       2022-07-21 15:07:47 +08:00
    @snowlyg https://www.jrebel.com/blog/2021-java-technology-report ,根据这篇文章统计,目前 VS Code 市场份额大概 27%,你乘以总的 java 开发者数量就行了
    zcybupt2016
        22
    zcybupt2016  
       2022-07-21 15:42:02 +08:00
    @Meteorite #21 这文章自动生成的吧,JavaScript 都算 Java Version 了
    Meteorite
        23
    Meteorite  
       2022-07-21 16:27:44 +08:00
    @zcybupt2016 你理解错了,这题只是问开发者在项目中用到的编程语言,这题说明开发者在项目中用到了多个语言。现在前端用 JavaScript 很正常啊。
    Meteorite
        24
    Meteorite  
       2022-07-21 16:29:12 +08:00
    @zcybupt2016 那道题目是一道多选题
    zcybupt2016
        25
    zcybupt2016  
       2022-07-21 16:40:23 +08:00
    @Meteorite #23 问题在于 JavaScript 不属于 Java 的一个 Version 啊,而且让选的也是 "Java programming language" 😂。况且第二段还说 JS 相比去年增长很多,上一年仅 2%,2020 到 2021 年间发生了什么突然增加那么多人搞 JS ,这合理吗?
    kouhe3
        26
    kouhe3  
       2022-07-21 20:33:53 +08:00 via Android
    @Meteorite
    > 个人认为 preview 或者不 preview 不影响使用就行。

    我的意思是,你看 Java 扩展包现在还是 Preview, 说明还有很大的进步空间。

    等到 VS Code 的 Java 功能完备的时候,估计也就是 1.0 了.
    Meteorite
        27
    Meteorite  
       2022-07-21 20:40:49 +08:00
    @zcybupt2016 兄弟,仔细看题干的说明啊。用户可以多选,现在一个项目中用多语言很常见啊。。。
    Meteorite
        28
    Meteorite  
       2022-07-21 20:41:54 +08:00
    @kouhe3 确实
    junkun
        29
    junkun  
       2022-07-24 17:36:25 +08:00
    @Meteorite 当年的历史是这样的,微软很喜欢 Java ,于是开发了自己的方言叫 J++。但是后来因为有版权的问题,最后重新开发变成了 C#。

    原 Borland 公司的首席研发设计师安德斯·海尔斯伯格( Anders Hejlsberg )在微软开发了 Visual J++ 1.0 ,很快的 Visual J++由 1.1 版本升级到 6.0 版。SUN 公司认为 Visual J++ 违反了 Java 开发平台的中立性,对微软提出了诉讼。2000 年 6 月 26 日微软在奥兰多举行的“职业开发人员技术大会”( PDC 2000 )上,发表新的语言 C#。
    byte10
        30
    byte10  
       2022-08-01 10:13:43 +08:00
    @cweijan 好像是支持的吧,有一个插件支持的,那个插件也被他们收编了。另外你那个 mysql 数据库做的很好,但是没办法白嫖了😂 ,三个免费链接 偶尔用一下还行。主力还是用 navicat 了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3230 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 10:45 · PVG 18:45 · LAX 02:45 · JFK 05:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.