VS CODE と VISUAL STUDIO のネイティブ カバレッジ

エディターの中に息づくカバレッジ

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 でも。エディターを離れて別のビューアーを開く必要はありません。

VSIX をダウンロード ユーザーガイドを読む 機能を見る

無料で始められます。Fucini Coverage Studio は14日間のトライアルのあいだ、すべての機能がアンロックされた状態で無料で動作します。トライアル終了後もロックアウトはせず、無料の Community ティアに移行します — MC/DC を除くすべての機能が使え、そのうち一部には余裕のある月間上限が付きます。いつでもアップグレードして制限のないセットに移行できるほか、詳細な使用状況テレメトリを共有すればすべてを無料でアンロックすることもできます。プランを見る →

次に来るもの: このカバレッジのすべてを Azure DevOps で、無料の拡張機能で。 Azure DevOps がビルドに表示するカバレッジは、自身の形式が及ぶ範囲まで — 行と、パーセンテージとしての分岐 — に限られます。Fucini DevOps Studio は Coverage Studio が読み取るすべてを表示します: これら 25 の形式のすべてを、あらゆる言語について、MC/DC、条件、複合スコア、ゲートとともに、それを生成したパイプラインの Coverage タブとして。最初のリリースはニュースでお知らせします。

Covered/uncovered gutters with the Test Coverage panel openScreenshot 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 はそれぞれのツールチェーンがすでに出力するトレースファイル経由で動作します。

他との違い

1つのモデル、あらゆるフォーマット、専用ビューア不要

◆ 25 種類の入力フォーマット

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 — 自動検出され、記録された由来情報とともに決定論的にマージされます。

◆ ネイティブUI出力

行・ブランチ・関数のガター、概要ルーラー、エクスプローラーのバッジ、そして Covered Files ビュー。

◆ MC/DC とリージョン

llvm-cov による Modified Condition/Decision Coverage、リージョンおよび C++ インスタンス化カバレッジを、ホバー時の判定ごとの内訳とともに提供します。

◆ 安全性重み付けスコア

全メトリクスにわたる単一の加重調和平均。重みは IEC 61508 / ISO 26262 / DO-178C の各レベルに整合しています。

◆ コンプライアンスゲーティング

メトリクスごとの閾値と strict、whm、both、either モードによる COMPLIANT / NON-COMPLIANT 判定。

◆ 差分カバレッジ

git のベース参照と比較して変更された行のみに装飾を限定 — PR がカバーした部分・していない部分を正確にレビューするのに最適です。

30 秒で使い始める

  1. 拡張機能をインストールして、プロジェクトを開きます。
  2. テストを実行します — コマンドパレット → Fucini Coverage: Run Tests with Coverage。vitest、jest、pytest、go、cargo、dotnet、maven、gradle、phpunit、ctest を認識し、カバレッジを有効にしてテストを実行し、書き出された結果を読み込みます。トレースファイルが既にある場合は、Fucini Coverage: Pick Coverage File で読み込むと、以後も記憶されます。
  3. ソースファイルを開きます — ガターは実行された行を、ステータスバーはファイルの割合を、ホバーは各行の実行回数を示し、実行結果は Coverage ビューと VS Code 自身の Test Coverage パネルに表示されます。以後はトレースファイルが変わるたびに自動で再読み込みされます。

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 StudioVS Code(標準機能)Coverage GuttersCode 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 パネルにもテストごとの絞り込みを含めて公開されます。内容が古くなっている場合は、お問い合わせページからお知らせください。

対応フォーマット

フォーマット典型的なファイル
LCOVlcov.info, *.info
llvm-cov JSONllvm-cov export --format=json
Cobertura XMLcoverage.xml
JaCoCo XMLjacoco.xml
Istanbul / nyccoverage-final.json
SimpleCov (Ruby).resultset.json, coverage.json
Clover XMLclover.xml
OpenCover XMLcoverage.opencover.xml
coverage.py JSONcoverage.json (coverage json)
gcov / gcovr JSONgcov --json-format --stdout, gcovr --json
Go coverage profilecoverage.out
SonarQube generic<coverage version="1"> XML
GNATcoverage XML (Ada)gnatcov coverage --annotate=xml
BullseyeCoverage XMLcovxml output
Visual Studio.coveragexml (dotnet-coverage convert)
Coveralls JSONcoveralls.json
Xcode xccov JSONxcrun xccov view --report --json
すべての機能を見る 完全なユーザーガイド