NATIVE COVERAGE IN VS CODE EN VISUAL STUDIO

Coverage die in je editor leeft

Lees 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 en dotCover in, normaliseer ze naar één canoniek model, voeg runs deterministisch samen en lees het resultaat rechtstreeks in de gutters van de editor — in VS Code, en in Visual Studio 2022 en 2026 in elke editie. Geen aparte viewer waarvoor je je editor moet verlaten.

Download de VSIX Lees de gebruikershandleiding Bekijk functies

Gratis beginnen. Fucini Coverage Studio draait gratis tijdens een proefperiode van 14 dagen, met alles ontgrendeld. Daarna word je niet buitengesloten: de extensie valt terug op het gratis Community-tier — elke functie behalve MC/DC, met royale maandlimieten op een handvol daarvan. Upgrade wanneer je wilt voor de onbeperkte set, of ontgrendel alles gratis door gedetailleerde gebruikstelemetrie te delen. Bekijk de plannen →

Hierna: al deze dekking in Azure DevOps, als gratis extensie. Azure DevOps toont dekking op een build alleen zover zijn eigen formaat reikt — regels, en takken als een percentage. Fucini DevOps Studio zal alles tonen wat Coverage Studio leest: elk van deze 25 formaten, voor elke taal, met MC/DC, condities, de samengestelde score en de gates, als een Coverage-tabblad op de pipeline die het maakte. Volg het nieuws voor de eerste release.

Covered/uncovered gutters with the Test Coverage panel openScreenshot pending — add assets/img/hero.png (see SCREENSHOTS.md).

Als een AI de tests schreef

Een gegenereerde testsuite ziet er grondig uit. Coverage laat zien of dat zo is.

Een taalmodel schrijft je in seconden een testsuite, en hij leest overtuigend. Wat het je niet kan vertellen is of die tests iets raken dat ertoe doet — en regeldekking kan dat evenmin, want een test zonder enkele assertie laat elke regel die hij aanraakt gewoon oplichten.

◆ Beslissingen, niet alleen regels

MC/DC en branch coverage laten zien of elke beslissing echt is uitgeoefend, niet alleen of de regel is bereikt. Gegenereerde tests lopen kenmerkend het gelukkige pad en laten de andere kant van elke if onaangeroerd — wat leest als 100% regeldekking en 50% branchdekking. Dat gat is de bevinding.

◆ Functies die nooit zijn aangeroepen

Dode-codedetectie somt de functies op die geen enkele test heeft bereikt. Een gegenereerde suite noemt ze in zijn testtitels en komt er nooit aan toe, en dat is onzichtbaar in een groene testrun.

◆ Gekoppeld aan de wijziging voor je

Diff-coverage meet alleen wat er veranderd is ten opzichte van een git-basis, zodat "de tests slagen" verandert in "de code die je zojuist hebt geaccepteerd is getest". Dat werkt hetzelfde of een mens of een assistent hem schreef.

Niets hiervan bewijst dat een test goed is — dat kan niets. Het vertelt je precies en per regel wat nooit is uitgevoerd: het deel dat een reviewer niet in zijn hoofd kan houden en een assistent niet uit zichzelf meldt. Werkt met TypeScript en JavaScript via Vitest, Jest of nyc, en met C, C++, Java en Ruby via de tracefiles die die toolchains al produceren.

Waarom het anders is

Eén model, elk formaat, geen eigen viewer

◆ Vijfentwintig formaten binnen

LCOV, llvm-cov JSON, Cobertura, JaCoCo, Istanbul/nyc, SimpleCov, Clover, OpenCover, coverage.py, gcov JSON en platte tekst, Go, Coveralls, SonarQube, GNATcoverage, Bullseye, Visual Studio, Xcode, VectorCAST, Testwell CTC++, TRACE32, EMMA, UCIS/UCDB, NCover en dotCover — automatisch gedetecteerd en deterministisch samengevoegd met vastgelegde herkomst.

◆ Native UI naar buiten

Regel-, branch- en functiegutters, de overzichtsliniaal, Verkenner-badges en de weergave Covered Files.

◆ MC/DC & regio's

Modified Condition/Decision Coverage, regio- en C++-instantiëringsdekking uit llvm-cov, met uitsplitsing per beslissing bij hover.

