VS Code extension
The Restura for VS Code extension makes OpenCollection files first-class citizens of your repo. It deliberately does only what an editor does better than a separate GUI: structured editing, a native Test Explorer, and inline send — all over the same files your team already commits. The design is in ADR 0025.
Three offerings
Section titled “Three offerings”1. OpenCollection language support
Section titled “1. OpenCollection language support”- Schema validation of request files (
http/grpc/graphql/websocket) against the OpenCollection element schemas — squiggles on missing or invalid fields, located to the offending line. - Autocomplete + hover on root
opencollection.{yml,yaml}files via the bundled JSON Schema (requires the Red Hat YAML extension; request-file validation works without it).
2. Test Explorer
Section titled “2. Test Explorer”Your collections appear in VS Code’s native Testing view, mirroring the folder structure. Run the whole collection, a folder, or a single request — pass/fail, durations, and assertion details show inline. Runs shell out to the restura CLI, so local results match CI exactly.
3. Inline Send / Run test
Section titled “3. Inline Send / Run test”CodeLens actions above each request:
- ▶ Send (HTTP/GraphQL) — sends through Restura’s shared protocol core (SSRF guard, header policy, redirect handling, wire-level auth) and shows the response in a side panel. Variables resolve from the collection’s default environment.
- ▶ Run test — runs just that request through the CLI and reports assertions.
Requirements
Section titled “Requirements”- The
resturaCLI onPATHor in your workspacenode_modules(used by the Test Explorer and Run test). Override the path withrestura.cliPath. - Node.js 24+.
- Trusted, local workspaces only — the extension spawns a CLI and makes network requests, so it doesn’t run in virtual or untrusted workspaces.
Settings
Section titled “Settings”| Setting | Default | Description |
|---|---|---|
restura.cliPath | "" | Path to the restura binary (auto-resolved if empty). |
restura.allowLocalhost | true | Allow Send/test runs to target localhost. |
restura.allowPrivateIPs | false | Allow private/RFC-1918 targets. Cloud-metadata endpoints stay blocked. |
restura.env | "" | Optional env file (JSON/YAML) passed to the CLI runner. |
Roadmap
Section titled “Roadmap”Two further offerings are scoped but not yet shipped: OpenAPI contract drift (generate requests from a spec and flag drift) and one-click MCP registration (register Restura’s MCP server into the workspace MCP config).