Java on VS Code 2024年1月更新|JDK 21支持!测试覆盖率功能最新体验!

作者:Nick Zhu - Senior Program Manager, Developer Division At Microsoft

排版:Alan Wang

大家好,欢迎来到 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 有关的专属开发体验。

反馈与建议

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

资源

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

相关推荐
椰椰椰耶3 分钟前
[网页五子棋][匹配模块]实现胜负判定,处理玩家掉线
java·开发语言·spring boot·websocket·spring
IT瘾君7 分钟前
JavaWeb:前后端分离开发-部门管理
开发语言·前端·javascript
on the way 1239 分钟前
结构性设计模式之Flyweight(享元)
java·设计模式·享元模式
行走的生活14 分钟前
vscode中无法使用npm node
ide·vscode·npm
我漫长的孤独流浪20 分钟前
C++ 11
开发语言·c++
发现你走远了39 分钟前
『uniapp』把接口的内容下载为txt本地保存 / 读取本地保存的txt文件内容(详细图文注释)
开发语言·javascript·uni-app·持久化保存
K____End1 小时前
Spring 中的disposableBean介绍
java·spring·rpc
噼里啪啦啦.1 小时前
SpringBoot统一功能处理
java·spring boot·后端
Bruk.Liu1 小时前
《IDEA 高效开发:自定义类/方法注释模板详解》
java·ide·intellij-idea·注释
叶 落1 小时前
[Java 基础]选英雄(配置 IDEA)
java·ide·intellij-idea