COBERTURA NATIVA EN VS CODE Y VISUAL STUDIO

Cobertura que vive dentro de su editor

Cargue archivos 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 y dotCover, normalícelos en un único modelo canónico, combine ejecuciones de forma determinista y lea el resultado directamente en los márgenes del editor — en VS Code, y en Visual Studio 2022 y 2026 en cualquier edición. Sin un visor aparte por el que abandonar su editor.

Descargar el VSIX Leer la guía del usuario Explorar funciones

Gratis para empezar. Fucini Coverage Studio funciona gratis durante una prueba de 14 días, con todo desbloqueado. Después no le deja fuera, sino que pasa al nivel Community gratuito — todas las funciones salvo MC/DC, con generosos límites mensuales en unas pocas. Mejore de plan cuando quiera para tener el conjunto sin restricciones, o desbloquéelo todo gratis compartiendo telemetría de uso detallada. Ver planes →

Lo siguiente: toda esta cobertura en Azure DevOps, en una extensión gratuita. Azure DevOps muestra la cobertura de una compilación solo hasta donde llega su propio formato — líneas, y ramas como porcentaje. Fucini DevOps Studio mostrará todo lo que Coverage Studio lee: cada uno de estos 25 formatos, para cada lenguaje, con MC/DC, condiciones, la puntuación compuesta y las puertas, como una pestaña Coverage en la canalización que la produjo. Siga las noticias para la primera versión.

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

Cuando una IA escribió las pruebas

Una suite de pruebas generada parece exhaustiva. La cobertura dice si lo es.

Un modelo de lenguaje te escribe una suite de pruebas en segundos, y se lee de forma convincente. Lo que no puede decirte es si esas pruebas alcanzan algo que importe — y la cobertura de líneas tampoco, porque una prueba sin ninguna aserción ilumina igualmente cada línea que toca.

◆ Decisiones, no solo líneas

MC/DC y la cobertura de ramas muestran si cada decisión se ejerció de verdad, no solo si se alcanzó la línea. Las pruebas generadas recorren el camino feliz y dejan intacto el otro lado de cada if, lo que se lee como 100% de líneas y 50% de ramas. Esa diferencia es el hallazgo.

◆ Funciones que nunca se llamaron

La detección de código muerto enumera las funciones que ninguna prueba alcanzó. Una suite generada las nombra en sus títulos y nunca llega a ellas, algo invisible en una ejecución en verde.

◆ Ligado al cambio que tienes delante

La cobertura de diff mide solo lo que cambió respecto a una base de git, así que «las pruebas pasan» se convierte en «el código que acabas de aceptar está probado». Funciona igual lo escribiera una persona o un asistente.

Nada de esto demuestra que una prueba sea buena — nada puede hacerlo. Te dice, con precisión y línea a línea, qué no se ejecutó nunca: la parte que un revisor no puede retener en la cabeza y que un asistente no menciona por su cuenta. Funciona con TypeScript y JavaScript mediante Vitest, Jest o nyc, y con C, C++, Java y Ruby mediante los tracefiles que esas cadenas ya generan.

Por qué es diferente

Un modelo, todos los formatos, cero visor personalizado

◆ Veinticinco formatos de entrada

LCOV, llvm-cov JSON, Cobertura, JaCoCo, Istanbul/nyc, SimpleCov, Clover, OpenCover, coverage.py, gcov JSON y texto plano, Go, Coveralls, SonarQube, GNATcoverage, Bullseye, Visual Studio, Xcode, VectorCAST, Testwell CTC++, TRACE32, EMMA, UCIS/UCDB, NCover y dotCover — detectados automáticamente y combinados de forma determinista con procedencia registrada.

◆ UI nativa de salida

Marcadores de línea, rama y función, la regla de resumen, insignias del Explorador y la vista Covered Files.

◆ MC/DC y regiones

Modified Condition/Decision Coverage, cobertura de regiones e instanciaciones de C++ desde llvm-cov, con desglose por decisión al pasar el cursor.

