NATYWNE POKRYCIE W VS CODE I VISUAL STUDIO

Pokrycie, które żyje w Twoim edytorze

Wczytuj pliki 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 i dotCover, normalizuj je do jednego kanonicznego modelu, deterministycznie scalaj przebiegi i odczytuj wynik prosto z marginesu edytora — w VS Code oraz w Visual Studio 2022 i 2026 w każdej edycji. Bez osobnej przeglądarki, dla której trzeba opuszczać edytor.

Pobierz VSIX Przeczytaj podręcznik użytkownika Poznaj funkcje

Start za darmo. Fucini Coverage Studio działa bezpłatnie przez 14-dniowy okres próbny, ze wszystkim odblokowanym. Później rozszerzenie nie blokuje ci dostępu, tylko przechodzi na bezpłatny poziom Community — wszystkie funkcje poza MC/DC, z hojnymi miesięcznymi limitami na kilku z nich. Przejdź wyżej w dowolnej chwili po zestaw bez ograniczeń albo odblokuj wszystko za darmo, udostępniając szczegółową telemetrię użycia. Zobacz plany →

Następne: całe to pokrycie w Azure DevOps, w bezpłatnym rozszerzeniu. Azure DevOps pokazuje pokrycie na buildzie tylko na tyle, na ile sięga jego własny format — wiersze, a gałęzie jako procent. Fucini DevOps Studio pokaże wszystko, co czyta Coverage Studio: każdy z tych 25 formatów, dla każdego języka, z MC/DC, warunkami, wynikiem złożonym i progami, jako kartę Coverage na pipelinie, który go wytworzył. Śledź aktualności w oczekiwaniu na pierwsze wydanie.

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

Gdy testy napisała SI

Wygenerowany zestaw testów wygląda solidnie. Pokrycie mówi, czy taki jest.

Model językowy napisze ci zestaw testów w kilka sekund i będzie brzmiał przekonująco. Czego nie powie, to czy te testy sięgają czegokolwiek istotnego — a pokrycie linii też tego nie powie, bo test bez żadnej asercji i tak podświetli każdą linię, której dotknie.

◆ Decyzje, nie tylko linie

MC/DC i pokrycie gałęzi pokazują, czy każda decyzja została naprawdę wykonana, a nie tylko czy linia została osiągnięta. Wygenerowane testy idą ścieżką szczęśliwą i zostawiają drugą stronę każdego if nietkniętą — co czyta się jako 100% linii i 50% gałęzi. Ta różnica jest wynikiem.

◆ Funkcje, których nikt nie wywołał

Wykrywanie martwego kodu wypisuje funkcje, do których nie dotarł żaden test. Wygenerowany zestaw wymienia je w tytułach testów i nigdy do nich nie dochodzi, co w zielonym przebiegu jest niewidoczne.

◆ Powiązane ze zmianą przed tobą

Pokrycie diffa mierzy tylko to, co zmieniło się względem bazy git, więc „testy przechodzą" staje się „kod, który właśnie zaakceptowałeś, jest przetestowany". Działa tak samo, czy napisał go człowiek, czy asystent.

Nic z tego nie dowodzi, że test jest dobry — nic tego nie potrafi. Mówi ci dokładnie i linia po linii, co nigdy nie zostało wykonane: część, której recenzent nie utrzyma w głowie, a asystent sam z siebie nie zgłosi. Działa z TypeScriptem i JavaScriptem przez Vitest, Jest lub nyc oraz z C, C++, Javą i Ruby przez tracefile, które te narzędzia i tak generują.

Czym się wyróżniamy

Jeden model, każdy format, zero własnej przeglądarki

◆ Dwadzieścia pięć formatów wejściowych

LCOV, llvm-cov JSON, Cobertura, JaCoCo, Istanbul/nyc, SimpleCov, Clover, OpenCover, coverage.py, gcov JSON i zwykły tekst, Go, Coveralls, SonarQube, GNATcoverage, Bullseye, Visual Studio, Xcode, VectorCAST, Testwell CTC++, TRACE32, EMMA, UCIS/UCDB, NCover i dotCover — automatycznie wykrywane i deterministycznie łączone z zapisanym pochodzeniem.

◆ Natywny interfejs wyjściowy

Wskaźniki wierszy, gałęzi i funkcji, linijka przeglądu, plakietki w Eksploratorze oraz widok Covered Files.

◆ MC/DC i regiony

