The Embedded Dashboard
The SFDT: Open Dashboard command (also the Open Dashboard button in the Org Health view, and
clicking the status-bar item) launches the full sfdt ui web dashboard
inside an editor tab — no separate browser window.
How it works
- The extension spawns a
sfdt uichild process. - It polls the server’s
/api/healthendpoint (up to ~15 seconds) until the server is ready. - It opens a VS Code
WebviewPaneland loads the dashboard in an iframe pointed at the local server.
The panel retains its state when hidden, so the dashboard keeps running until you close the tab.
Deep links
The dashboard honors the URL path on boot, so commands can open it directly on a specific page instead of always landing on the overview:
- SFDT: Open Manifest Builder (
sfdt.manifestBuilder) — opens the panel directly on the dashboard’s Manifest Builder page: browse metadata by type, tick components, and preview, save, or deploy the resultingpackage.xml(ordestructiveChanges.xmlpair). It sits in the command palette next to SFDT: Manifest from Diff, which stays the terminal-basedsfdt manifestgit-delta flow.
Both commands share the same DashboardController panel and server — a deep-linked open reuses
the running dashboard rather than starting a second one. Requires @sfdt/cli ≥ 0.21 (older CLI
versions serve a dashboard that ignores the URL path and boots on the overview).
Port
The dashboard server port is controlled by sfdt.dashboardPort
(default 7654). Change it if 7654 is already in use on your machine.
Theme
The embedded dashboard follows your VS Code light/dark theme — the extension passes the editor’s
current theme to the dashboard, and the panel updates live when you switch themes. Opening sfdt ui
directly in a browser is unaffected: it uses its own theme toggle and remembers your last choice.
This is the same dashboard the CLI serves with sfdt ui and that the Chrome extension’s bridge
talks to. See CLI → Web Dashboard for a full tour of its pages.
The dashboard runs a local server bound to 127.0.0.1. If its port is already taken, the
extension recovers automatically when the occupant is a leftover sfdt dashboard from a previous
session — it stops that stale server and retries. If the port is held by an unrelated
process, the extension never kills it; instead it shows an error with an Open Settings
action so you can point sfdt.dashboardPort at a free port.