Шесть шагов, одинаковые в обоих редакторах. Coverage Studio не запускает собственных тестов: он читает отчёт, который ваши инструменты уже пишут, и кладёт его на код — в VS Code и в Visual Studio 2022 и 2026, в Community, Professional и Enterprise одинаково. Каждый шаг есть и страница в самом редакторе, с кнопкой для него: пошаговое руководство в VS Code, Tools → Coverage Studio → Getting Started в Visual Studio.
Ещё не установлено? Скачайте сборку для своего редактора — Community или Pro для VS Code, либо редакцию для Visual Studio — и возвращайтесь сюда; в руководстве пользователя есть шаги установки для обоих. Хотите попробовать, прежде чем подключать свой проект? В демопроекте отчёт уже готов.
Подойдёт любой из 25 форматов — LCOV, Cobertura, llvm-cov, OpenCover, coverage.py, Istanbul и остальные. Если под рукой нет ни одного, в демопроекте есть отчёты для C, C++ (clang и MSVC), C#, Visual Basic, TypeScript, JavaScript и Python.
File → Open Folder или файл рабочей области. Значок Coverage появляется на панели действий, как только расширение активно.
Решение или папка (File → Open → Folder — так открывают проект CMake). Расширение загружается вместе с ним; View → Other Windows → Coverage — его окно.
Отчёт в привычном месте — coverage/lcov.info, coverage.xml, coverage-final.json и другие известные имена, либо там, куда указывают настройки — находится и загружается сам. Если ваш где-то ещё, выберите его один раз, и он запомнится.
Палитра команд → Fucini Coverage: Load Coverage, или Pick Coverage File, чтобы выбрать. Run Tests with Coverage распознаёт vitest, jest, pytest, go, cargo, dotnet, maven, gradle, phpunit и ctest, запускает их с включённым покрытием и загружает то, что они пишут.
Tools → Coverage Studio → Load Coverage File…, один раз. Панель Fucini Coverage окна Output говорит, какие файлы искались и нашлись. Запускайте тесты как обычно; Watch Coverage File перезагружает, когда отчёт меняется.
Откройте исходный файл. Красное — строка, которая никогда не выполнялась, янтарное — решение, принятое только в одну сторону. Из коробки отмечаются только такие находки; тепловая карта раскрашивает каждую строку по частоте выполнения, а встроенные счётчики пишут число после неё.
Toggle Coverage Painting включает и выключает метки; fuciniCoverage.editorGutter.mode выбирает uncovered или heatmap, hitCounts.inline — счётчики. Прогон есть и в окне Coverage, и в собственной панели Test Coverage VS Code.
Tools → Coverage Studio → Show Coverage in Editor, затем Gutter: Heatmap или Show Inline Hit Counts по вкусу. Действуют те же настройки — редакция для Visual Studio читает ваш .vscode/settings.json.
Прыгайте с одного непротестированного места на следующее вместо прокрутки в поисках красного. Строка над каждой функцией говорит, какая её часть выполнилась — а также её сложность, оценку CRAP и MC/DC там, где отчёт их содержит. Наведение на отмеченную строку словами говорит, какая ветвь не была пройдена.
Next Uncovered — это Alt+N, предыдущий — Alt+P; Next Partly-Tested Decision переходит к следующему решению, лишь часть ветвей которого была пройдена.
Двухклавишные аккорды после Ctrl+Shift+U: N и P — следующая и предыдущая непокрытая строка, B — следующее частично протестированное решение; не Alt+N, потому что в Visual Studio Alt с буквой открывает меню. Измените их в Tools → Options → Keyboard.
Каждый файл со своими метриками — строки, ветви, функции, MC/DC — и один балл по всем: взвешенное гармоническое среднее, которое не купишь одним покрытием строк. Строка состояния показывает этот балл для прогона и для файла, в котором вы находитесь; задержите указатель, чтобы увидеть полную карточку.
Окно Coverage на панели действий: сортируйте, сворачивайте, скрывайте столбцы, щёлкните файл, чтобы открыть его. Show Worst-Covered Files и …Functions перечисляют, с чего начать.
View → Other Windows → Coverage — то же дерево, с баллом в заголовке; щёлкните строку правой кнопкой, чтобы открыть её или скопировать путь. Show Coverage Card открывает карточку строки состояния без указателя.
Скажите, чего достаточно: минимум на метрику или профиль безопасности, требующий 100 % всего. Карточка тогда говорит COMPLIANT или NON-COMPLIANT относительно них, и те же пороги действуют в обоих редакторах, потому что это те же настройки.
Configure Coverage Compliance открывает настройки; Check Coverage Thresholds выдаёт вердикт как команду — для pre-commit hook или конвейера.
Шестерёнка на панели инструментов окна Coverage открывает окно настроек, которое записывает пользовательские настройки этой редакции или .vscode/settings.json папки, как говорит его переключатель Write changes to.
Дальше: руководство пользователя для всего остального — форматы, слияние, переназначение путей, балл, HTML-отчёт — и FAQ для планов и лицензий. Редакция для Visual Studio включена в каждый платный план; машине, где активирован VS Code, больше ничего не нужно, а Tools → Coverage Studio → Licence… принимает код подписки там, где это не так.