Java on Visual Studio Code 的更新 2022 年 4 月 Java 18 支持、参数名称嵌入提示、新的 Java 语言服务器状态交互、更好的 lambda 表达式支持 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
winffee
V2EX    Visual Studio Code

Java on Visual Studio Code 的更新 2022 年 4 月 Java 18 支持、参数名称嵌入提示、新的 Java 语言服务器状态交互、更好的 lambda 表达式支持

  •  
  •   winffee 2022-04-20 13:13:45 +08:00 2180 次点击
    这是一个创建于 1338 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,欢迎来到 Visual Studio Code Java 的 4 月更新。这次我们为您带来了许多关于基础开发体验的令人激动的更新,包括 Java 18 支持、参数名称的嵌入提示、新的 Java 语言服务器状态交互、更好的 lambda 表达式支持等等。让我们开始吧!

    Microsoft JDConf

    在我们的更新之前,我们想分享一个激动人心的消息:微软 JDConf 即将到来!欢迎积极报名,参加 2022 年 5 月 4 日至 5 日举行的第二届 JDConf 活动。这是一个以 Java 为主题的虚拟会议,开发者可以聚在一起分享关于 Java 的话题。我们此次活动的目标是突出并展示整个 Java 社区正在进行的杰出工作。如果您感兴趣,您可以通过此链接获取更多信息并注册https ://aka.ms/jdconf

    Java 18 支持

    我们一直致力于支持最新的 Java 技术。随着 Java 18 在今年 3 月全面发布 GA 版本,我们也在最新版本中启用了对 Java 18 的支持。这意味着您现在可以在项目中使用 Java 18 !

    支持参数名称的嵌入提示(Inlay Hint)

    在编写代码时,有时候你是否想知道到底自己在填写的是哪个参数?在一些用字面值做参数的函数中,你是否想知道自己提供的值是什么?好消息来了!嵌入提示(Inlay Hints)将为你解决这些问题!在我们的最新版本中,我们为 Java 项目启用了此功能。在启用后,Visual Studio Code 将在方法签名中显示参数名称的提示,该功能共有三种模式。

    • 无(禁用参数名称提示)
    • literal (仅对字面值参数启用参数名称提示)(默认)
    • all (为所有参数启用参数名称提示)

    您可以通过转到 Java 下的“inlay”设置随时更改此设置

    以下是该功能的演示:

    新的 Java 语言服务器状态交互方式

    以前,状态栏上有多个项目来显示 Java 语言服务器的当前状态,这有时会使界面变得拥挤和混乱。自 1.65 版以来,Visual Studio Code已完成其新的语言状态项 API。在我们最新的版本中,我们不仅采用了新的 API ,还做了一些小的调整。如果您更新到最新版本的 Visual Studio Code andJava 插件包,您会看到各种语言服务器状态已合并为一个统一项,不仅更加简洁,而且还为开发人员提供了更多操作,还可以从单一的地方完成更多操作。这是一个演示:

    从上面的演示可以看出,目前该入口提供了以下信息和动作:

    信息 点击后的操作
    构建状态 跳转到终端中查看详细构建信息
    构建文件(构建配置是否存在) 导航到实际的 Maven 或 Gradle 构建配置文件
    项目 JDK 信息 跳转到配置 Java 运行时

    如果出现问题或错误,您将在状态图标上看到一个指示器,您可以单击“显示问题”以显示错误详细信息。

    Language Server Error

    我们希望这项改进能为 Java 语言服务器的状态提供更好的用户体验,请与我们分享您的反馈,以便我们继续改进该领域。

    将 lambda 主体提取到函数的代码操作

    作为次要功能更新,我们还添加了一个代码操作(来自 Quick Fix ),以允许开发者轻松地将 lambda 主体提取到函数中。这是一个快速演示:

    调试中对 Lambda 表达式的支持

    最后,我们想对调试中对 lambda 表达式的支持提供一些更新。之前 GitHub 上一个issue中有用户发现在调试时,插件对 lambda 表达式中的变量不能正确评估。在我们的最新版本中,我们已经修复了这个问题。以下是在链式调用中使用 lambda 时评估变量的快速演示:

    有关所有支持案例的完整列表,请访问原始 Issue

    反馈与建议

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

    资源

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

    6 条回复    2022-04-22 09:03:34 +08:00
    zed1018
        1
    zed1018  
       2022-04-20 13:40:34 +08:00
    跪求 Kotlin 支持
    hingbong
        2
    hingbong  
       2022-04-20 13:45:30 +08:00
    看到楼上,就没有必要去试了,我们是 kotlin+spring
    zhangxh1023
        3
    zhangxh1023  
       2022-04-20 13:54:20 +08:00
    waiaan
        4
    waiaan  
       2022-04-20 13:57:21 +08:00
    问一下用 vsc 写 java ,过一个小时(大概)后,就必须手动重启扩展宿主,不然代码提示、代码跳转等这些功能全都用不了,鼠标放在类或方法上本来会弹出定义的,现在只弹出“正在加载...“。
    求问这是什么原因。
    winffee
        5
    winffee  
    OP
       2022-04-21 17:13:37 +08:00
    @waiaan 你能试下 Java: Clean Java Language Server Workspace 吗?
    waiaan
        6
    waiaan  
       2022-04-22 09:03:34 +08:00
    @winffee
    试过了,包括直接删除 workspacestorage 也没用,不知道是扩展冲突还是其它原因。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4461 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 01:06 PVG 09:06 LAX 17:06 JFK 20:06
    Do have faith in what you'redoing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86