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 · 1872 次点击
    这是一个创建于 942 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,欢迎来到 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 and Java 插件包 ,您会看到各种语言服务器状态已合并为一个统一项,不仅更加简洁,而且还为开发人员提供了更多操作,还可以从单一的地方完成更多操作。这是一个演示:

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

    信息 点击后的操作
    构建状态 跳转到终端中查看详细构建信息
    构建文件(构建配置是否存在) 导航到实际的 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   ·   实用小工具   ·   5827 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 01:49 · PVG 09:49 · LAX 17:49 · JFK 20:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.