Coverage Studio

Fucini Coverage Studio for Visual Studio

The same coverage, in the other IDE — included with the subscription you already hold.

Coverage Studio reads the coverage file your build already wrote — 25 formats, from lcov and llvm-cov to JaCoCo, Cobertura, OpenCover, GNATcoverage and Xcode's xccov — and paints it on the code. This is that reader in Visual Studio: the same marks in the editor and the same numbers per file and per function as in Coverage Studio for VS Code, to the digit, for a run that happened wherever it happened, with nothing instrumented and no test run started from the IDE.

It runs on every edition that loads extensions — Community, Professional and Enterprise alike, and nothing in it asks which one you have. That matters more here than it usually does. In Visual Studio 2022, code coverage is an Enterprise feature: a C++ or C# team on Community or Professional has never seen coverage in this IDE at all, whatever their build already writes, and this is the only coverage those editions will show. Visual Studio 2026 opened its own coverage to every edition; the table below says where each of the two fits.

It is included with a Coverage Studio subscription — Pro, Pro Plus, Business or Enterprise — at no extra cost, and a 7-day pass covers it for its week; it is only for people who pay: there is no free tier in Visual Studio, and no commerce inside it either — no checkout, no trial, no upgrade prompt. A seat is a device, not an editor: on a machine where Coverage Studio for VS Code is activated, this edition finds that key by itself and claims no second seat. Students keep it for as long as their grant runs.

A repository set up for VS Code is set up for Visual Studio: the same fuciniCoverage.* settings are read from the same .vscode/settings.json, and your own colours and thresholds come along from VS Code's user settings when it is on the machine. A solution or a folder — the way a CMake project is opened — both work.

Status
Released — changelog
Platform
Visual Studio extension — Community, Professional and Enterprise, 2022 and 2026; .NET Framework 4.7.2 or later; the Coverage window uses the Microsoft Edge WebView2 Runtime
From

What is drawn where

WhereWhat
A margin left of the line numbersA bar per line: red never ran, amber partly, and in heatmap mode cold to hot by visit count
After a line×12, the visit count, with Show Inline Hit Counts
Above a functionOne line — 37.14% covered (13/35 lines), branches 10/22, complexity 22, CRAP 142.2 — beside Visual Studio's own CodeLens, not over it
The scroll barA stripe for every uncovered and partly covered line
A hover on a marked lineWhich branch was not taken, which condition was never shown to matter, in words
View → Other Windows → CoverageEvery file with its metrics and one score over all of them; files no test loaded listed beneath as Unmeasured
The status barCoverage 58.02% and File 61.79%, each opening the full card
Output window, Fucini CoverageWhat was looked for, found, loaded and remapped, and every problem with its code

Every command is under Tools → Coverage Studio; Getting Started there opens the six steps as a page with a button for each, in your language, and opens by itself the first time. The user guide says, section by section, where this edition differs from the VS Code one.

Beside Visual Studio's own coverage

 Visual Studio's built-in coverageCoverage Studio for Visual Studio
EditionsCommunity, Professional and Enterprise since Visual Studio 2026; Enterprise only in 2022 and earlierAny edition that loads extensions, 2022 and 2026, included with a Coverage Studio subscription
Where the numbers come fromIts own instrumented run, started from Test Explorer, vstest.console.exe or Microsoft.CodeCoverage.Console — wanting .pdb files, a debug build and optimisations offA coverage file that already exists, written by your build, your CI job or your target
LanguagesManaged (CLR) and native code, built and run on WindowsWhatever produced the file: C, C++, C#, Visual Basic, Java, Python, Go, Rust, Swift, Objective-C, Ada, PHP, Ruby, JavaScript and TypeScript
FormatsReads its own .coverage; exports .coverage, XML or CoberturaReads 25 formats, gzipped or not — lcov, llvm-cov, gcov/gcovr, Cobertura, JaCoCo, Istanbul, Clover, OpenCover, coverage.py, SimpleCov, GNATcoverage, BullseyeCoverage, Testwell CTC++, VectorCAST, TRACE32, xccov, Coveralls, SonarQube generic, and Visual Studio's own .coveragexml
What is countedBlocks, with a line count beside themLines, branches, conditions, functions and MC/DC, plus mutation reports read mutant by mutant
In the editorCoverage colouring on lines, on margin glyphs or both, refreshed by running coverage againMarks that follow the file as it is edited, hit counts, the decision that was only half tested, and a reload whenever the file your build writes changes

Neither replaces the other. If the tests are .NET and they run on your machine, Visual Studio 2026 already has you covered — and Coverage Studio will read what it exports. What it cannot do is show you the coverage of a build that ran on a target, a container or a CI runner, in a toolchain that writes lcov or llvm-cov, against the decision and condition levels a safety standard asks for; and on 2022 Community and Professional it cannot show you any coverage at all.

Not in this edition

Visual Studio has no counterpart for some of what the VS Code edition does, and some is still to come. Run Tests with Coverage and the Test Coverage view are VS Code APIs: here, run your tests as you do and let Watch Coverage File reload. Solution Explorer cannot show badges on files. Still to come, in the order subscribers ask for them: the annotated source view, the HTML report and the exports, Check Thresholds, the Error List entries, history and trend, diff coverage — say which part you need through the contact page.

Download for Visual Studio Coverage Studio for VS Code All products