covdbg for VS Code
Native Windows C++ coverage, directly in VS Code.
Run your executables with coverage, inspect covered and uncovered lines in the editor, open a detailed report, and rerun discovered test binaries from the Testing view. The extension bundles the covdbg runtime for a smoother setup on Windows.
Get started with covdbg | Product docs and guides
AI Features
covdbg can also expose native coverage data to chat-capable tooling in VS Code.
getUncoveredCode_covdbg returns grouped uncovered code segments for a file, including code snippets, nearby context, coverage summary, truncation metadata, and workflow guidance for follow-up actions.
runTestWithCoverage_covdbg runs a selected executable with coverage, reloads the resulting .covdb into the extension when possible, and returns structured status plus guidance for the next query.
These tools are designed for iterative workflows where an LLM proposes a fix, you rebuild, rerun coverage, and then query the updated uncovered regions again.
See Coverage In VS Code
covdbg brings the full coverage workflow into the editor: launch a target, reload results automatically, review inline highlights, and drill into file, folder, and function details without bouncing between separate tools.
Scope coverage with .covdbg.yaml
Choose the test executable from covdbg's discovered binaries, then use .covdbg.yaml to decide what should actually count in the report. This config is where you include or exclude files and functions for that run and where you keep third-party code, SDKs, vendored dependencies, and helper-only test code out of your numbers.
version: 1
source_root: "."
coverage:
default:
files:
include:
- "src/**/*.cpp"
- "src/**/*.h"
- "tests/**/*.cpp"
exclude:
- "tests/helpers/**"
- "third_party/**"
- "external/**"
- "vendor/**"
- "**/Windows Kits/**"
- "**/VC/Tools/MSVC/**"
functions:
include:
- "*"
exclude:
- "__scrt_*"
- "_RTC_*"
- "__security_*"
Use covdbg: Create .covdbg.yaml to generate a starter config in the workspace and tailor it to your binaries, test layout, and dependency boundaries.
Why covdbg
Getting useful coverage for native Windows C++ is usually more work than it should be. covdbg is built to make that workflow practical:
- Use your existing Windows binaries and debug symbols.
- Avoid compiler-specific instrumentation workflows and extra build-system churn.
- Review coverage where you already edit and debug.
- Move from a single run to actionable file and function detail quickly.
- Keep coverage local to your machine and workspace.
What You Get In The Extension
Run coverage without leaving the editor
Choose a target executable, start a coverage run from VS Code, and let the extension reload the latest result automatically.
Inline coverage that stays close to the code
Show covered and uncovered lines with gutter markers, line highlights, or both, so gaps are visible while you work.
Interactive report for deeper inspection
Open a report with file and folder summaries, per-file statistics, and function-level detail when you want more than a line overlay.
Testing UI integration
Discover likely test binaries in your workspace and rerun them with coverage from the built-in Testing view.
AI-assisted coverage workflows
Use the chat tools to ask for uncovered code in a file, apply a fix, rebuild, run the target again with coverage, and inspect the refreshed gaps without leaving VS Code.
Open the covdbg activity bar item to get a live onboarding and status dashboard for the current workspace: license state, runtime resolution, discovered tests, loaded coverage, config health, and the next actions to take.
Flexible result loading
Point covdbg at an existing coverage result or let it discover results in your workspace automatically.
Quick Start
- Install the extension on Windows.
- Open your C++ workspace in VS Code.
- Open the covdbg sidebar to verify runtime, license, config, and target status.
- Add or generate
.covdbg.yaml so the report includes the right project files and excludes SDK or third-party noise.
- Run
covdbg: Run Coverage and choose from the discovered test binaries.
- Review coverage inline or open
covdbg: Show Coverage Report.
If you already have a coverage result, use covdbg: Select .covdb File... and start browsing immediately.
The covdbg status bar entry is always available after startup. If no .covdbg.yaml is present yet, the extension can offer to create one for you.
Typical Workflows
Run a native test binary with coverage
Run covdbg: Run Coverage, choose a discovered test executable, and optionally use covdbg.runner.targetArgs for extra arguments.
Rerun discovered tests from the Testing view
Use covdbg: Refresh Test Binaries to discover likely test executables and run them with coverage from the Test Explorer.
Open and inspect an existing result
Use covdbg: Select .covdb File... or set covdbg.covdbPath to load an existing result for inline review and reporting.
Commands
| Command |
Description |
covdbg: Open Menu |
Open the main covdbg action menu. |
covdbg: Toggle Coverage Display |
Show or hide inline coverage decorations. |
covdbg: Show Coverage Report |
Open the interactive HTML coverage report. |
covdbg: Browse Covered Files |
Jump to files that have coverage data. |
covdbg: Set Render Mode |
Switch between line, gutter, or combined rendering. |
covdbg: Select .covdb File... |
Load a specific coverage result manually. |
covdbg: Run Coverage |
Run a discovered test executable with coverage. |
covdbg: Create .covdbg.yaml |
Create a starter .covdbg.yaml in a workspace folder. |
covdbg: Clear Last Run Result |
Clear the last generated run result from the current workflow. |
covdbg: Refresh Test Binaries |
Refresh executable discovery for the Testing UI. |
Key Settings
| Setting |
Purpose |
covdbg.runner.targetArgs |
Arguments passed to the target executable. |
covdbg.runner.workingDirectory |
Working directory for coverage runs. |
covdbg.runner.outputPath |
Output path for results generated from VS Code. |
covdbg.runner.binaryDiscoveryPattern |
Pattern used to discover test binaries for the Testing UI. |
covdbg.covdbPath |
Load a specific existing coverage result. |
covdbg.discoveryPattern |
Pattern used to discover coverage results automatically. |
covdbg.renderMode |
Choose line, gutter, or both. |
covdbg.showExternalFiles |
Include files outside the workspace in results. |
Learn More