Run, filter, and debug unit tests in the VS Code repository.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "unit-tests" skill from askskill: 1. Download https://raw.githubusercontent.com/microsoft/vscode/main/.github/skills/unit-tests/SKILL.md 2. Save it as ~/.claude/skills/unit-tests/SKILL.md 3. Reload skills and tell me it's ready
Show me how to run a specific unit test file in the VS Code repo, with command examples for macOS/Linux and Windows.
Provides platform-specific test commands and explains how to target a specific test file.
I only want to run unit tests whose names include editor tabs. Give me the supported filter arguments and example commands.
Returns the supported test-name filtering options with ready-to-run example commands.
Explain how to run unit tests in debug mode in the VS Code repo, including common scripts, arguments, and tips for investigating failing tests.
Explains how to start tests in debug mode, relevant arguments, and practical tips for finding failure causes.
runTests toolIf the runTests tool is available, prefer it over running shell commands. It provides structured output with detailed pass/fail information and supports filtering by file and test name.
files parameter.testNames parameter to filter which tests run.mode="coverage" to collect coverage.Example (conceptual): run tests in src/vs/editor/test/common/model.test.ts with test name filter "should split lines".
When the runTests tool is not available (e.g. in CLI environments), use the platform-appropriate script from the repo root:
./scripts/test.sh [options].\scripts\test.bat [options]These scripts download Electron if needed and launch the Mocha test runner.
Pass source file paths directly as positional arguments. The test runner automatically treats bare .ts/.js positional arguments as --run values.
./scripts/test.sh src/vs/editor/test/common/model.test.ts
.\scripts\test.bat src\vs\editor\test\common\model.test.ts
Multiple files:
./scripts/test.sh src/vs/editor/test/common/model.test.ts src/vs/editor/test/common/range.test.ts
--run <file> - Run tests from a specific file (explicit form)Accepts a source file path (starting with src/). The runner strips the src/ prefix and the .ts/.js extension automatically to resolve the compiled module.
./scripts/test.sh --run src/vs/editor/test/common/model.test.ts
Multiple files can be specified by repeating --run:
./scripts/test.sh --run src/vs/editor/test/common/model.test.ts --run src/vs/editor/test/common/range.test.ts
--grep <pattern> (aliases: -g, -f) - Filter tests by nameRuns only tests whose full title matches the pattern (passed to Mocha's --grep).
./scripts/test.sh --grep "should split lines"
Combine with --run to filter tests within a specific file:
./scripts/test.sh --run src/vs/editor/test/common/model.test.ts --grep "should split lines"
--runGlob <pattern> (aliases: --glob, --runGrep) - Run tests matching a globRuns all test files matching a glob pattern against the compiled output directory. Useful for running all tests under a feature area.
./scripts/test.sh --runGlob "**/editor/test/**/*.test.js"
Note: the glob runs against compiled .js files in the output directory, not source .ts files.
--coverage - Generate a coverage report./scripts/test.sh --run src/vs/editor/test/common/model.test.ts --coverage
--timeout <ms> - Set test timeoutOverride the default Mocha timeout for long-running tests.
./scripts/test.sh --run src/vs/editor/test/common/model.test.ts --timeout 10000
Integration tests (files ending in .integrationTest.ts or located in extensions/) are not run by scripts/test.sh. Use scripts/test-integration.sh (or scripts/test-integration.bat) instead. See the integration-tests skill for details.
Tests run against compiled JavaScript output. Ensure the VS Code - Build watch task is running or that compilation has completed before running tests. Test failures caused by stale output are a common pitfall.
Validate Azure DevOps pipeline changes and troubleshoot builds and YAML faster.
Upgrade Anthropic SDKs, migrate versions, and fix dependency or typing issues.
Generate or update chat customization files for AI coding agents.
Find and read Code OSS dev build logs for faster debugging.
Merge session branch changes back into the base branch cleanly.
Create and maintain screenshot test fixtures for UI components effectively.
Run and filter integration tests in the VS Code repo confidently.
Run vscode.dev locally to test the VS Code workbench and Agents window.
Let AI control VS Code for coding, debugging, screenshots, and test automation.
Automate VS Code performance and memory investigations with repeatable evidence capture.
Launch VS Code OSS in isolation for automation and multi-process debugging.
Generate Python unit tests with coverage comparisons and concrete edge case suggestions.