Live integration of DCR (Cargo-inspired C/C++ build tool) with VS Code + clangd.
Features
- Auto-sync
.dcr/compile_commands.jsonwhendcr.toml,dcr.lock, or sources change - Tasks: build / run / clean via Task API + GCC-style problem matcher
- Debug:
programand debugger type from.dcr/build-info.json+.dcr/toolchain.json(no path heuristics) - Commands: New Project, Add Dependency, Regenerate, Show Output
- Locales: English + Russian (
package.nls*.json+ runtime UI strings) - Schema: JSON Schema for
dcr.toml(with Even Better TOML)
Requirements
- dcr ≥ 0.8.4 (
.dcr/layout,gen compile-commands -q,project-info) - Extension dependency: vscode-clangd
- Recommended: Even Better TOML, CodeLLDB or MS C/C++ (debugger only)
Settings
| Setting | Default | Description |
|---|---|---|
dcr.path |
"" |
Path to dcr binary (empty = PATH) |
dcr.autoSync |
true |
Watch files and regenerate compile DB |
dcr.syncDebounceMs |
750 |
Debounce before gen |
dcr.minVersion |
0.8.4 |
Warn if older dcr |
Commands
DCR: Build/Build (Release)/Run/CleanDCR: New Project/Add DependencyDCR: Regenerate IDE ConfigDCR: Show Output
Contract with dcr
See backend handoff: extension reads .dcr/*, never invents target/<triple>/… paths.
.dcr/compile_commands.json
.dcr/build-info.json → debug program
.dcr/toolchain.json → debugger type
.dcr/ide/vscode.lock → written by this extension
.clangd → CompilationDatabase: .dcr
Icon
Marketplace icon: media/icon.png (128×128) from dcride branding (resource/branding/raster/dcride-icon/128.png).
Develop
cd dcr-vscode
npm install
npm run compile
# F5 in VS Code / Cursor against Extension Development Host
npx vsce package # → dcr-0.1.0.vsix
License
GPL-3.0-or-later (aligned with DCR)