Modified Condition/Decision Coverage, pokrycie regionów i instancjacji C++ z llvm-cov, z podziałem na decyzje po najechaniu kursorem.

◆ Wynik ważony bezpieczeństwem

Jedna ważona średnia harmoniczna dla wszystkich metryk, z wagami dopasowanymi do poziomów IEC 61508 / ISO 26262 / DO-178C.

◆ Bramkowanie zgodności

Werdykty COMPLIANT / NON-COMPLIANT z progami dla każdej metryki oraz trybami strict, whm, both lub either.

◆ Pokrycie różnicowe

Ogranicz dekoracje do linii zmienionych względem bazowej referencji git — idealne do sprawdzenia, co dokładnie pokrył lub nie pokrył dany PR.

Gotowe w 30 sekund

  1. Zainstaluj rozszerzenie i otwórz swój projekt.
  2. Uruchom testy — paleta poleceń → Fucini Coverage: Run Tests with Coverage. Rozpoznaje vitest, jest, pytest, go, cargo, dotnet, maven, gradle, phpunit i ctest, uruchamia testy z włączonym pokryciem i wczytuje to, co zapiszą. Masz już plik śledzenia? Fucini Coverage: Pick Coverage File wczyta go i zapamięta.
  3. Otwórz plik źródłowy — margines pokazuje, które wiersze się wykonały, pasek stanu procent pliku, podpowiedź liczbę wykonań każdego wiersza, a przebieg jest w widoku Coverage i we własnym panelu Test Coverage w VS Code. Od tej chwili wszystko samo się przeładowuje, gdy plik śledzenia się zmieni.

Wymaga VS Code ≥ 1.88 albo Visual Studio 2022 lub 2026 — Community, Professional lub Enterprise — oraz pliku śladu pokrycia, który Twój projekt już tworzy. W Visual Studio 2022 wbudowane pokrycie jest tylko w Enterprise; Coverage Studio dla Visual Studio pokazuje je także w Community i Professional, z pliku, który Twój build już zapisuje.

Na tle innych

VS Code oraz kilka darmowych rozszerzeń też pokazują pokrycie. Oto co według własnej dokumentacji robi każde z nich, stan na wrzesień 2026 r. — gdy README czegoś nie wspomina, tabela tak właśnie mówi, zamiast zgadywać.

Fucini Coverage StudioVS Code, wbudowaneCoverage GuttersCode Coverage (markis)Gcov Viewer
Skąd bierze się pokrycie25 formatów plików śledzenia, a do tego raporty mutacyjne PIT i Strykerrozszerzenie testowe, które zgłasza pokryciepliki lcov i XMLpliki lcovpliki .gcda z GCC, przez gcov
Niepokryte wiersze w edytorze✓✓✓✓, także w Problems✓
Pokrycie gałęzi, dla każdej gałęzi✓gdy rozszerzenie testowe je zgłaszanie opisanonie opisanonie opisano
MC/DC✓ (Pro)—nie opisanonie opisanonie opisano
Kilka plików śledzenia scalonych, z informacją, który pokrył każdy wiersz✓—obsługa wielu plikównie opisanonie opisano
Przeładowuje, gdy plik śledzenia się zmienia✓pokazuje ostatnie uruchomienie testów✓nie opisanonie opisano
Pokrycie zmian, progi i historia✓pokrycie w edytorze różnicnie opisanonie opisanonie opisano
Raport HTMLgenerowany, na własnym serwerze—podgląd istniejącegonie opisanonie opisano
Pokrycie dla agentów AI: narzędzia modelu językowego i serwer MCP✓nie opisanonie opisanonie opisanonie opisano
Testy, które wykonały wiersz, i testy, których dotyczą Twoje zmiany✓pokrycie per test, gdy rozszerzenie testowe je zgłaszanie opisanonie opisanonie opisano
Wyniki testów mutacyjnych w edytorze✓ (PIT, Stryker)nie opisanonie opisanonie opisanonie opisano
Bramka dla nowego kodu✓nie opisanonie opisanonie opisanonie opisano
Te same liczby w Visual Studio i w wierszu poleceń✓—nie opisanonie opisanonie opisano

To nie jest wybór albo-albo z widokiem VS Code: każde wczytanie trafia też do natywnego panelu Test Coverage, razem z filtrem według testu. Coś tu jest nieaktualne? Napisz na stronie kontaktowej.

Obsługiwane formaty

FormatTypowy plik
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
Zobacz każdą funkcję Pełny podręcznik użytkownika