大家好,欢迎来到 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 表达式的调试体验。这里是一段演示:
支持 Java 虚拟线程
Java 19 为 Java 平台带来了虚拟线程的第一个预览,这是 Project Loom 的主要成果。虚拟线程旨在显着提高并发 Java 编程的可扩展性,同时尽可能保留当前 API 的形态。在我们 9 月的版本中,我们在 Java 调试器中启用了对虚拟线程的支持。请注意您需要安装 JDK 19 来使体验该新功能。以下是在调试中的截图:
有关虚拟线程的更多详细信息,您可以在此处阅读官方博客文章。
编码体验改进
更快捷的 Lombok 代码操作:Lombok & Delombok
自从我们在 7 月推出对 Lombok 的全面支持以来,我们收到了很多功能需求!一个呼声高的需求是在用户点击 Code Action 灯泡(快速修复)时提供方便的 Lombok 操作,因此我们已将此功能添加到我们的最新版本中。我们目前支持的 Annotation 是:
您不仅可以使用此快捷方式来"Lombok"您的代码,还可以通过取消选择其中一些来"DeLombok"您不再需要的注解。这是一个演示。
另外,我们想再次提一下,我们的扩展现在已经 内置了对 Lombok 的支持,这在 Project Lombok 的官方主页上也有提及!
最后,我们增强了代码分析以支持 @Nullable 和 @Nonnull 注释。 @Nullable 和 @Nonnull 注释让开发者和编译器知道是否可以为变量、参数或返回值允许 null 。
如果我们检测到某些合同被违反,我们将在问题(Problems)部分显示警告,并在编辑器区域为您突出显示它们。这是此功能的快速演示。
目前,我们支持以下包中的 @NonNull 和 @Nullable 注释
如果您希望在代码分析中包含或排除某些注解,您可以在 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 的相关信息
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.