Supercharge your remote development workflow with one-click access to your remote machines and environments, from a customizable VS Code panel.
DaSSHboard is a stylish, intuitive dashboard for VS Code-based IDEs that puts your remote development environments at your fingertips, only one click away.
Access your SSH connections, WSL distros, and running Docker containers — all from one convenient dashboard.
Never waste time hunting for host details again!
📦 Installation
Search for DaSSHboard in the Extensions panel (VS Code / Cursor / Windsurf) or on the VS Code Marketplace.
You can also download the .vsix file from the latest release or from Open VSX and drag-and-drop it into the Extensions panel.
Hit the DaSSHboard button (second from the left in the status bar), use the Remote menu, or run "Show DaSSHboard" from the Command Palette.
All your remote development environments are now one click away!
Click the (open in current window) or (open in new window) button next to one of the available entrypoint paths on the remote host, and you'll jump straight into that environment!
Notes:
WSL support is available on Windows systems with the WSL extension installed.
When you open the dashboard from inside a remote session, it also offers a Close connection button, coloured for the kind of remote you're in (SSH, WSL or container).
🛠️ How hosts are discovered
DaSSHboard reads your existing SSH config (~/.ssh/config) to establish which remote SSH hosts you usually connect to, detects WSL distros automatically, and parses docker ps to establish which containers are running.
Default entrypoint paths are chosen as follows:
Type
Default entrypoint
SSH host
The home directory of the User in your ~/.ssh/config (/root for root, /home if no user is set)
WSL distro
The default user's home directory of that WSL installation
Docker container
The container root (/) — fixed, containers are always opened there
Hosts with no usable default show an Add entrypoint row instead of a phantom path, and discovery is resilient: a slow DNS lookup or an unresponsive wsl.exe times out instead of blocking the dashboard.
✨ Customization
🗂️ Layouts
View your hosts in a grid layout or in a list layout! Change it with the toggle button at the bottom of the view, from the right-click menu, or with the daSSHboard.layout setting.
Grid layout
List layout
🎨 Customize each host's icon and color for easy identification
Customize host icons
Differentiate every host and make it immediately recognizable by assigning it its own color and one of the many icons from Lucide.
Click the icon on the top left of the host card and you'll get a customization UI. The set of available icons gets updated frequently!
Assign section colors
Assign a color to each section (SSH hosts, WSL distros and Docker containers) by clicking the color square next to the section title — or set it in settings.json.
Not happy with a look? Reset icon & color from the host's right-click menu puts it back to the theme default.
🖱️ Right-click to edit anything, without touching the JSON
Everything about your entrypoints can be managed straight from the dashboard — right-click to get a context menu that fits whatever you clicked on:
Right-click on…
What you get
An entrypoint path
Open it here or in a new window, copy the path, set/rename/remove a label, edit the path, duplicate it, move it up/down, or remove it, plus Add entrypoint…
A host card
Add an entrypoint, customize icon & color, reset the style, copy the ssh command or the host/container name, reveal that host in settings.json, open the SSH config
A section title
Collapse/expand it, change its color, switch layout, open the DaSSHboard settings
The background
Refresh, switch layout, toggle open at startup, open the SSH config, the daSSHboard.hosts setting or the DaSSHboard settings, and reach the GitHub repo or the TUI version
Hovering a host card also reveals a small + next to its name — the quickest way to add another entrypoint. Paths are validated and normalized for you, and the old Configure Path Entrypoints button is still there if you'd rather edit the JSON directly.
You might have remote development environments in more than one folder on a single host. With DaSSHboard, all of them are still one click away.
🏷️ Labels for long paths
A path like /mnt/storage/anvme/workspace/v120bb18-twist/experiments tells you nothing once it's been truncated to fit the card. Give it a label and the card shows the label instead — the full path stays one hover away in the tooltip, and Copy path is in the right-click menu.
Right-click an entrypoint → Set a label… (or Rename label… / Remove label). You're also offered a label right after adding a new entrypoint; just press Enter to skip it.
In settings.json an entrypoint is either a plain path or a {path, label} pair, so nothing you already have needs changing:
"daSSHboard.hosts": {
"elcap": {
"folders": [
"/home/albe", // shown as the path
{ "path": "/mnt/storage/anvme/workspace/v120bb18-twist/experiments",
"label": "TWIST experiments" } // shown as "TWIST experiments"
]
}
}
Labels are purely cosmetic: opening, copying and reordering always act on the real path.
🔗 Corner links
Two small buttons in the bottom-right corner take you to the GitHub repository and to DaSSHboard TUI, the terminal version of this dashboard.
⚙️ Settings reference
Everything below can be set from the UI, but it all lives in settings.json if you prefer.
Setting
Type
Default
What it does
daSSHboard.openAtStartup
boolean
true
Open the dashboard automatically when VS Code starts (also toggleable from the background right-click menu)
Color of the SSH section title, host count and badges (any CSS color; empty = theme default)
daSSHboard.wslSectionColor
string
""
Same, for the WSL section
daSSHboard.dockerSectionColor
string
""
Same, for the Docker section
daSSHboard.sshSectionCollapsed
boolean
false
Whether the SSH section starts collapsed
daSSHboard.wslSectionCollapsed
boolean
false
Whether the WSL section starts collapsed
daSSHboard.dockerSectionCollapsed
boolean
false
Whether the Docker section starts collapsed
daSSHboard.hosts
object
{}
Per-host folders, icon and color — see below
Per-host configuration
"daSSHboard.hosts": {
"elcap": {
// Entrypoints: a plain path, or { "path": …, "label": … } for a short name
"folders": [
"/home/albe",
{ "path": "/mnt/storage/anvme/workspace/experiments", "label": "Experiments" }
],
"icon": "lucide:server", // "lucide:<icon-name>", or an SVG filename in the extension's media/hosts folder
"color": "#1F9CF0" // any CSS color; empty for the theme default
},
"Ubuntu-22.04": { // WSL distros are keyed by distro name
"folders": ["/home/albe/dev"],
"icon": "lucide:terminal",
"color": "green"
},
"my-running-container": { // Docker containers are keyed by container name
"icon": "lucide:box",
"color": "cyan"
}
}
Commands
Command
Description
Show DaSSHboard
Open the dashboard
DaSSHboard: Check Extension and Connection Status
Report the detected remote extensions and the current remote context — handy when WSL or Docker hosts don't show up
🤝 Contributing
Spotted a bug or have a feature idea?
Open an issue or pull request on GitHub – contributions are very welcome!
📄 License
GPL v3
Enjoy a smoother, more colourful remote-development experience with DaSSHboard! ✨