Java on Visual Studio Code的更新 – 2022年4月

Nick Zhu

大家好,欢迎来到 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”设置随时更改此设置

Inlay setting

以下是该功能的演示:

Inlay Hints

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

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

Language Server Status

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

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

 

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

Language Server Error

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

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

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

Extract lambda body

调试中对 Lambda 表达式的支持

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

Image debugginglambda

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

反馈与建议

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

资源

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