Java on Visual Studio Code 的更新 – 2024 年 1 月 测试覆盖率用户体验更新、 Java 语言服务器状态用户体验改进、修复“编辑器内容不同步”问题

2024 年 2 月 1 日
 winffee

大家好,欢迎来到 Visual Studio Code for Java 2024 年的第一期更新!提前祝愿大家春节快乐!在本博客中,我们将有关于 JDK21 、测试覆盖率界面以及用户体验相关的更新,让我们开始吧!

Java 21 功能支持更新

正如我们在去年 12 月的路线图博客文章中所分享的那样,集成 JDK 21 支持是我们对增强核心体验的重点。在 JDK21 发布后,我们做了很多努力来支持它的新特性。在这里我们很高兴分享我们的目前进度。以下是我们当前支持和仍在开发中的功能的状态。

当前状态

430: 字符串模板(预览) 已支持
431: 有序集合 已支持
439: 分代 ZGC 已支持
440: 记录模式 已支持
441: switch 的模式匹配 已支持
442: 外部函数和内存 API (第三次预览版) 已支持
443: 未命名模式和变量(预览) 正在进行中
444: 虚拟线程 已支持
445: 未命名类和实例主要方法(预览) 正在进行中
446: 作用域值(预览) 已支持
448: Vector API (第六个孵化器) 已支持
449: 弃用 Windows 32 位 x86 移植 已支持
451: 准备禁止动态加载代理 已支持
452: 密钥封装机制 API 已支持
453: 结构化并发(预览版) 已支持

我们将继续开发剩余功能,并很快再次分享更新。如您不需要使用那些未支持的特性,您已经可以在 VS Code Java 使用 JDK21 。

测试覆盖率用户体验更新

在我们之前的博客中,我们分享了已经可以在 Visual Studio Code Insider 版本中使用的新测试覆盖率功能。然而,之前的功能需要用户选择“使用配置文件执行(Execute Using Profile)”才能看到覆盖结果,这并不直观。此外,编辑器区域中没有明显提示您的代码是否被覆盖。在我们最新的预发布版本中,我们改进了这两个问题。现在,您只需单击“调试测试”旁边的“运行覆盖率测试(Run with Coverage)”按钮即可获得覆盖率(请注意,该图标目前是一个测试图标,并将发生变化)。这是一个演示。

另外,您还可以在编辑器区域中很直观地查看代码是否已经被测试覆盖。

要使用测试覆盖率功能,请确保您安装了Visual Studio Code Insiders和Pre-release版本的Extension Pack for Java 。

Java 语言服务器状态用户体验改进

另一个用户体验改进是关于 Java 语言服务器状态。以前,用户只能在当前打开文件是 Java 代码的时候看到**{}** 状态图标。这对于许多用户以及处理多语言项目的用户来说都很不方便,因为 Java 项目可能包含其他类型的文件。在最新版本中,我们对状态图标进行了改进。该图标现在与**{}**平行,以便于访问。另外,现在只要激活了 Java 插件,无论当前打开的文件是什么,图标都会显示 Java 语言服务器的状态。下面的图片展示了差异。

更新前

更新后

修复“编辑器内容不同步”问题

插件的可靠性一直是我们的首要任务,最近我们发现了一个问题,导致编辑器内容与 Java 语言服务器不同步,进而会报告过时的错误。我们的调查和 GitHub 上的用户都报告了这一点。

我们已经发布了针对此问题的修复程序。发布后,我们观察到事件的发生率显着减少。如果您遇到任何其他问题,请随时在此处创建问题。

安装 Java 插件包

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

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

反馈与建议

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

资源

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

2621 次点击
所在节点    Visual Studio Code
5 条回复
Loocor
2024 年 2 月 1 日
除了性能( Build 状态耗时还是挺长,其他的插件基本都会卡住)还需要再加油外,其他其实都挺好的👍
selfi
2024 年 2 月 1 日
加油
ChrisFreeMan
2024 年 2 月 1 日
真希望看到 VSCode 团队可以分享打磨 Electron 应用的经验。
waiaan
2024 年 2 月 2 日
希望能解决 spring boot 在控制台打印日志中文为乱码的问题。
winffee
2024 年 2 月 6 日
@waiaan 确保你的控制台(例如 VS Code 的集成终端或其他命令行工具)使用的字符编码是 UTF-8 。

在你的 application.properties 或 application.yml 文件中,添加以下设置:

spring.mandatory-file-encoding=UTF-8

spring:
mandatory-file-encoding: UTF-8

这可以强制 Spring Boot 使用 UTF-8 编码来读取和写入文件,包括日志文件。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1013329

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX