May 5th, 2023

Java on Visual Studio Code的更新 – 2023年4月

Nick Zhu
Senior Program Manager

大家好,欢迎来到 Visual Studio Code Java 的 4 月更新!在此博客中,我们将带来大量基础用户体验更新,其中包括调试功能改进、Maven 插件中的配置文件支持、全新Java Project Explorer的用户界面和Spring Boot项目的可视化增强功能。有很多内容要讲,所以让我们开始吧。

Maven 插件中的Profile支持

Maven Profile允许您创建特定的构建配置并针对不同的环境或目标执行特定的构建阶段,从而优化您的构建过程。它们可以节省时间并减少错误,因为您不必维护多个 POM 文件。

我们在 Maven 插件中添加了对配置文件(Profile)的支持,它是 Java 插件包的一部分,因此您可以直观地看到您拥有的 Maven 配置文件。您还可以使用此插件在 Maven 配置文件之间切换,因此直接使用插件管理配置文件要容易得多。这是一个演示。

Image maven

在调试模式下自动显示所有惰性变量(Lazy Variable)的值

当我们为调试器引入惰性变量(Lazy Variable)时,我们的目的是推迟对昂贵变量的计算操作,直到用户显式扩展查看它们的值,目的是优化性能。但是,我们听到用户反映,这带来了一些用户体验的副作用,在调试模式下,开发者必须不断地额外点击才能显示一些基本类型变量的值,非常不方便。

因此,我们添加了“Auto Expand Lazy Variables ”(自动展开惰性变量)的菜单项来自动展开所有惰性变量。当用户在菜单中单击它时,将自动显示所有惰性变量的值,因此用户无需手动单击每个惰性变量即可查看值。如果用户想要恢复此行为,只需再次在菜单中单击“ Manual Expand Lazy Variables ”(手动展开惰性变量)。这是此功能的演示。

Auto expand lazy variable

新的 Java Project Explorer 用户界面

我们总是从用户那里听到他们希望在 Java Project Explorer 中看到更多的项目,尤其是与构建工具相关的文件(例如 POM.xml)以及资源文件。因此,我们重新设计了 Java Project Explorer 的UI以包含额外的文件资源。对于那些依赖 Java Project Explorer 视图的开发人员,现在您可以轻松地直接访问这些文件。目前此设计仍处于早期阶段,请让我们知道您的想法,并在https://github.com/microsoft/vscode-java-pack/issues上留下您的反馈。

Java Project Explorer New UX

在 Spring Boot Dashboard 中查看 Spring 项目的实时属性

属性配置是 Spring Boot项目的关键部分,因为它们提供了一种方便的方法来配置和自定义我们的 Spring 应用程序的行为。然而,有时随着我们的应用程序的增长,很容易忘记这些属性的值,并且很难在应用程序运行时将它们可视化。作为我们最新的 Spring Boot 增强功能的一部分,我们添加了对在 Spring Boot Dashboard中可视化正在运行的 Spring 项目的实时属性的支持。让我们看一个快速演示。

Spring property live value

请注意,这可能会暴露一些非常重要的值,因此请自行决定使用它们。要启用此功能,您还需要设置-Dmanagement.endpoint.env.show -values=ALWAYS。您可以在此处的指南中阅读更多相关信息

安装 Java 插件包

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

Image javapack

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

Spring boot extension pack

反馈与建议

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

资源

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

Author

Nick Zhu
Senior Program Manager

Developer at heart

0 comments

Discussion are closed.