Skip to Content
VS Code ExtensionEmbedded Dashboard

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

  1. The extension spawns a sfdt ui child process.
  2. It polls the server’s /api/health endpoint (up to ~15 seconds) until the server is ready.
  3. It opens a VS Code WebviewPanel and 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.

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 resulting package.xml (or destructiveChanges.xml pair). It sits in the command palette next to SFDT: Manifest from Diff, which stays the terminal-based sfdt manifest git-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.

Last updated on