大家好,欢迎来到 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 插件进行了一些改进。
在之前的插件中,当用户打开多个同名项目时,很难区分项目属于哪个 POM 文件。此外,显示 POM 文件的确切路径有助于为用户提供更多信息。因此,我们加入了一个小的改进:当用户将鼠标悬停在 Maven 插件视图中的主节点上时,会显示一个提示来显示完整的 Maven POM 文件路径。这是此改进的屏幕截图:
当自动补全一个 Maven 依赖的版本时,以前我们的插件会将结果添加到现有文本中而不是替换它,从而导致我们的用户体验出现问题。我们在最近的版本中修复了这个问题,现在自动补全将正确替换版本,类似的改进也适用于 artifactId 和 groupId 。以下是一段演示:
自1.63版以来,Visual Studio Code 已支持插件的预览版本机制,因此用户对于一款插件,可以选择安装"预览版本(Pre-Release Version)"或者是"发布版本(Release Version)"。目前,我们已经为 Gradle for Java 和 Maven for Java 插件启用了预发布通道,并将在本月底对于Java插件包中其它的插件启用预览机制。对于总是喜欢获取最新功能的用户,可以选择安装预览版本并给我们第一手的反馈。对于偏向稳定的用户,可以像以前一样继续使用"发布版(Release version)"(默认)
您可以使用 Visual Studio Code 中"安装"按钮旁边的附加按钮轻松地在预览版本(Pre-Release Version)和发布版本(Release Version)之间切换(如下图所示)
2022 年,Visual Studio Code 上的 Java 会有很多激动人心的更新,一如既往,您的反馈和建议对我们非常重要,将有助于我们未来的产品塑造。有几种方法可以给我们留下反馈
以下链接和资源能帮助您更好地了解 Java on Visual Studio Code 的相关信息
1
2NUT 2022-03-22 10:07:43 +08:00 2
支持, vs code 基本一统天下了; 考虑到未来 基于浏览器 /云的 ide 更是如此
idea 目前的主要优势就在于 推断提示 和重构了;而这些并不是什么技术难题 如果 fleet 不能明显超越 vs code 话, 我觉得 jetbrains 也不用标榜 stand with ukraine 了, 没几年就凉了 问下 eclipse 的 这个 language server 和 ms 家的 lsp 有啥区别 |
2
2NUT 2022-03-22 10:11:50 +08:00
同时还得缅怀下 sublime atom 等先驱, 不是他们不好, 只是微软技术和资金太强了...
目前我还是重度使用 sublime, 主要是 当作加强版本的 记事本,啥插件都不装 |
3
Dragonphy 2022-03-22 10:15:03 +08:00
什么时候 vscode 能把 idea 抄个七七八八就可以迁移了
|
4
fpure 2022-03-22 10:30:50 +08:00
支持 vscode 一统江湖👍
|
5
cweijan 2022-03-22 11:23:39 +08:00
话说楼主也是开发者之一吗
|
6
fgwmlhdkkkw 2022-03-22 11:26:10 +08:00
我编辑的是"pom.json",但是会自动生成"pom.xml"。
实现这个我给你磕两个头…… |
7
fgwmlhdkkkw 2022-03-22 11:26:33 +08:00
@fgwmlhdkkkw #6 🐶🐶🐶
|
8
sodayo 2022-03-22 11:51:45 +08:00 via Android
感谢 Java on Visual Studio Code 的开发者,现在 vscode 是我主要的 Java 编码平台
|
9
Chism 2022-03-22 13:02:15 +08:00
可以方便地构建 spring boot 项目吗?
|
10
muyiluop 2022-03-22 13:36:30 +08:00
借楼问一下,有没有什么好的办法快速设置几套配置文件,然后根据不同的项目,应用不同的配置么。
比如我 Java 项目就只启用 Java 相关的插件。前端相关的就只启用前端的插件。 |
11
winffee OP |
13
winffee OP @sodayo 感谢您一如既往的支持,注意到 VS Code 是您主要的开发工具,我们 VS Code 项目组想邀请您参加一个邮件访谈以了解您的使用反馈,感兴趣的话可以发邮件给 [email protected] ,标题“参与 VS Code 访谈”
|
14
Meteorite 2022-03-22 13:48:41 +08:00
@muyiluop 这个我记得好像 VS Code 那边有个 issue ,应该是用户呼声很高的 issue 吧,看看他们想怎么弄。具体链接有点找不到了。。。
|
15
zhujz 2022-03-22 15:07:31 +08:00
感觉越来越不错了,厉害
|
16
nekomiao 2022-03-22 15:45:15 +08:00 via Android
不懂就问,目前 vs code 对比 idea 有什么 idea 没有的功能和优势吗
|
17
learningman 2022-03-22 15:47:19 +08:00
@nekomiao #16 free (
|
20
sodayo 2022-03-22 16:28:23 +08:00
@winffee #13 我下班之后会发送邮件的. 目前我在使用 vscode remote 用于开发 springboot 工程以及 vue 工程.
|
23
ZE3kr 2022-03-23 07:29:33 +08:00 via iPhone
@nekomiao 安装在服务器上,本地用浏览器使用,远程开发很方便。idea 占用高,projector 性能差,fleet 还不知道怎么样
|
24
winffee OP @fgwmlhdkkkw 具体是要实现什么样的功能呢?不是特别理解
|