◆ Veiligheidsgewogen score

Eén gewogen harmonisch gemiddelde over elke metriek, met gewichten afgestemd op IEC 61508 / ISO 26262 / DO-178C-niveaus.

◆ Compliance-gating

COMPLIANT / NON-COMPLIANT-oordelen met per-metriek drempels en de modi strict, whm, both of either.

◆ Diff-coverage

Beperk decoraties tot regels die zijn gewijzigd ten opzichte van een git-basisref — ideaal om precies te zien wat een PR wel of niet dekt.

Aan de slag in 30 seconden

  1. Installeer de extensie en open je project.
  2. Draai je tests — Command Palette → Fucini Coverage: Run Tests with Coverage. Het herkent vitest, jest, pytest, go, cargo, dotnet, maven, gradle, phpunit en ctest, draait je tests met dekking aan en laadt wat ze wegschrijven. Heb je al een tracebestand? Fucini Coverage: Pick Coverage File laadt het en onthoudt het.
  3. Open een bronbestand — de marge laat zien welke regels draaiden, de statusbalk het percentage van het bestand, een hover het aantal keren dat elke regel draaide, en de run staat in de Coverage-weergave en in het eigen Test Coverage-paneel van VS Code. Daarna herlaadt het vanzelf zodra het tracebestand verandert.

Vereist VS Code ≥ 1.88, of Visual Studio 2022 of 2026 — Community, Professional of Enterprise — plus een coverage-tracefile die je project al produceert. In Visual Studio 2022 is de ingebouwde coverage alleen voor Enterprise; Coverage Studio voor Visual Studio toont hem ook op Community en Professional, uit het bestand dat je build al schrijft.

Hoe het zich verhoudt

VS Code zelf en een aantal gratis extensies tonen ook dekking. Dit is wat de eigen documentatie van elk zegt dat het doet, per september 2026 — waar een README iets niet noemt, zegt de tabel dat in plaats van te gokken.

Fucini Coverage StudioVS Code, ingebouwdCoverage GuttersCode Coverage (markis)Gcov Viewer
Waar de dekking vandaan komt25 tracebestandsformaten, plus mutatierapporten van PIT en Strykereen testextensie die dekking rapporteertlcov- en XML-bestandenlcov-bestanden.gcda-bestanden van GCC, via gcov
Niet-gedekte regels in de editor✓✓✓✓, en in Problems✓
Branchdekking, per tak✓als de testextensie het rapporteertniet beschrevenniet beschrevenniet beschreven
MC/DC✓ (Pro)—niet beschrevenniet beschrevenniet beschreven
Meerdere tracebestanden samengevoegd, en welk bestand elke regel dekte✓—meerdere bestanden ondersteundniet beschrevenniet beschreven
Herlaadt als het tracebestand verandert✓toont de laatste testrun✓niet beschrevenniet beschreven
Diff-dekking, drempels en geschiedenis✓dekking getoond in de diff-editorniet beschrevenniet beschrevenniet beschreven
HTML-rapportgegenereerd, zelf gehost—toont een bestaand rapportniet beschrevenniet beschreven
Dekking voor AI-agents: language-model-tools en een MCP-server✓niet beschrevenniet beschrevenniet beschrevenniet beschreven
De tests die een regel uitvoerden, en de tests die door uw wijzigingen worden geraakt✓dekking per test, wanneer de testextensie die rapporteertniet beschrevenniet beschrevenniet beschreven
Resultaten van mutatietests in de editor✓ (PIT, Stryker)niet beschrevenniet beschrevenniet beschrevenniet beschreven
Een gate op nieuwe code✓niet beschrevenniet beschrevenniet beschrevenniet beschreven
Dezelfde cijfers in Visual Studio en op de opdrachtregel✓—niet beschrevenniet beschrevenniet beschreven

Het is geen of-of met de eigen weergave van VS Code: elke lading wordt ook gepubliceerd in het ingebouwde Test Coverage-paneel, filteren per test inbegrepen. Is hier iets verouderd? Laat het weten via de contactpagina.

Ondersteunde formaten

FormaatTypisch bestand
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
Bekijk elke functie Volledige gebruikershandleiding