This file provides guidance to Claude Code when working with code in this repository.
- NEVER commit directly to main - Always create a feature branch and submit a pull request
- Conventional commits - Format:
type(scope): description - GitHub Issues for TODOs - Use
ghCLI to manage issues, no local TODO files - Pull Request titles - Use conventional commit format
- Branch naming - Use format:
type/scope/short-description
VSCWhere is a CLI tool that locates Visual Studio Code installations on Windows, similar to how vswhere.exe works for Visual Studio.
- Find all VS Code installations (Stable, Insiders, Exploration)
- Return installation metadata (path, version, product info)
- Support multiple output formats (text, JSON)
- Provide vswhere-compatible command-line interface
- Rust (latest stable)
- Windows-only (Registry-based discovery)
# Build debug
cargo build
# Build release (optimized for size)
cargo build --release
# Run
cargo run -- -help
# Run release
cargo run --releaseVSCWhere/
├── Cargo.toml
├── src/
│ ├── main.rs # Entry point and CLI parsing
│ ├── discovery.rs # Registry discovery logic
│ ├── models.rs # Data structures
│ └── output.rs # Text/JSON formatting
├── .github/
│ └── workflows/ # CI/CD
└── CLAUDE.md
Mirrors vswhere.exe flags where applicable:
| Flag | Description |
|---|---|
-all |
Find all instances (default behavior) |
-prerelease |
Include Insiders/prerelease builds |
-latest |
Return only the latest version |
-format [text|json] |
Output format (default: text) |
-property <name> |
Output specific property only |
-nologo |
Suppress version banner |
-sort |
Sort results by version |
-utf8 |
Output using UTF-8 encoding |
-help, -? |
Show help |
- Query Windows Registry uninstall entries for Microsoft VS Code installations
- Read
InstallLocationfrom registry entries - Parse
resources/app/package.jsonandproduct.jsonfor version/product info - Derive extensions and user data paths from product type
| Property | Description |
|---|---|
installationPath |
VS Code installation directory |
installationVersion |
Version number |
productPath |
Path to Code.exe |
productId |
Product identifier (stable/insider) |
isPrerelease |
True for Insiders builds |
displayName |
Human-readable product name |
extensionsPath |
User extensions directory |
userDataPath |
User settings/data directory |