头图

大家好,欢迎来到 Visual Studio Code Java 的 10 月更新。主要改进包括调试体验优化,虚拟线程的支持,更多 Lombok 相关的代码操作以及代码编写体验的提升,让我们开始吧!

调试体验提升

行内断点(Inline breakpoint)的可视化提示

考虑这样的一行代码:

Stream.of (“Frank”).map(name -> name.toUpperCase ()). forEach ((item -> System.out.println (item));

当您在这一行设置断点时,Visual Studio Code 将自动识别该行中的所有 lambda 表达式,并用灰点在语句旁边将它们可视化。如果你想在那些 lambda 表达式上进一步设置行内断点,你可以直接点击那些灰点,灰点会像普通断点一样变成红点,然后在代码执行过程中调试器会停在这些断点处。这将为您提供更轻松的这些 lambda 表达式的调试体验。这里是一段演示:

image.png
点我查看视频~

支持 Java 虚拟线程

Java 19 为 Java 平台带来了虚拟线程的第一个预览,这是 Project Loom 的主要成果。虚拟线程旨在显着提高并发 Java 编程的可扩展性,同时尽可能保留当前 API的形态。在我们 9 月的版本中,我们在 Java 调试器中启用了对虚拟线程的支持。请注意您需要安装 JDK 19 来体验该新功能。以下是在调试中的截图:

图片

有关虚拟线程的更多详细信息,您可以阅读官方博客文章

编码体验改进

更快捷的 Lombok 代码操作:Lombok & Delombok

自从我们在 7 月推出对 Lombok 的全面支持以来,我们收到了很多功能需求!一个呼声高的需求是在用户点击 Code Action 灯泡(快速修复)时提供方便的 Lombok 操作,因此我们已将此功能添加到我们的最新版本中。我们目前支持的 Annotation 是:

  • @Data
  • @NoArgsConstructor
  • @AllArgsConstructor
  • @Getter
  • @Setter
  • @ToString
  • @EqualsAndHashCode

您不仅可以使用此快捷方式来“Lombok”您的代码,还可以通过取消选择其中一些来“DeLombok”您不再需要的注解。这是一个演示。

image.png
点我查看视频~

另外,我们想再次提一下,我们的扩展现在已经内置了对 Lombok 的支持,这在 Project Lombok 的官方主页上也有提及

支持 @Nullable 和 @Nonnull 注解

最后,我们增强了代码分析以支持 @Nullable 和 @Nonnull 注释。@Nullable 和 @Nonnull 注释让开发者和编译器知道是否可以为变量、参数或返回值允许 null。
如果我们检测到某些合同被违反,我们将在问题(Problems)部分显示警告,并在编辑器区域为您突出显示它们。这是此功能的快速演示。

image.png
点我查看视频~

目前,我们支持以下包中的 @NonNull 和 @Nullable 注释:

  • javax.annotation.*
  • org.eclipse.jdt.annotation.*
  • org.springframework.lang.*

如果您希望在代码分析中包含或排除某些注解,您可以在settings.json中的“java.compile.compileAnalysis.nonnull”和“java.compile.compileAnalysis.nullable”下进行配置。这是一个屏幕截图。

图片

安装 Java 插件包

要使用上述所有功能,请在 Visual Studio Code 上下载并安装Extension Pack for Java
图片

如果您是一位 Spring 开发者,并且正在编写 Spring Boot 相关的程序,您也可以下载并安装 Spring Boot 插件包,获得与 Spring Boot 有关的专属开发体验。
图片

反馈与建议

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

资源

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

欢迎获取更多有关 Java on VS Code 的资源和教程~


微软技术栈
423 声望995 粉丝

微软技术生态官方平台。予力众生,成就不凡!微软致力于用技术改变世界,助力企业实现数字化转型。