August 9th, 2021

Java on Visual Studio Code的更新 – 2021年7月

Nick Zhu
Senior Program Manager

大家好,欢迎来到 7 月版的 Visual Studio Code Java 更新。在这篇文章中,我们将分享我们整体产品路线图的进展,并重点介绍我们全新的测试体验,以及在Maven 和项目管理相关的改进。让我们开始吧!

全新的Java测试体验

随着 Visual Studio Code 1.59.0 正式版本的发布,全新的插件测试 API 也从试验版本进入了正式版本。自 2020 年 9 月起至今,经过了将近一年及数次版本迭代的打磨,不管是 API 的功能性还是易用性,与首个预览版本相比都获得了极大的提升。其中 Java Test Runner (包含在 Java 扩展包中)作为首批采用了测试 API 的插件,也发布了全新的 0.31.0 版本,在功能和用户体验上迎来了许多新的提升和亮点。接下来我们就通过 Java Test Runner 插件,看看新的测试 API 能帮助插件在测试的使用场景下提供哪些功能!

全新的Testing Decoration

现在用户可以在编辑器左侧区域看到一排新的按钮(Testing Decoration),直接点击会立即运行该行对应的测试用例,右键则能看到更多的选项。与过去的 Code Lens 不同,它可以减少在编辑区域内对用户的干扰。

Testing Decoration

功能更强大的测试浏览器

测试浏览器(Testing Explorer)焕然一新,现在用户可以自定义浏览器的显示方式和排序方式,以满足不同的场景和习惯。用户也可以直接通过测试浏览器来运行或者调试测试。

Test Explorer

另外新的测试浏览器内嵌了搜索栏的支持,帮助用户快速查找目标测试用例,加速开发效率。

Test Search Filter

内容更丰富的 Test Message

新的测试 API 允许插件在编辑区域内嵌显示测试执行结果等内容,更方便快捷地查看错误和堆栈信息:

Test Error Message

想了解更多关于新测试功能的特性, 请访问 官方文档

Maven 依赖管理体验改进

除了测试体验,我们还对 Maven 依赖管理做了一些改进。具体来说,我们改进了 Maven 依赖树的界面,使其更加人性化。此外,我们意识到 Maven 依赖冲突有时会较难处理,有时 Maven 可能无法按照我们希望的方式自动解决冲突,这可能会导致我们在运行应用程序时出错。因此,我们对 Maven 扩展进行了一些更改,以更好地在界面中展示 Maven 如何解决依赖冲突。另外,Maven POM 中的冲突将直观地出现在Terminal的错误Tab中。在用户单击这些错误后,Visual Studio Code 将提示开发人员修复冲突并选择要使用的依赖项。下图展示了如何帮助用户快速解决冲突的案例。

Resolve Maven conflict

项目管理

除了测试和依赖管理,我们还改进了项目管理相关的功能。具体而言,我们修复了项目浏览器无法正常工作的几个问题。这是我们所做的增强/错误修复的列表。

  • 在没有构建工具的情况下创建项目时,默认明确设置输出路径 (Issue #523)
  • 编辑时 Java 项目资源管理器意外扩展 (Issue #502)
  • 从 Java Project Explorer 中删除包时无法自动刷新 (Issue #458)
  • 当我保存文件时,“EXPLORER”会自动展开并显示 (Issue #430)
  • 打开不在类路径上的文件时观察到异常 (Issue #494)

产品路线图进展更新

上个月,我们分享了未来几个月的路线图。在博客中,我们提到了几个领域作为我们的重点

  • 基本开发体验的持续改善
  • 构建工具 (Maven / Gradle)
  • 远程开发 / Codespaces 支持
  • 测试
  • 安全
  • 调试 (探索虚拟线程)

作为 7 月博客的一部分,我们希望给大家更新一下目前的进展。绿色标记的文字是我们取得重要进展的领域。正如前面部分所述,我们在改进整体测试 API 体验方面迈出了一大步。在接下来的几个月中,我们还将继续添加更多与测试相关的功能(例如测试覆盖率)。在构建工具方面,我们一直在改进我们的 Maven 体验,与此同时我们将继续致力于更好的 Gradle 支持。最后,我们已经在 Java 开发环境中支持了受信任/不受信任的工作区,因此我们在安全方面也有了较显著的进展。

对于路线图中提到的其他领域,我们一直在积极改善相关的体验,并将在取得重要进展时提供更新。

反馈与建议

请积极使用我们的产品!您的反馈和建议对我们非常重要,并将帮助我们做得更好。 有几种方法可以给我们留下反馈

  • 在这个帖子下留言
  • 在我们的GitHub repo上创建Issue

资源

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

Author

Nick Zhu
Senior Program Manager

Developer at heart

7 comments

Discussion is closed. Login to edit/delete existing comments.

  • Jianwei Sun

    很酷,慢慢开始不用 IntelliJ 了。

    • Nick ZhuMicrosoft employee Author

      谢谢您对VS Code的支持,如果有什么问题可以随时留言

  • 毛翼坤

    请问有没有计划支持复制java文件的全类名呢

    • Nick ZhuMicrosoft employee Author

      您好,可以请您说得更详细一些吗

      • 翼坤 毛

        就是可以拷贝java工程的文件或者目录的引用路径,就像idea上的一样,在我平时的编码中比较常用到的比如在配置springboot的自动配置文件入口的时候,需要配置一个配置类作为入口,这个时候需要的是类的全类名,按照现在在vscode中的做法,我必须去找到需要配置的类,然后先复制包名,然后再复制类名填写到配置文件,但是在idea中直接在配置类文件上右键,即可选择复制引用路径,然后直接粘贴到配置文件就可以了。
        谢谢回复😄

      • 翼坤 毛

        好的,谢谢。👍