COBERTURA NATIVA NO VS CODE E NO VISUAL STUDIO

Cobertura que vive dentro do seu editor

Carregue ficheiros 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 e dotCover, normalize-os num único modelo canónico, funda execuções de forma determinista e leia o resultado diretamente nas margens do editor — no VS Code, e no Visual Studio 2022 e 2026 em qualquer edição. Sem um visualizador à parte pelo qual sair do seu editor.

Transferir o VSIX Ler o guia do utilizador Explorar funcionalidades

Comece grátis. O Fucini Coverage Studio funciona gratuitamente durante um período de teste de 14 dias, com tudo desbloqueado. Depois não o bloqueia: passa para o plano Community gratuito — todas as funcionalidades exceto MC/DC, com limites mensais generosos em algumas. Mude de plano quando quiser para obter o conjunto sem restrições, ou desbloqueie tudo gratuitamente partilhando telemetria de utilização detalhada. Ver planos →

A seguir: toda esta cobertura no Azure DevOps, numa extensão gratuita. O Azure DevOps mostra a cobertura de uma compilação só até onde o seu próprio formato chega — linhas, e ramos como percentagem. O Fucini DevOps Studio mostrará tudo o que o Coverage Studio lê: cada um destes 25 formatos, para cada linguagem, com MC/DC, condições, a pontuação composta e os gates, como um separador Coverage no pipeline que a produziu. Siga as novidades para a primeira versão.

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

Quando foi uma IA a escrever os testes

Uma suite de testes gerada parece exaustiva. A cobertura diz se é.

Um modelo de linguagem escreve-lhe uma suite de testes em segundos, e lê-se de forma convincente. O que não lhe pode dizer é se esses testes chegam a algo que importe — e a cobertura de linhas também não, porque um teste sem qualquer asserção acende à mesma todas as linhas que toca.

◆ Decisões, não apenas linhas

MC/DC e cobertura de ramos mostram se cada decisão foi de facto exercida, não apenas se a linha foi alcançada. Os testes gerados seguem o caminho feliz e deixam intocado o outro lado de cada if — o que se lê como 100% de linhas e 50% de ramos. Essa diferença é o achado.

◆ Funções que nunca foram chamadas

A deteção de código morto lista as funções que nenhum teste alcançou. Uma suite gerada nomeia-as nos títulos e nunca lá chega, o que é invisível numa execução verde.

◆ Ligado à alteração à sua frente

A cobertura de diff mede apenas o que mudou face a uma base git, por isso «os testes passam» torna-se «o código que acabou de aceitar está testado». Funciona da mesma forma, quer o tenha escrito uma pessoa ou um assistente.

Nada disto prova que um teste é bom — nada o pode provar. Diz-lhe, com precisão e linha a linha, o que nunca foi executado: a parte que um revisor não consegue reter de cabeça e que um assistente não refere por iniciativa própria. Funciona com TypeScript e JavaScript através de Vitest, Jest ou nyc, e com C, C++, Java e Ruby através dos tracefiles que essas toolchains já produzem.

O que nos distingue

Um modelo, todos os formatos, zero visualizador próprio

◆ Vinte e cinco formatos de entrada

LCOV, llvm-cov JSON, Cobertura, JaCoCo, Istanbul/nyc, SimpleCov, Clover, OpenCover, coverage.py, gcov JSON e texto simples, Go, Coveralls, SonarQube, GNATcoverage, Bullseye, Visual Studio, Xcode, VectorCAST, Testwell CTC++, TRACE32, EMMA, UCIS/UCDB, NCover e dotCover — detetados automaticamente e combinados de forma determinística com proveniência registada.

◆ UI nativa de saída

Indicadores de linha, ramo e função, a régua de visão geral, emblemas do Explorador e a vista Covered Files.

◆ MC/DC e regiões

Modified Condition/Decision Coverage, cobertura de regiões e instanciações C++ do llvm-cov, com detalhe por decisão ao passar o cursor.