◆ Puntuación ponderada por seguridad

Una única media armónica ponderada sobre todas las métricas, con pesos alineados a los niveles IEC 61508 / ISO 26262 / DO-178C.

◆ Control de cumplimiento

Veredictos COMPLIANT / NON-COMPLIANT con umbrales por métrica y modos strict, whm, both o either.

◆ Cobertura diferencial

Restrinja las decoraciones a las líneas cambiadas respecto a una referencia base de git — perfecto para revisar exactamente lo que un PR cubrió o no.

Listo en 30 segundos

  1. Instala la extensión y abre tu proyecto.
  2. Ejecuta tus pruebas — Paleta de comandos → Fucini Coverage: Run Tests with Coverage. Reconoce vitest, jest, pytest, go, cargo, dotnet, maven, gradle, phpunit y ctest, ejecuta tus pruebas con la cobertura activada y carga lo que escriben. ¿Ya tienes un archivo de traza? Fucini Coverage: Pick Coverage File lo carga y lo recuerda.
  3. Abre un archivo de código — el margen muestra qué líneas se ejecutaron, la barra de estado el porcentaje del archivo, un hover las ejecuciones de cada línea, y la ejecución aparece en la vista Coverage y en el panel Test Coverage de VS Code. A partir de ahí se recarga sola cada vez que cambia el archivo de traza.

Requiere VS Code ≥ 1.88, o Visual Studio 2022 o 2026 — Community, Professional o Enterprise — más un archivo de traza de cobertura que su proyecto ya produce. En Visual Studio 2022 la cobertura integrada es solo de Enterprise; Coverage Studio para Visual Studio la muestra también en Community y Professional, a partir del archivo que su build ya escribe.

Cómo se compara

VS Code y varias extensiones gratuitas también muestran cobertura. Esto es lo que la documentación de cada uno dice que hace, a septiembre de 2026; cuando un README no menciona algo, la tabla lo dice en lugar de adivinar.

Fucini Coverage StudioVS Code, integradoCoverage GuttersCode Coverage (markis)Gcov Viewer
De dónde sale la cobertura25 formatos de archivo de traza, más informes de mutación de PIT y Strykeruna extensión de pruebas que informa la coberturaarchivos lcov y XMLarchivos lcovarchivos .gcda de GCC, mediante gcov
Líneas sin cubrir en el editor✓✓✓✓, y en Problems✓
Cobertura de ramas, por rama✓si la extensión de pruebas la informano descritono descritono descrito
MC/DC✓ (Pro)—no descritono descritono descrito
Varios archivos de traza combinados, y cuál cubrió cada línea✓—admite varios archivosno descritono descrito
Se recarga cuando cambia el archivo de traza✓muestra la última ejecución de pruebas✓no descritono descrito
Cobertura de cambios, umbrales e historial✓cobertura mostrada en el editor de diferenciasno descritono descritono descrito
Informe HTMLgenerado, autoalojado—previsualiza uno existenteno descritono descrito
Cobertura para agentes de IA: herramientas de modelo de lenguaje y un servidor MCP✓no descritono descritono descritono descrito
Las pruebas que ejecutaron una línea, y las pruebas afectadas por sus cambios✓cobertura por prueba, cuando la extensión de pruebas la informano descritono descritono descrito
Resultados de pruebas de mutación en el editor✓ (PIT, Stryker)no descritono descritono descritono descrito
Un umbral para el código nuevo✓no descritono descritono descritono descrito
Las mismas cifras en Visual Studio y en la línea de comandos✓—no descritono descritono descrito

No hay que elegir entre esto y la vista de VS Code: cada carga se publica también en el panel nativo Test Coverage, con el filtro por prueba incluido. ¿Algo está desactualizado? Díganoslo en la página de contacto.

Formatos admitidos

FormatoArchivo típico
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
Ver todas las funciones Guía del usuario completa