Drive the sfdt CLI from inside VS
Code. This extension is a thin, fast UI over the CLI — it does not reimplement
any logic, so it stays in lockstep with whatever version of sfdt you have on
your PATH.
Published to the VS Code Marketplace as
sfdt.sfdt-devtools(publishersfdt, display name "SFDT for Salesforce"). Install from the Extensions view, or:code --install-extension sfdt.sfdt-devtools. The npm workspace package is namedsfdt-devtools— the Marketplace requires an unscoped name, so it is not the scoped@sfdt/...form used by the other workspaces.
Features
The SFDT activity-bar container holds three views plus a status bar:
- Commands — a grouped tree of the entire sfdt command surface (30+
commands / 50+ subcommands) across six categories: Deploy & Release,
Org Health, Quality & Analysis, Documentation, Data & Scratch
Orgs, and Project & Tools. Click a command to run it in a dedicated
SFDT integrated terminal — live, colored, streaming output, with
interactive prompts supported. Destructive commands confirm first. Right-click
any command to Run, Copy the exact
sfdt …invocation, or Open docs on sfdt.dev.SFDT: Run Command…is a searchable quick-pick over everything. - Status — the active target org (alias, instance URL, connection), the git
branch, an Org Health rollup, and the installed
sfdt/sfversions with an "update available" hint. Use the title-bar Select Org button to switch the target org fromsf org list. - Org Health — reads the latest
audit,monitor,scan, anddriftsnapshots and shows each check's status, summary, and findings; click a check to re-run it. All views auto-refresh when alogs/*-latest.jsonsnapshot changes. - Embedded dashboard —
SFDT: Open Dashboardrunssfdt uiand shows the full web dashboard in an editor tab (authenticated via the CLI's launch token). Follows the editor's light/dark theme and recovers automatically from dashboard port conflicts.SFDT: Open Manifest Builderopens the same dashboard deep-linked to the changeset-style Manifest Builder page (browse metadata, tick components, preview and savepackage.xml/destructiveChanges.xml). - Per-org window theming — tints the window by org type (production = red,
sandbox = orange, scratch/developer = green) to prevent wrong-org mistakes.
Opt-in — enable
sfdt.orgColor(it writesworkbench.colorCustomizationsinto the workspace.vscode/settings.json; disabling it removes those keys). - Status bar — shows the active org and the worst monitor/audit status.
New here? When the sfdt CLI isn't found or the project isn't initialized, the
views offer a one-click Run sfdt init and links to the install docs.
Requirements
- The
sfdtCLI installed and on your PATH (npm i -g @sfdt/cli), or setsfdt.cliPathto its location. - A Salesforce DX project initialized with
sfdt init.
Settings
| Setting | Default | Description |
|---|---|---|
sfdt.cliPath |
sfdt |
Path to the sfdt binary. |
sfdt.defaultOrg |
"" |
Org alias passed as --org; empty uses the project default. |
sfdt.dashboardPort |
7654 |
Port the sfdt ui server listens on. |
sfdt.orgColor |
false |
Opt-in: tint the window by org type (prod/sandbox/scratch) to prevent wrong-org mistakes. Writes workbench.colorCustomizations into the workspace .vscode/settings.json when enabled; disabling removes them. |
Development
npm install # from the repo root (workspaces)
npm run build:vscode # build flow-core + bundle to dist/extension.cjs
npm run test:vscode # unit tests (vitest)
The workspace is selected by path (-w vscode) rather than by package name, so
these keep working regardless of the manifest name.
Press F5 in VS Code to launch an Extension Development Host. Package a
.vsix with npm run package:vscode.