Java on Visual Studio Code 的更新 – 2022 年 5 月 – 用户体验、代码补全提升、Gradle 改进

2022-05-23 15:21:08 +08:00
 winffee

大家好,欢迎来到 Visual Studio Code Java 的 5 月更新。这个月的更新我们有许多关于用户体验以及代码补全相关的提升以及 Gradle 的改进,让我们开始吧!

签名帮助改进

当用户键入参数列表开始字符(通常是左括号)时,签名帮助会在工具提示中显示方法的签名。在我们的最新版本中,我们对此功能进行了一些重大改进:

这是此功能的演示

以下是您可以设置签名帮助相关行为的截图:

如果您有兴趣,您可以在原始 PR中查看如何更好利用签名帮助的完整列表

控制代码补全的插入 /替换模式

在 Visual Studio Code 中,当您接受代码补全建议时,您可以选择覆盖或插入,并可以在"Editor > Suggest:Insert Mode"设置中更改此行为。但是在过去,此功能可能并不适用于 Java 插件,因为它需要我们的插件中进行一些适配。然而在我们的最新版本中,现在该功能已经完全适用于我们的 Java 插件。此外,您还可以使用 Shift 键临时在两种模式之间切换!这是一个快速演示:

以下是设置这个模式的截图:

我们希望这些用户体验改进能够真正帮助您提高编码效率!

Gradle 更新

正如我们之前在路线图中所分享的,构建工具是我们的主要关注点之一。我们很高兴与大家分享,在这一领域,微软正在与Gradle Enterprise密切合作,以改进我们的Gradle for Java插件。

在五月的发布中,有几个值得关注的新功能:

固定常用的 Task

运行一些项目常用的Task是很常见的。为了节省开发人员的时间,我们现在提供了一项功能,允许您将 Taskl"固定"在项目视图的顶部,以便轻松找到 Task 并再次运行它,你甚至可以给它传递参数。这是此功能的演示。

问题修复–支持多级项目和中文编码问题

我们在社区中收到一个问题的反馈,当我们的插件在多级项目中搜索任务时,它会重复地复制该任务。这来源于对于 Gradle API 的不正确调用。我们已在最新版本中修复了此问题。

另一个导致汉字乱码的问题也得到了修复。这两个问题都是从 GitHub 报告的,我们感谢社区找到它们并为它们提供示例项目和重现步骤。请继续与我们分享反馈。

反馈与建议

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

资源

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

2618 次点击
所在节点    Visual Studio Code
8 条回复
zed1018
2022-05-23 15:46:23 +08:00
球球你们支持一下 kotlin 吧
zhangxh1023
2022-05-23 16:01:03 +08:00
insertMode 这个配置在之前有 bug ,有时候会 insert ,有时候会突然变成 replace ,就很麻烦。现在设置成了 insert ,不知道这个问题还会不会出现 orz
guyeu
2022-05-24 02:38:31 +08:00
maven 项目启动主类的时候默认没有把 provided 的依赖放在 classpath ,IDEA 有个启动选项可以很方便调整这个行为,vscode 不行...
join
2022-05-24 17:12:03 +08:00
@winffee 我用 VSCode 的时候,如果在代码里面写上一个非常长的静态 string 如下:
```java
public final static String str = "too long string.....";
```
vscode 打开这个文件会非常卡,会卡上十几秒,而且关闭后再打开还是会重新卡上实际秒。
这个问题社区有提过吗?你们碰到过没有?
join
2022-05-24 17:13:00 +08:00
@join 而且关闭后再打开还是会重新卡上十几秒
jdneo
2022-05-26 09:26:56 +08:00
@join 能否说一下卡的具体现象,以及这个字符串有多长?

我试了一下写一个 65535 长度的静态字符串常量(再长就超出常量池大小的限制了),貌似没有遇到打开后卡顿的问题。

另外还有一个设置项叫 ‘editor.maxTokenizationLineLength’ 可以看一下是否设置成了默认值。
join
2022-05-26 10:57:18 +08:00
@jdneo 大约 32K 的样子。editor.maxTokenizationLineLength 这个值显示为 20000.
这个字符串之所以这么长是因为 solidty 把代码编译后的字节码直接放在了生成好的 java sdk 里面。
卡的现象就是完全动不了 vscode ,出现了进程无响应的那个框,就是有 force exit/keep waiting/cancel 这三个选项。
jdneo
2022-05-27 09:15:19 +08:00
建议先去 https://github.com/microsoft/vscode-java-pack/issues 开一个 issue ,提供一下具体的重现步骤。

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

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

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

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

© 2021 V2EX