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