Companion for VS Code Projects Dock (PowerToys Command Palette). Reports each window's identity and liveness so the dock shows and switches your open and pinned projects, local and WSL.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Makes your open VS Code windows show up as live buttons in the PowerToys Command
Palette Dock, so you can jump between projects without alt-tabbing.
This is a silent reporter — it has no UI of its own. Each window writes a small state
file that the dock reads to render the band and focus or launch projects.
⚠️ Requires the dock. This extension does nothing on its own. You also need the
VS Code Projects Dock extension for the PowerToys Command Palette. See the
project README for the dock and how
the two fit together.
What it does
Reports each window's folder, remote kind (local / WSL / container / SSH), and
liveness to a shared state directory.
Runs on the UI host, so a single runtime on Windows sees every window — local and
WSL remote alike — and writes natively to %LOCALAPPDATA%.
Cheap heartbeat: it just touches a file's mtime each interval; it only rewrites the
full state when you switch folders. The dock treats files that stop updating as
closed windows.
Settings
Search "VS Code Projects Dock" in Settings. Both apply live (no reload):
Setting
Default
Meaning
vscodeProjectsDock.heartbeatIntervalMs
2000
How often the state file's mtime is touched (min 500). Lower = snappier dock, more writes.
vscodeProjectsDock.sharedDirectory
%LOCALAPPDATA%\VsCodeProjectsDock\windows
The shared state directory. The dock must be configured to read the same path.
There's also a VS Code Projects Dock: Show companion status command that dumps the
current state and file path for troubleshooting.
Privacy
It writes only your open folder's URI, its display name, the window/process id, and a
timestamp — to a local directory on your machine. Nothing leaves your computer.
Development
git clone https://github.com/mbolli/dock-vscode-projects
cd dock-vscode-projects/companion
npm install
npm run compile # F5 to debug, npm run package for a VSIX