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

2022-04-20 13:13:45 +08:00
 winffee

大家好,欢迎来到 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 将在方法签名中显示参数名称的提示,该功能共有三种模式。

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

以下是该功能的演示:

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

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

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

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

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

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

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

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

调试中对 Lambda 表达式的支持

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

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

反馈与建议

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

资源

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

1763 次点击
所在节点    Visual Studio Code
6 条回复
zed1018
2022-04-20 13:40:34 +08:00
跪求 Kotlin 支持
hingbong
2022-04-20 13:45:30 +08:00
看到楼上,就没有必要去试了🥲,我们是 kotlin+spring
zhangxh1023
2022-04-20 13:54:20 +08:00
waiaan
2022-04-20 13:57:21 +08:00
问一下用 vsc 写 java ,过一个小时(大概)后,就必须手动重启扩展宿主,不然代码提示、代码跳转等这些功能全都用不了,鼠标放在类或方法上本来会弹出定义的,现在只弹出“正在加载...“。
求问这是什么原因。
winffee
2022-04-21 17:13:37 +08:00
@waiaan 你能试下 Java: Clean Java Language Server Workspace 吗?
waiaan
2022-04-22 09:03:34 +08:00
@winffee
试过了,包括直接删除 workspacestorage 也没用,不知道是扩展冲突还是其它原因。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/848111

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX