Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>VS Command CenterNew to Visual Studio Code? Get it now.
VS Command Center

VS Command Center

esancaro

|
2 installs
| (0) | Free
Run, group, and validate workspace commands from the Activity Bar — Python, Salesforce CLI, shell, and custom runtimes.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

VS Command Center

An Activity Bar panel for the commands you run all the time — Salesforce CLI (sf / sfdx), Python automation, shell scripts, and one-off command lines — with output validation so a bad step stops the rest.

Open a folder, then open Command Center in the Activity Bar.

Features

  • + to add a command, batch, or suite
  • Each item has play, pencil (manage), and trash (delete, with confirmation)
  • Batch — ordered commands. Play runs them in sequence
  • Suite — ordered batches. Play runs every batch in order; each batch runs its commands. The first failed validation stops the suite
  • Drag a batch onto a suite to nest it; drag it back to the root to ungroup
  • Drag and drop, or Move Up / Move Down, to reorder
  • Manage Command is a dialog with name, batch, type, validation regex, and a code editor
  • Built-in types: Python, Command Line, Node.js, PowerShell, Free Command
  • Add more languages in settings (vsCommandCenter.languages)
  • Command output appears in the Command Center output channel

Command types

Type What you write How it runs
Python A .py script ${python} ${file} (uses vsCommandCenter.pythonPath or the Python extension interpreter)
Command Line A shell script bash/sh when available; on Windows, Git Bash or a temporary .cmd
Node.js A .js script node ${file}
PowerShell A .ps1 script powershell -File
Free Command The full command line Run as-is through the platform shell, e.g. python -c "print(1+1)" or sf org list

To add another language, edit Command Center: Languages in settings. Example Ruby:

{
  "id": "ruby",
  "label": "Ruby",
  "kind": "file",
  "fileExtension": ".rb",
  "editorLanguage": "ruby",
  "argv": ["ruby", "${file}"]
}

kind is file (save and execute a script) or free (editor text is the command line). Argv tokens: ${file}, ${workspaceFolder}, ${python}.

Validation

  • Leave the regex empty to accept any output (exit code still applies if “Require exit code 0” is on)
  • Use a raw pattern (Connected) or a literal (/ok/i)
  • The pattern is tested against combined stdout and stderr
  • Failure marks the command and stops a batch or suite at that command
  • A new batch/suite run clears previous pass/fail icons first

Where commands are stored

Scripts live as real files in the workspace, not as strings stuffed into one JSON blob.

On first use the extension creates .vscc (or another name if that folder already exists and is not ours):

.vscc/
  order.json                 # top-level mix of suites, batches, and ungrouped commands
  __root__/batch.json        # ungrouped commands
  <batch-id>/batch.json      # command order + validation
  <batch-id>/<command-id>.py
  <suite-id>/suite.json      # batch order

The chosen folder name is stored as vsCommandCenter.dataFolder in .vscode/settings.json. Commit the data folder (except state.json) so the team shares the same command library. Older group.json files are still read and rewritten as batch.json.

Settings

Setting Purpose
vsCommandCenter.dataFolder Workspace-relative data folder (auto-filled)
vsCommandCenter.pythonPath Python executable override
vsCommandCenter.timeoutMs Per-command timeout (default 5 minutes)
vsCommandCenter.languages Runtime list shown in the type dropdown

Requirements

  • Visual Studio Code 1.85 or later
  • A local workspace folder (not an untrusted or virtual workspace)
  • Interpreters on PATH for the runtimes you use (python, node, sf, …)

License

MIT. Source: github.com/esancaro/vsCommandCenter.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft