Roves Run
Run a web project you've already built (dist/, or whatever you call it) locally with the
Roves shell, straight from VS Code — no Rust
or Python toolchain, and nothing added to your project. The extension downloads the right
prebuilt shell for your OS once, caches it outside your workspace, and points it at your
dist/ folder directly.
How it works
Click Roves: Run in the status bar (or run the command from the Command Palette). The
first time, this downloads roves_shell_<platform>[_steam].zip from
Roves' GitHub releases for your
platform, showing progress in the status bar, and caches it under VS Code's own extension
storage — never inside your workspace. Every following run reuses that cached shell instantly.
It then writes a small launch.json next to the cached shell binary pointing at your
project's dist/index.html by absolute path, and launches it — the same mechanism a real
mach bundle output uses to find its own bundled content, just pointed at your project
directly instead. See src/shell.ts for exactly how.
Extension Settings
| Setting |
Default |
Description |
roves-run.distFolder |
"dist" |
Folder (relative to the workspace root) containing your built index.html. |
roves-run.version |
"latest" |
Roves shell version to run, e.g. "v0.4.6". "latest" always resolves to the newest published release. |
roves-run.steam |
false |
Run the Steam-enabled shell variant instead of the plain one. |
roves-run.steamAppId |
"" |
Steam App ID to run with (writes steam_appid.txt next to the shell binary). Only used when roves-run.steam is enabled. |
roves-run.windowSize |
"1280x720" |
Initial window size, as <width>x<height>. |
roves-run.extraArgs |
[] |
Extra command-line arguments passed through to the shell on launch. |
Commands
- Roves: Run — download the configured shell if needed, then launch your
dist/ folder.
- Roves: Stop — stop the currently running instance.
Output (stdout/stderr from the shell itself) goes to the Roves output channel.
Requirements
None — just a built project with an index.html somewhere. Steam builds still need Steam
running locally if you want steam_appid.txt to actually resolve to anything.
Known limitations
- Downloaded shells are cached per version/platform/Steam-variant under VS Code's global
storage and never cleaned up automatically — delete them yourself (from the extension's
storage folder) if you want to reclaim disk space from old versions.
roves-run.distFolder must contain a loose (uncompressed) build — this extension doesn't
pack content the way mach bundle --content-compress=auto does; it isn't needed for a
local dev loop.