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

2022-03-22 10:00:08 +08:00
 winffee

大家好,欢迎来到 Visual Studio Code Java 的 3 月更新。这次我们将为您带来一些关于我们代码补全的优化、Maven 改进以及我们最新的 Java 插件预览版本的最新更新。让我们开始吧!

更多生成代码片段的快捷方式

由于我们对 Java 的语言支持是通过Eclipse ™ JDT Language Server 提供的,所以生成某些代码片段(例如 System.out.println() )的快捷方式大多基于 Eclipse 风格。例如,System.out.println()的快捷方式是 sysout 。但是,我们从很多用户那里听说他们习惯了其它 IDE (例如 IntelliJ IDEA )的快捷方式,并且希望看到 VS Code 也支持这些 IDE 的快捷方式。因此,我们也在插件中添加了这些常用代码片段的快捷方式。以下是我们支持的快捷方式的列表

代码片段 Eclipse 风格快捷方式 IDEA 风格快捷方式
System.out.println() sysout sout
System.err.println() syserr serr
当前函数签名的 System.out.println() systrace soutm
public static void main(String[] args) {} main psvm / main
Iterator (for 循环) foreach iter

以下是展示这些新快捷方式的演示

构造函数的代码补全优化

关于代码补全,目前用户反馈最多的问题之一是在 VS Code 中编写构造函数时,用户一般希望补全的提示可以和定义的类型直接相关(例如,List<String> list = …,提示“...”部分的时候应该建议 ArrayList 等列表类型),但是,在当前的插件中通常不是这种情况。

在过去的几次迭代中,我们已经调查了这个问题并进行了更改以改善这种体验。通过这些新的改进,代码补全将更加了解用户正在创建的类型,并为构造函数建议最相关的类型。例如,定义 List<String>将导致对 new ArrayList<String>补全的建议。类似地,一个 String[]将导致一个数组类型的建议来完成构造函数。以下是一个对该优化的演示:

我们仍在对上述功能进行一些调整,并将在接下来的几个版本中发布。

今年早些时候,我们发布了 2022 年路线图,更好的代码补全体验是我们的重点之一。我们希望继续改进这一领域,所以如果您希望看到有关代码补全质量和性能的任何其它反馈,请告诉我们(提供反馈的渠道在最下方)。

Maven 改进

除了代码完成的新功能外,我们还对 Maven 插件进行了一些改进。

在之前的插件中,当用户打开多个同名项目时,很难区分项目属于哪个 POM 文件。此外,显示 POM 文件的确切路径有助于为用户提供更多信息。因此,我们加入了一个小的改进:当用户将鼠标悬停在 Maven 插件视图中的主节点上时,会显示一个提示来显示完整的 Maven POM 文件路径。这是此改进的屏幕截图:

当自动补全一个 Maven 依赖的版本时,以前我们的插件会将结果添加到现有文本中而不是替换它,从而导致我们的用户体验出现问题。我们在最近的版本中修复了这个问题,现在自动补全将正确替换版本,类似的改进也适用于 artifactId 和 groupId 。以下是一段演示:

新的 Java 插件预览版本机制

1.63版以来,Visual Studio Code 已支持插件的预览版本机制,因此用户对于一款插件,可以选择安装"预览版本(Pre-Release Version)"或者是"发布版本(Release Version)"。目前,我们已经为 Gradle for JavaMaven for Java 插件启用了预发布通道,并将在本月底对于Java插件包中其它的插件启用预览机制。对于总是喜欢获取最新功能的用户,可以选择安装预览版本并给我们第一手的反馈。对于偏向稳定的用户,可以像以前一样继续使用"发布版(Release version)"(默认)

您可以使用 Visual Studio Code 中"安装"按钮旁边的附加按钮轻松地在预览版本(Pre-Release Version)和发布版本(Release Version)之间切换(如下图所示)

反馈与建议

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

资源

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

3964 次点击
所在节点    Visual Studio Code
25 条回复
2NUT
2022-03-22 10:07:43 +08:00
支持, vs code 基本一统天下了; 考虑到未来 基于浏览器 /云的 ide 更是如此

idea 目前的主要优势就在于 推断提示 和重构了;而这些并不是什么技术难题

如果 fleet 不能明显超越 vs code 话, 我觉得 jetbrains 也不用标榜 stand with ukraine 了, 没几年就凉了

问下 eclipse 的 这个 language server 和 ms 家的 lsp 有啥区别
2NUT
2022-03-22 10:11:50 +08:00
同时还得缅怀下 sublime atom 等先驱, 不是他们不好, 只是微软技术和资金太强了...

目前我还是重度使用 sublime, 主要是 当作加强版本的 记事本,啥插件都不装
Dragonphy
2022-03-22 10:15:03 +08:00
什么时候 vscode 能把 idea 抄个七七八八就可以迁移了
fpure
2022-03-22 10:30:50 +08:00
支持 vscode 一统江湖👍
cweijan
2022-03-22 11:23:39 +08:00
话说楼主也是开发者之一吗
fgwmlhdkkkw
2022-03-22 11:26:10 +08:00
我编辑的是"pom.json",但是会自动生成"pom.xml"。
实现这个我给你磕两个头……
fgwmlhdkkkw
2022-03-22 11:26:33 +08:00
@fgwmlhdkkkw #6 🐶🐶🐶
sodayo
2022-03-22 11:51:45 +08:00
感谢 Java on Visual Studio Code 的开发者,现在 vscode 是我主要的 Java 编码平台
Chism
2022-03-22 13:02:15 +08:00
可以方便地构建 spring boot 项目吗?
muyiluop
2022-03-22 13:36:30 +08:00
借楼问一下,有没有什么好的办法快速设置几套配置文件,然后根据不同的项目,应用不同的配置么。
比如我 Java 项目就只启用 Java 相关的插件。前端相关的就只启用前端的插件。
winffee
2022-03-22 13:42:21 +08:00
Meteorite
2022-03-22 13:46:36 +08:00
@Chism 可以的,不过需要安装一个 Spring Boot Extension Pack 。
winffee
2022-03-22 13:48:30 +08:00
@sodayo 感谢您一如既往的支持,注意到 VS Code 是您主要的开发工具,我们 VS Code 项目组想邀请您参加一个邮件访谈以了解您的使用反馈,感兴趣的话可以发邮件给 vscjfeedback@microsoft.com ,标题“参与 VS Code 访谈”
Meteorite
2022-03-22 13:48:41 +08:00
@muyiluop 这个我记得好像 VS Code 那边有个 issue ,应该是用户呼声很高的 issue 吧,看看他们想怎么弄。具体链接有点找不到了。。。
zhujz
2022-03-22 15:07:31 +08:00
感觉越来越不错了,厉害
nekomiao
2022-03-22 15:45:15 +08:00
不懂就问,目前 vs code 对比 idea 有什么 idea 没有的功能和优势吗
learningman
2022-03-22 15:47:19 +08:00
@nekomiao #16 free (
Xhack
2022-03-22 15:59:50 +08:00
@nekomiao 没有,目前 vs code 对比 idea 只有 vscode 没有的功能优势
efaun
2022-03-22 16:12:51 +08:00
@nekomiao #16 vs code 对比 idea 唯一的优势只有免费吧
sodayo
2022-03-22 16:28:23 +08:00
@winffee #13 我下班之后会发送邮件的. 目前我在使用 vscode remote 用于开发 springboot 工程以及 vue 工程.

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

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

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

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

© 2021 V2EX