Stream Deck Companion

Control Visual Studio Code from an Elgato Stream Deck. Press a button on your deck to run any VS Code command, drop into a fresh terminal, insert a snippet, switch the active editor's language, or open a folder - your hand never leaves the keyboard.
Install
Open the Extensions view in VS Code (Ctrl/Cmd+Shift+X), search for Stream Deck Companion, hit Install - or grab it from the Marketplace.
You'll also need the companion Visual Studio Code for Stream Deck plugin installed on the Stream Deck side. With both halves running, the VS Code status bar shows Deck | Connected | Active for the window currently receiving commands.
What you can do
- Execute any VS Code command - run anything from the command palette by ID (e.g.
workbench.action.tasks.runTask), with optional JSON arguments
- Send text to the active terminal - perfect for shortcutting
npm run dev, deploy commands, or anything else you type often
- Open a new terminal - configure name, working directory, shell, shell args and environment variables per button
- Insert a snippet - trigger any user or workspace snippet by name
- Change the active editor's language - flip a Markdown file to HTML, a
.txt to JSON, and so on
- Open a folder or workspace - jump straight to a project, optionally in a new window
Each window keeps its own focus state; whichever VS Code window you focus claims the Stream Deck. Switch windows and the deck follows you.
Settings
| Setting |
Default |
Description |
streamdeck.serverHost |
127.0.0.1 |
Hostname or IP of the Stream Deck bridge server. |
streamdeck.serverPort |
48969 |
Port the Stream Deck bridge server is listening on. |
If you run the Stream Deck app on a different machine - for example a Windows host while you work in WSL2, or a desktop while you SSH from a laptop - point streamdeck.serverHost at that machine's IP and make sure the bridge port is reachable.
Remote / SSH
When VS Code is connected to a remote host but the Stream Deck app is on your local machine, add a forwarded port to your SSH config:
RemoteForward 48969 127.0.0.1:48969
Commands
| Command |
Description |
Stream Deck: Reconnect |
Force a fresh connection attempt to the bridge |
Stream Deck: Activate this window |
Make this window the one that receives button presses |
Finding a VS Code command ID
Open File > Preferences > Keyboard Shortcuts, find the command you want, right-click and choose Copy Command ID. Paste that into the Stream Deck button's Property Inspector.
Credits
Built on top of the original vscode-streamdeck extension and its streamdeckvsc companion plugin, both by Nicollas Ricas. This branch is a ground-up modernisation of that work onto the current VS Code API and the official Elgato Node.js Stream Deck SDK.
Support
If this is useful to you and you'd like to support its development, you can buy me a coffee on Ko-fi - always optional, always appreciated.

License
MIT - see LICENSE.