Remote RunWrite code on your machine. Run it on the other one. Remote Run turns any SSH-reachable computer — a Raspberry Pi on your desk, a server in a rack, a VM in the cloud — into a target you can edit, run, browse and preview from inside VS Code. No manual The whole point is that it stays out of the way. It was built against a Raspberry Pi Zero 2 W with 512 MB of RAM, and every feature is designed so that neither the extension nor the device it talks to has to hold a large file in memory to do its job.
FeaturesRun on remotePress ▶ in the editor toolbar. The file syncs, executes on the remote, and its output streams back into an integrated terminal — colours, prompts, interactive input and all. Press ■ to stop it. Scripts that need hardware access (GPIO, I²C, cameras) can be set to run under Auto-sync on saveEvery Ctrl+S uploads the file over SFTP. The status bar confirms with Work with several machines at onceConnect to as many hosts as you like and keep them all live. One is marked active (⭐) — that's where Run and sync-on-save go. Switch from the status bar or the host's context menu. Each host runs independently: a script on the Pi keeps going while you start another on a VM, and disconnecting one leaves the rest untouched. A remote file always runs on the host it lives on, whichever host happens to be active. Move anything, in any directionAny file type — images, video, archives, binaries, entire folder trees.
Everything streams. Host-to-host transfers are piped from one SSH connection straight into the other and never touch your disk; uploads and downloads move one 64 KB buffer at a time. A 4 GB video costs the same memory as a 4 KB script. Transfers report progress and can be cancelled mid-flight. Permissions and timestamps are preserved, empty directories survive, and symlinks are skipped rather than silently expanded into copies. Preview media inside VS CodeClick a Video, audio and large PDFs are streamed and never stored. A loopback connection translates the player's byte-range requests into SFTP ranged reads, so the remote sends only the parts you actually play — and nothing lands on your disk. Seeking into a two-hour film on a Pi Zero costs a couple of hundred kilobytes, not the whole file. Large PDFs work the same way: pdf.js pulls individual pages, so a 200 MB document opens on page one immediately. Images and small PDFs can't be rendered in pieces, so those alone use a temporary cache. It is wiped when VS Code closes and again the next time it starts, so a crash can't leave anything behind, and If a stream can't be played, the preview quietly retries from a downloaded copy before reporting anything, then offers Open with Default App or Save a copy…. Remote file browserBrowse the remote filesystem in the sidebar. Click a file to edit it in place — no temp copies, no sync step; Ctrl+S writes straight back over SFTP. Files too large to hold in an editor buffer are refused with a clear message instead of freezing the window. Right-click any item for:
Integrated SSH terminalOpen a full interactive shell on any connected host, straight from the sidebar. It shares the existing connection, so there's no second login. CredentialsPasswords are stored in the OS keychain through VS Code's SecretStorage — never in settings, never in plain text. Getting started
Requirements
Remote machines may run Linux (Raspberry Pi OS, Ubuntu, Debian…), macOS, or Windows with OpenSSH Server. Settings
Run commands
Override or extend any of these with Previewable formats
Playback uses the codecs built into VS Code. For a format it can't decode — HEVC in an Text and source files open in the editor as normal. For anything else ( How it stays fastA few decisions do most of the work, and they're worth knowing about if you're running this against something small:
LicenseCC BY-NC-SA 4.0 — see LICENSE. Bundles pdf.js (Apache 2.0) for PDF rendering. |