September 15th, 2022

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

Nick Zhu
Senior Program Manager

大家好,欢迎来到 Visual Studio Code Java 的 9 月更新。这次我们大量令人兴奋的新功能,并且在项目导入、Spring 支持、远程调试和单元测试等许多方面都有改进,所以让我们开始吧!

Protobuf (Protocol Buffer)项目支持

Protocol Buffers ( Protobuf ) 是一种免费的开源跨平台数据格式,用于序列化结构化数据。之前,如果 Java 项目涉及protobuf ,我们的 Java 插件将无法很好地工作,您可能会遇到大量无法识别的类。这是因为我们的插件无法正确检测到 proto 文件,因此没有生成所需的代码,也找不到生成的代码。

在我们的最新版本中,我们增加了对“ protobuf ”项目的支持。如果检测到“ .protobuf ”文件,您将看到来自 Visual Studio Code 的提示,询问您是否要从 proto 文件中生成 Java 源代码。单击“是”时,我们的插件将生成代码,所有“无法识别的类型”错误都会消失!这是一个快速演示来展示此功能。

Protobuf

Android项目导入的改进

除了protobuf项目,我们还改进了对 Android 项目的支持。以前,Android 项目的导入会悄悄地失败,并且大多数核心 Java 功能将无法工作。但是,我们最近已经解决了这个问题,现在您可以放心导入 Android 项目。导入完成后,即可正常使用所有Java语言功能。这是一个快速演示。

android

要使用此功能,您需要配置java.jdt.ls.androidSupport.enabled 。这是此设置的屏幕截图:

Android Setting

Spring功能增强

Spring Boot Dashboard中的 Spring Boot Actuator 集成

从今年开始,我们为Spring Dashboard插件添加了大量功能,以便为 Spring 开发者带来更好的可视化体验。Dashboard中的一个常用功能是显示正在运行的 Spring 项目的运行时信息。但是,要启用此功能,项目需要启用Spring Boot Actuator

为了给开发者提供更流畅的体验,我们在 Spring 项目中添加了自动检测 Spring Boot Actuator 依赖项的功能。如果没有检测到,我们会显示一个提示,让您知道运行时信息需要 Spring Boot Actuator ,甚至为您直接添加。如果您选择不添加,则只会显示静态信息。这是一个快速演示。

Spring actuator

Spring Boot 项目创建体验优化

Spring Boot 项目创建体验方面也有改进。在该流程中,我们添加了指向 Spring 文档和代码示例的外部链接。如果您看到书本图标,您可以单击该图标并浏览相关文档以获取有关项目组件的更多信息。

Spring Boot project creation

高网络延迟下的远程调试性能大幅提升

对云原生开发者的好消息:当网络延迟很高时,我们的远程调试性能有了显着的提升。在某些情况下,延迟可以减少2倍到45倍 。有兴趣的开发者可以在这个GitHub issue中找到详细的信息,包括技术背景和解决方案。我们还将撰写更完整的博客来讨论这一改进。请注意目前此功能仍是一个预览功能,所以默认在Insider版本启用,如果您想在Stable版本体验,请将`java.debug.settings.jdwp.async`设为true。这是一个展示体验的演示。

Remote debugging

测试 – 使用 JUnit 5 Tag过滤测试

最后,我们添加了一项功能来改进单元测试。在我们的最新版本中,我们添加了对 JUnit 5 Tag的支持,因此您可以在执行阶段过滤掉某些测试。使用该功能的方法是在settings.json中进行配置。进行配置的更多信息,请参阅本教程。以下是一个快速演示。

Junit 5

安装 Java 插件包

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

Image javapack

反馈与建议

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

资源

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

Author

Nick Zhu
Senior Program Manager

Developer at heart

0 comments

Discussion are closed.