October 18th, 2022

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

Nick Zhu
Senior Program Manager

大家好,欢迎来到 Visual Studio Code Java 的 10 月更新。这次我们带来了很多代码编辑和调试体验的改进,让我们开始吧!

调试体验提升

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

考虑这样的一行代码:

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

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

Inline breakpoint

支持Java虚拟线程

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

Virtual thread in debugger

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

编码体验改进

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

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

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

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

Lombok code action

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

支持@Nullable 和@Nonnull注解

最后,我们增强了代码分析以支持 @Nullable 和 @Nonnull 注释。 @Nullable 和 @Nonnull 注释让开发者和编译器知道是否可以为变量、参数或返回值允许null。

如果我们检测到某些合同被违反,我们将在问题(Problems)部分显示警告,并在编辑器区域为您突出显示它们。这是此功能的快速演示。

Null analysis

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

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

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

Null analysis config

安装 Java 插件包

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

Image javapack

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

Spring boot extension pack

反馈与建议

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

资源

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

Author

Nick Zhu
Senior Program Manager

Developer at heart

0 comments

Discussion are closed.