lcov、llvm-cov JSON、Cobertura、JaCoCo、Istanbul、SimpleCov、Clover、OpenCover、coverage.py、gcov、Go、Coveralls、SonarQube、GNATcoverage、Bullseye、Visual Studio、Xcode、VectorCAST、Testwell CTC++、TRACE32、EMMA、UCIS/UCDB、NCover、dotCover のトレースファイルを取り込み、1 つの正規モデルに正規化し、実行を決定論的にマージして、結果をエディターのガターから直接読む — VS Code でも、あらゆるエディションの Visual Studio 2022 と 2026 でも。エディターを離れて別のビューアーを開く必要はありません。
無料で始められます。Fucini Coverage Studio は14日間のトライアルのあいだ、すべての機能がアンロックされた状態で無料で動作します。トライアル終了後もロックアウトはせず、無料の Community ティアに移行します — MC/DC を除くすべての機能が使え、そのうち一部には余裕のある月間上限が付きます。いつでもアップグレードして制限のないセットに移行できるほか、詳細な使用状況テレメトリを共有すればすべてを無料でアンロックすることもできます。プランを見る →
次に来るもの: このカバレッジのすべてを Azure DevOps で、無料の拡張機能で。 Azure DevOps がビルドに表示するカバレッジは、自身の形式が及ぶ範囲まで — 行と、パーセンテージとしての分岐 — に限られます。Fucini DevOps Studio は Coverage Studio が読み取るすべてを表示します: これら 25 の形式のすべてを、あらゆる言語について、MC/DC、条件、複合スコア、ゲートとともに、それを生成したパイプラインの Coverage タブとして。最初のリリースはニュースでお知らせします。
Screenshot pending — add assets/img/hero.png (see SCREENSHOTS.md).AI がテストを書いたなら
言語モデルは数秒でテスト一式を書き上げ、説得力のある文面になります。しかし、そのテストが本当に意味のある場所に届いているかは教えてくれません。行カバレッジも同じです。アサーションが一つもないテストでも、通った行はすべて点灯するからです。
MC/DC と分岐カバレッジは、行に到達したかではなく、それぞれの判定が実際に実行されたかを示します。生成されたテストは典型的に正常系だけを通り、if のもう一方には触れません。これは行 100%、分岐 50% として現れます。その差こそが発見です。
デッドコード検出は、どのテストからも到達されなかった関数を一覧にします。生成されたテストはテスト名でそれらに言及しながら、実際には到達しません。テストが緑のままでは気づけません。
差分カバレッジは git のベースラインからの変更点だけを測ります。「テストが通る」が「いま受け入れたコードはテストされている」に変わります。人が書いても、アシスタントが書いても同じです。
これらはテストが良いことを証明しません。何をもってしても証明はできません。示すのは、どこが一度も実行されなかったかを行単位で正確に、ということです。レビュー担当者が頭に留めておけず、アシスタントも自分からは言わない部分です。TypeScript と JavaScript は Vitest・Jest・nyc 経由で、C、C++、Java、Ruby はそれぞれのツールチェーンがすでに出力するトレースファイル経由で動作します。
他との違い
LCOV、llvm-cov JSON、Cobertura、JaCoCo、Istanbul/nyc、SimpleCov、Clover、OpenCover、coverage.py、gcov JSON とプレーンテキスト、Go、Coveralls、SonarQube、GNATcoverage、Bullseye、Visual Studio、Xcode、VectorCAST、Testwell CTC++、TRACE32、EMMA、UCIS/UCDB、NCover、dotCover — 自動検出され、記録された由来情報とともに決定論的にマージされます。
行・ブランチ・関数のガター、概要ルーラー、エクスプローラーのバッジ、そして Covered Files ビュー。
llvm-cov による Modified Condition/Decision Coverage、リージョンおよび C++ インスタンス化カバレッジを、ホバー時の判定ごとの内訳とともに提供します。
全メトリクスにわたる単一の加重調和平均。重みは IEC 61508 / ISO 26262 / DO-178C の各レベルに整合しています。
メトリクスごとの閾値と strict、whm、both、either モードによる COMPLIANT / NON-COMPLIANT 判定。
git のベース参照と比較して変更された行のみに装飾を限定 — PR がカバーした部分・していない部分を正確にレビューするのに最適です。
Fucini Coverage: Run Tests with Coverage。vitest、jest、pytest、go、cargo、dotnet、maven、gradle、phpunit、ctest を認識し、カバレッジを有効にしてテストを実行し、書き出された結果を読み込みます。トレースファイルが既にある場合は、Fucini Coverage: Pick Coverage File で読み込むと、以後も記憶されます。VS Code 1.88 以降、または Visual Studio 2022 か 2026 が必要です — Community、Professional、Enterprise のいずれか — それに加えて、プロジェクトがすでに生成しているカバレッジ トレースファイル。Visual Studio 2022 では組み込みのカバレッジは Enterprise 限定ですが、Visual Studio 版 Coverage Studio はビルドがすでに書き出しているファイルから、Community と Professional でも表示します。
VS Code 本体や、いくつかの無料拡張機能もカバレッジを表示します。以下は 2026 年 9 月時点で、それぞれの公式ドキュメントに書かれている機能です。README に記載のない項目は、推測せずにそのように記しています。
| Fucini Coverage Studio | VS Code(標準機能) | Coverage Gutters | Code Coverage (markis) | Gcov Viewer | |
|---|---|---|---|---|---|
| カバレッジの入手元 | 25 種類のトレースファイル形式と、PIT・Stryker のミューテーションレポート | カバレッジを報告するテスト拡張機能 | lcov と XML ファイル | lcov ファイル | GCC の .gcda ファイル(gcov 経由) |
| エディターでの未カバー行 | ✓ | ✓ | ✓ | ✓(Problems にも表示) | ✓ |
| アームごとのブランチカバレッジ | ✓ | テスト拡張機能が報告する場合 | 記載なし | 記載なし | 記載なし |
| MC/DC | ✓ (Pro) | — | 記載なし | 記載なし | 記載なし |
| 複数トレースファイルの統合と、各行をどれがカバーしたか | ✓ | — | 複数ファイルに対応 | 記載なし | 記載なし |
| トレースファイル変更時の再読み込み | ✓ | 最後のテスト実行を表示 | ✓ | 記載なし | 記載なし |
| 差分カバレッジ、しきい値、履歴 | ✓ | 差分エディターにカバレッジを表示 | 記載なし | 記載なし | 記載なし |
| HTML レポート | 生成、セルフホスト | — | 既存のレポートをプレビュー | 記載なし | 記載なし |
| AI エージェント向けのカバレッジ: 言語モデルツールと MCP サーバー | ✓ | 記載なし | 記載なし | 記載なし | 記載なし |
| ある行を実行したテストと、変更の影響を受けるテスト | ✓ | テスト拡張機能が報告する場合、テストごとのカバレッジ | 記載なし | 記載なし | 記載なし |
| エディター内のミューテーションテスト結果 | ✓ (PIT, Stryker) | 記載なし | 記載なし | 記載なし | 記載なし |
| 新しいコードに対するゲート | ✓ | 記載なし | 記載なし | 記載なし | 記載なし |
| Visual Studio とコマンドラインでも同じ数値 | ✓ | — | 記載なし | 記載なし | 記載なし |
VS Code のビューとどちらか一方を選ぶ必要はありません。読み込みのたびに、ネイティブの Test Coverage パネルにもテストごとの絞り込みを含めて公開されます。内容が古くなっている場合は、お問い合わせページからお知らせください。
| フォーマット | 典型的なファイル |
|---|---|
| LCOV | lcov.info, *.info |
| llvm-cov JSON | llvm-cov export --format=json |
| Cobertura XML | coverage.xml |
| JaCoCo XML | jacoco.xml |
| Istanbul / nyc | coverage-final.json |
| SimpleCov (Ruby) | .resultset.json, coverage.json |
| Clover XML | clover.xml |
| OpenCover XML | coverage.opencover.xml |
| coverage.py JSON | coverage.json (coverage json) |
| gcov / gcovr JSON | gcov --json-format --stdout, gcovr --json |
| Go coverage profile | coverage.out |
| SonarQube generic | <coverage version="1"> XML |
| GNATcoverage XML (Ada) | gnatcov coverage --annotate=xml |
| BullseyeCoverage XML | covxml output |
| Visual Studio | .coveragexml (dotnet-coverage convert) |
| Coveralls JSON | coveralls.json |
| Xcode xccov JSON | xcrun xccov view --report --json |