六个步骤,两个编辑器中完全一样。Coverage Studio 不运行自己的测试:它读取您的工具已经写出的报告,并把它放到代码上 —— 在 VS Code 中,以及 Visual Studio 2022 和 2026 的 Community、Professional 和 Enterprise 中一视同仁。每个步骤在编辑器内也是一个页面,每步都有按钮:VS Code 中是演练,Visual Studio 中是 Tools → Coverage Studio → Getting Started。
还没安装? 下载适合您编辑器的构建 —— VS Code 的 Community 或 Pro,或 Visual Studio 版 —— 然后回到这里;用户指南有两者的安装步骤。想在接入自己的项目之前先试试?演示项目已经备好了报告。
25 种格式中的任何一种都可以 —— LCOV、Cobertura、llvm-cov、OpenCover、coverage.py、Istanbul 等等。如果手头没有,演示项目为 C、C++(clang 和 MSVC)、C#、Visual Basic、TypeScript、JavaScript 和 Python 各准备了一份。
File → Open Folder,或工作区文件。扩展激活后,活动栏中立即出现 Coverage 图标。
解决方案或文件夹(File → Open → Folder,CMake 项目就是这样打开的)。扩展随之加载;View → Other Windows → Coverage 是它的窗口。
位于常见位置的报告 —— coverage/lcov.info、coverage.xml、coverage-final.json 及其他常见名称,或设置所指向的位置 —— 会被自动找到并加载。如果您的报告在别处,选择一次即可被记住。
命令面板 → Fucini Coverage: Load Coverage,或用 Pick Coverage File 选一个。Run Tests with Coverage 能识别 vitest、jest、pytest、go、cargo、dotnet、maven、gradle、phpunit 和 ctest,以覆盖率模式运行它们并加载其输出。
Tools → Coverage Studio → Load Coverage File…,一次即可。输出窗口的 Fucini Coverage 窗格会说明查找和找到了哪些文件。照常运行测试;Watch Coverage File 会在报告变化时重载。
打开一个源文件。红色是从未执行的行,琥珀色是只走过一个方向的判定。开箱即用时只标记这类发现;热力图按执行次数给每一行着色,行内命中计数在行后写出次数。
Toggle Coverage Painting 开关标记;fuciniCoverage.editorGutter.mode 选择 uncovered 或 heatmap,hitCounts.inline 选择计数。这次运行同时出现在 Coverage 视图和 VS Code 自带的 Test Coverage 面板中。
Tools → Coverage Studio → Show Coverage in Editor,然后按喜好选择 Gutter: Heatmap 或 Show Inline Hit Counts。设置完全相同 —— Visual Studio 版会读取您的 .vscode/settings.json。
在未测试的地方之间跳转,而不是滚动着找红色。每个函数上方的一行说明它执行了多少 —— 以及报告中若有的复杂度、CRAP 分数和 MC/DC。悬停在标记行上会用文字说明哪个分支没有走过。
Next Uncovered 是 Alt+N,上一个是 Alt+P;Next Partly-Tested Decision 转到下一个只走过部分分支的判定。
Ctrl+Shift+U 之后的两键和弦:N 和 P 转到下一个和上一个未覆盖的行,B 转到下一个部分测试的判定 —— 不是 Alt+N,因为在 Visual Studio 中 Alt 加字母会打开菜单。可在 Tools → Options → Keyboard 中更改。
每个文件及其指标 —— 行、分支、函数、MC/DC —— 以及一个总分:加权调和平均,光靠行覆盖率买不来。状态栏显示该分数 —— 针对整次运行和当前文件;把指针停在上面可查看完整卡片。
活动栏中的 Coverage 视图:排序、折叠、隐藏列,点击文件打开它。Show Worst-Covered Files 和 …Functions 列出从哪里开始。
View → Other Windows → Coverage 是同一棵树,标题中带有分数;右键点击一行可打开它或复制其路径。Show Coverage Card 无需指针即可打开状态栏卡片。
说出什么算够:每个指标的最低值,或要求一切都 100% 的安全配置。卡片随后会据此显示 COMPLIANT 或 NON-COMPLIANT,而同样的门槛在两个编辑器中都有效,因为它们是同一套设置。
Configure Coverage Compliance 打开设置;Check Coverage Thresholds 以命令形式给出判定,可用于 pre-commit 钩子或流水线。
Coverage 窗口工具栏上的齿轮打开设置窗口,它按其 Write changes to 选择器写入本版本的用户设置或文件夹的 .vscode/settings.json。
接下来:其余一切 —— 格式、合并、路径重映射、评分、HTML 报告 —— 见用户指南,套餐和许可证见 FAQ。Visual Studio 版包含在所有付费套餐中;已激活 VS Code 的机器无需再做任何事,未激活的机器可在 Tools → Coverage Studio → Licence… 中输入订阅代码。