НАТИВНЕ ПОКРИТТЯ У 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, нормалізуйте їх в одну канонічну модель, детерміновано зливайте запуски й читайте результат просто з поля редактора — у 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).

Коли тести написав ШІ

Згенерований набір тестів має вигляд ґрунтовного. Покриття показує, чи це так.

Мовна модель напише вам набір тестів за секунди, і він читатиметься переконливо. Чого вона не скаже — чи сягають ці тести чогось важливого. Покриття рядків теж цього не скаже, бо тест узагалі без жодного твердження однаково підсвітить кожен рядок, якого торкнеться.

◆ Рішення, а не лише рядки

MC/DC і покриття гілок показують, чи кожне рішення було справді виконане, а не лише чи було досягнуто рядок. Згенеровані тести зазвичай ідуть щасливим шляхом і залишають другий бік кожного if недоторканим — що читається як 100% рядків і 50% гілок. Саме цей розрив і є результатом.

◆ Функції, яких ніхто не викликав

Виявлення мертвого коду перелічує функції, до яких не дійшов жоден тест. Згенерований набір називає їх у заголовках тестів і ніколи до них не доходить — у зеленому прогоні це непомітно.

◆ Прив’язано до зміни перед вами

Покриття diff вимірює лише те, що змінилося щодо git-основи, тож «тести проходять» стає «код, який ви щойно прийняли, покрито тестами». Працює однаково, хоч його написала людина, хоч асистент.

Ніщо з цього не доводить, що тест хороший — цього не може ніщо. Воно каже вам точно й порядково, що ніколи не виконувалося: те, чого рецензент не втримає в голові, а асистент сам не назве. Працює з TypeScript і JavaScript через Vitest, Jest чи nyc, а також з C, C++, Java і Ruby через tracefile, які ці інструменти й так створюють.

Чим ми відрізняємось

Одна модель, кожен формат, жодного власного переглядача

◆ Двадцять п'ять форматів на вході

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.

◆ MC/DC та регіони

Modified Condition/Decision Coverage, покриття регіонів і C++ інстанціацій із llvm-cov, з розбивкою за кожним рішенням при наведенні.

◆ Зважена за безпекою оцінка

Єдине зважене гармонійне середнє за всіма метриками, з вагами, узгодженими з рівнями IEC 61508 / ISO 26262 / DO-178C.

◆ Контроль відповідності

Вердикти COMPLIANT / NON-COMPLIANT з порогами для кожної метрики та режимами strict, whm, both або either.

◆ Диференційне покриття

Обмежте декорації лише рядками, зміненими відносно базової гілки 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 і на власній панелі Test Coverage у VS Code. Далі все перезавантажується саме, щойно трасувальний файл змінюється.

Потрібен VS Code ≥ 1.88 або Visual Studio 2022 чи 2026 — Community, Professional або Enterprise — і трасувальний файл покриття, який ваш проєкт уже створює. У Visual Studio 2022 вбудоване покриття є лише в Enterprise; Coverage Studio для Visual Studio показує його і в Community та Professional — із файлу, який ваша збірка вже пише.

Порівняння з альтернативами

VS Code і кілька безкоштовних розширень теж показують покриття. Ось що, за їхньою власною документацією, вміє кожне станом на вересень 2026 року — якщо README чогось не згадує, таблиця так і каже, а не вгадує.

Fucini Coverage StudioVS Code, вбудованоCoverage GuttersCode Coverage (markis)Gcov Viewer
Звідки береться покриття25 форматів трасувальних файлів, а також звіти мутаційного тестування PIT і Strykerрозширення для тестування, яке повідомляє покриттяфайли lcov і XMLфайли lcovфайли .gcda від GCC, через gcov
Непокриті рядки в редакторі✓✓✓✓, а також у Problems✓
Покриття розгалужень, для кожної гілки✓якщо розширення для тестування це повідомляєне описаноне описаноне описано
MC/DC✓ (Pro)—не описаноне описаноне описано
Кілька трасувальних файлів об’єднано, і видно, який покрив кожен рядок✓—підтримується кілька файлівне описаноне описано
Перезавантаження, коли трасувальний файл змінюється✓показує останній запуск тестів✓не описаноне описано
Покриття змін, пороги та історія✓покриття показано в редакторі змінне описаноне описаноне описано
HTML-звітгенерується, розміщується у вас—попередній перегляд наявногоне описаноне описано
Покриття для ШІ-агентів: інструменти мовної моделі та 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
Переглянути всі можливості Повний посібник користувача