◆ Pontuação ponderada pela segurança

Uma única média harmónica ponderada em todas as métricas, com pesos alinhados aos níveis IEC 61508 / ISO 26262 / DO-178C.

◆ Controlo de conformidade

Veredictos COMPLIANT / NON-COMPLIANT com limiares por métrica e modos strict, whm, both ou either.

◆ Cobertura diferencial

Restrinja as decorações às linhas alteradas em relação a uma referência base do git — perfeito para rever exatamente o que um PR cobriu ou não.

A funcionar em 30 segundos

  1. Instale a extensão e abra o seu projeto.
  2. Execute os testes — Paleta de comandos → Fucini Coverage: Run Tests with Coverage. Reconhece vitest, jest, pytest, go, cargo, dotnet, maven, gradle, phpunit e ctest, executa os seus testes com a cobertura ativa e carrega o que escrevem. Já tem um ficheiro de trace? Fucini Coverage: Pick Coverage File carrega-o e memoriza-o.
  3. Abra um ficheiro de código — a margem mostra que linhas foram executadas, a barra de estado a percentagem do ficheiro, um hover as execuções de cada linha, e a execução aparece na vista Coverage e no painel Test Coverage do próprio VS Code. A partir daí recarrega sozinha sempre que o ficheiro de trace muda.

Requer VS Code ≥ 1.88, ou Visual Studio 2022 ou 2026 — Community, Professional ou Enterprise — mais um ficheiro de rastreio de cobertura que o seu projeto já produz. No Visual Studio 2022 a cobertura integrada é só para o Enterprise; o Coverage Studio para Visual Studio mostra-a também no Community e no Professional, a partir do ficheiro que a sua build já escreve.

Como se compara

O próprio VS Code e várias extensões gratuitas também mostram cobertura. Isto é o que a documentação de cada um diz que faz, em setembro de 2026 — quando um README não menciona algo, a tabela di-lo em vez de adivinhar.

Fucini Coverage StudioVS Code, integradoCoverage GuttersCode Coverage (markis)Gcov Viewer
De onde vem a cobertura25 formatos de ficheiro de trace, mais relatórios de mutação do PIT e do Strykeruma extensão de testes que reporta coberturaficheiros lcov e XMLficheiros lcovficheiros .gcda do GCC, através do gcov
Linhas não cobertas no editor✓✓✓✓, e em Problems✓
Cobertura de ramos, por ramo✓quando a extensão de testes a reportanão descritonão descritonão descrito
MC/DC✓ (Pro)—não descritonão descritonão descrito
Vários ficheiros de trace combinados, e qual cobriu cada linha✓—suporta vários ficheirosnão descritonão descrito
Recarrega quando o ficheiro de trace muda✓mostra a última execução de testes✓não descritonão descrito
Cobertura de alterações, limiares e histórico✓cobertura mostrada no editor de diferençasnão descritonão descritonão descrito
Relatório HTMLgerado, alojado por si—pré-visualiza um existentenão descritonão descrito
Cobertura para agentes de IA: ferramentas de modelo de linguagem e um servidor MCP✓não descritonão descritonão descritonão descrito
Os testes que executaram uma linha, e os testes afetados pelas suas alterações✓cobertura por teste, quando a extensão de testes a reportanão descritonão descritonão descrito
Resultados de testes de mutação no editor✓ (PIT, Stryker)não descritonão descritonão descritonão descrito
Um limiar para código novo✓não descritonão descritonão descritonão descrito
Os mesmos números no Visual Studio e na linha de comandos✓—não descritonão descritonão descrito

Não é uma escolha entre isto e a vista do VS Code: cada carregamento é também publicado no painel nativo Test Coverage, com o filtro por teste incluído. Algo aqui está desatualizado? Diga-nos na página de contacto.

Formatos suportados

FormatoFicheiro 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 as funcionalidades Guia do utilizador completo