June 3rd, 2024

Java on Visual Studio Code的更新 – 2024年5月

Nick Zhu
Senior Program Manager

大家好,欢迎来到 Visual Studio Code 的 Java 五月更新!在本篇博客中,我们将分享一个令人兴奋的与AI相关的新功能,专门Visual Studio Code上的Java开发者准备。另外,还会有几个重要的Spring的重要更新,让我们开始吧!

基于Github Copilot优化并重构Java代码

当我们的代码更新迭代,我们的业务逻辑会不断变复杂。与此同时,Java的版本也在不同地升级。我们一些旧的代码通常可以用一些更好的新的代码去替代,不仅可以提升它们的效率,也可以使代码更美观和简洁。这些事情之前可能都需要我们人为去做,而随着AI的普及,慢慢很多任务都可以用AI相关工具去处理,而伴随Build大会2024的各种AI产品的发布,我们也想给广大在Visual Studio Code上的Java开发者带来一个好消息,我们已在Java插件中的Insider(Pre-release)版本中发布了一项重要的新功能: “Rewrite with new Java syntax“,允许开发者一键优化自己的Java代码!该功能与GitHub Copilot相互集成,因此开发者需要有GitHub Copilot的许可。

以下是该功能的工作流程:在您的Java类上,将会在类名上方出现一个新的CodeLens文本:“Rewrite with new Java syntax”。用户点击此文本后,将会触发对当前Java类的检查。检查完成后,Visual Studio Code将显示改进建议,并指示用户代码改进建议的位置。演示如下:

对于每个建议,会出现附加的CodeLens,显示具体改进建议的内容。用户可以直接点击CodeLens文本,这样将直接调出弹出GitHub Copilot的聊天对话框。用户可以直接查看潜在的代码修改建议,并会被提供“接受(Accept)”或“放弃(Discard)”的选择。如果用户接受建议,那么原有代码将被覆盖。让我们看看第一个示例,其中for循环可以用IntStream重构。

For loop to instream

再来看另一个示例,我们的功能建议将多重的if和else-if逻辑直接重写为switch表达式。通过点击CodeLens文本,代码可以直接重写为改进后的代码。

检查部分代码

有时我们可能不想检查整个类,因为有些代码可能过于复杂。我们的功也支持检查部分代码。我们只需选择要检查的代码,然后点击左侧的灯泡,选择“Rewrite with new Java syntax”。这是一个示例:

通过这种方式,开发人员可以更灵活地检查代码。

此功能旨在利用AI为Java开发人员提供有用的建议和方便的重构。我们希望这可以大大提高开发人员的生产力。目前该功能主要聚焦在用更新的Java语法替换当前的代码,如果您对此功能有任何反馈,请在我们的GitHub repo上提交问题

要使用此功能,开发人员需要安装Insider(Pre-release)版本Java插件包GitHub Copilot插件。(需拥有GitHub Copilot许可证)

Spring相关更新

JPQL 语法高亮

Spring Boot Tools插件现在为JPQL查询字符串提供语法高亮显示。语法高亮显示适用于Java源文件中的@Query注释以及命名查询属性文件。这使得阅读这些查询字符串更加容易。 以下是一个演示截图:

JPQL Syntax highlighting

从`pom.xml` 直接添加Spring Boot Starter

我们在Spring Boot项目的pom.xml文件的依赖部分添加了一个可点击的提示。这个可点击的提示直接调用支持添加额外的Spring Boot starter模块。这提高了该功能的可发现性和可用性,使其非常容易找到和使用。

Image thumbnail hint add starters

Spring Boot Dashboard 可以显示当前激活的Profile

Spring Boot Dashboard现在在运行的Spring Boot应用程序的端口旁边直接显示活动的配置文件。这在预发布(Pre-release)版本中可用。

Dashboard profiles

自动将application property转换为YAML及其反向转换

Spring Boot Tools现在提供操作,自动将application.properties文件转换为YAML格式,反之亦然。这使得切换到你喜欢的格式非常简单,以下是一个演示

Convert properties

性能和占用空间的改进

Spring项目的索引基础设施得到了改进。以前的机制能够在内存耗尽之前索引单个项目中约6,500个Java源文件。最新版本现在在相同的内存限制内可以索引多达60,000个Java源文件。此外,用于Spring特定验证的Java源文件的初始和持续性能现在比以前快了两倍。

测试覆盖率更新

在四月份,我们在Visual Studio Code的稳定版本上发布了我们的Test Runner插件的测试覆盖率功能。发布后,我们收到了很多积极的反馈。但是,我们也收到了关于如何使用该功能的问题。一个常见的问题是如何在每次执行时重置覆盖数据。

默认情况下,插件将追加覆盖数据(我们使用jacoco作为工具,jacoco默认会追加覆盖数据

如果您想在每次覆盖执行之前重置覆盖数据,可以使用以下设置:

"java.test.config": {
     "coverage": {
         "appendResult": false
     }
}

Install Extension Pack for Java

To use all features mentioned above, please download and install Extension Pack for Java on Visual Studio Code.

Extension pack for Java

If you are a Spring developer working on a Spring Boot application, you can also download the Spring Boot Extension Pack for specialized Spring experience.

Spring boot extension pack

Feedback and suggestions

As always, your feedback and suggestions are very important to us and will help shape our product in future. There are several ways to give us feedback

  • Leave your comment on this blog post
  • Open an issue on our GitHub Issues page
  • Send an email to: vscjfeedback@microsoft.com

Resources

Here is a list of links that are helpful to learn Java on Visual Studio Code.

 

 

安装 Java 插件包

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

Image javapack

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

Spring boot extension pack

反馈与建议

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

资源

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

Author

Nick Zhu
Senior Program Manager

Developer at heart

0 comments

Discussion are closed.