大家好,欢迎来到 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重构。 再来看另一个示例,我们的功能建议将多重的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注释以及命名查询属性文件。这使得阅读这些查询字符串更加容易。 以下是一个演示截图: 从`pom.xml` 直接添加Spring Boot Starter 我们在Spring Boot项目的pom.xml文件的依赖部分添加了一个可点击的提示。这个可点击的提示直接调用支持添加额外的Spring Boot starter模块。这提高了该功能的可发现性和可用性,使其非常容易找到和使用。 Spring Boot Dashboard 可以显示当前激活的Profile Spring Boot Dashboard现在在运行的Spring Boot应用程序的端口旁边直接显示活动的配置文件。这在预发布(Pre-release)版本中可用。 自动将application property转换为YAML及其反向转换 Spring Boot Tools现在提供操作,自动将application.properties文件转换为YAML格式,反之亦然。这使得切换到你喜欢的格式非常简单,以下是一个演示 性能和占用空间的改进 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,
원문출처 : https://devblogs.microsoft.com/java-ch/java-on-visual-studio-code-2024-05
원문출처 : https://devblogs.microsoft.com/java-ch/java-on-visual-studio-code-2024-05