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 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 有关的专属开发体验。

反馈与建议

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

资源

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

相关推荐
邪修king1 小时前
Re:Linux 系统篇(三十五):进程间通信Chapter2:从匿名管道到进程池:Linux 进程间通信实战(深度理解「先描述,再组织」)
java·linux·运维
拆房老料1 小时前
【第四部分:Agentic 智能体设计模式】16. 一个 Prompt 搞不定复杂任务?试试 Prompt Chaining
java·前端·人工智能·设计模式·prompt
张张123y2 小时前
后端第十四课:Agent 记忆系统(让 Agent 记住上下文和用户,跨会话不健忘)
java·大数据·人工智能·python·agent·记忆
阿里嘎多学长6 小时前
2026-10-20 GitHub 热点项目精选
开发语言·程序员·github·代码托管
曹牧7 小时前
C#:空合并运算符
java·前端·数据库
布吉岛的石头7 小时前
Java 程序员第 50 阶段2:预训练的目标函数:自回归语言建模本质
java·开发语言·人工智能·深度学习·回归·transformer
golang学习记7 小时前
IDEA 2026年的玩法已经完全不同
java·ide·intellij-idea
小羊没烦恼!7 小时前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
紧跟先前的步伐8 小时前
Go AI Agent 实战 05|Temperature 与生成参数:让模型输出可控
java·人工智能·golang
金銀銅鐵8 小时前
[Java] 展示添加元素时 ArrayList 的内部变化
java·后端·ai编程