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

294 天前
 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 InsidersPre-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 的相关信息

1271 次点击
所在节点    Visual Studio Code
5 条回复
Loocor
294 天前
除了性能( Build 状态耗时还是挺长,其他的插件基本都会卡住)还需要再加油外,其他其实都挺好的👍
Richardhtw
294 天前
加油
ChrisFreeMan
294 天前
真希望看到 VSCode 团队可以分享打磨 Electron 应用的经验。
waiaan
293 天前
希望能解决 spring boot 在控制台打印日志中文为乱码的问题。
winffee
289 天前
@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