CmdPad — VS Code Command Runner & Manager
⚡ Save & run your favorite terminal commands directly from VS Code.
Stop retyping git, docker, or build commands—CmdPad makes them one keystroke away.
 
🚀 Why CmdPad?
Developers waste time hunting and retyping the same commands.
CmdPad gives you a personalized command palette for all your go-to shell commands:
- 🏃 Run instantly from the Command Palette or integrated terminal
- 📝 Insert-only mode → paste commands without executing
- 🔄 Share with your team via .vscode/cmdpad.json
- 🖥️ Webview Manager for bulk editing & reordering
- ⚡ Smart placeholders like ${file},${selectedText},${prompt:Branch}
👉 Perfect for repetitive workflows with Git, Docker, npm, Python, or custom scripts.
✨ Features
- Command Palette list with a top “+ Add command…” entry and item-level Edit/Delete
- Terminal-aware execution
- Reuse a named terminal or open a new terminal
- Insert-only mode per command or globally
- Optional confirm-before-run safety prompt
 
- Smart placeholders for dynamic values
- Grouping & sorting by labels (e.g., docker,git)
- Export/Import → .vscode/cmdpad.json(team-friendly, versionable)
- Webview Manager → UI for bulk edits & reorder
⚡ Quickstart in 30 Seconds
- Install CmdPad from the Marketplace
- Press Ctrl+Alt+C(default keybinding)
- Add your first command via “+ Add command…”
- Run or insert it instantly 🚀
📸 Screenshots
⌨️ Commands & Keybindings
| Title | Command ID | Default Keybinding | 
| CmdPad: Commands | cmdpad.open | Ctrl+Alt+C(editor & terminal) | 
| CmdPad: Manage | cmdpad.manage | — | 
| CmdPad: Export | cmdpad.export | — | 
| CmdPad: Import | cmdpad.import | — | 
👉 For terminal support: add these to terminal.integrated.commandsToSkipShell
🔄 Export / Import
Keep a shared set of commands for your team:
- Export → .vscode/cmdpad.json
- Import → merge/override from the same file
Example:
[
  {
    "title": "Docker Build",
    "command": "docker build -t myapp:${prompt:Tag} ${workspaceFolder}",
    "group": "docker",
    "confirmBeforeRun": true
  },
  {
    "title": "Git Status",
    "command": "git status",
    "group": "git"
  }
]
⚙️ Settings
| Setting | Type | Default | Description | 
| cmdpad.storePerWorkspace | boolean | false | Store in workspace instead of global | 
| cmdpad.insertOnly | boolean | false | Global default for insert-only | 
| cmdpad.defaultTerminalName | string | CmdPad | Reusable terminal name (non-new terminals) | 
🔒 Security & Privacy
- CmdPad has no network access
- Commands run locally in your VS Code terminal
- Use Confirm before run for risky commands
🛠 Contributing
Issues & PRs are welcome. For local dev:
npm install
npm run watch
# Press F5 in VS Code to launch Extension Dev Host
📜 License
MIT