Runtime LSP and VS Code
Downloads
Install the VSIX using VS Code → Extensions → … → Install from VSIX. It is a locally built, unsigned package. It does not install or attach a game bridge automatically.
Connect a runtime
- In ExtraExecutor, open Agent access and enable local MCP. Copy its endpoint and local token.
- Connect the provided Roblox Studio plugin. In Player, an appropriate execution runtime must actually run the inspection bridge; delivery alone does not make it online.
- In VS Code run ExtraExecutor: Connect Runtime. Enter the local token and choose one online target.
- Type
workspace. or game.Workspace. in a Lua/Luau file. Suggestions come from that target's observed children. Hover an instance expression to see its name, class, and path. - Simple aliases such as
local world = game:GetService("Workspace") are supported. Computed expressions and complete Luau type inference are not.
The token is kept in VS Code SecretStorage; endpoint settings are global/application scoped. Workspace trust is required. Only loopback HTTP /mcp endpoints are accepted. There is no telemetry or automatic source upload to a remote service.
Commands
| Command | Action |
|---|
| Connect Runtime | Select one online Studio/Player bridge |
| Disconnect Runtime | Stop the local language server |
| Inspect Runtime Properties | Read selected properties using a JSON instance path |
| Open Runtime Script | Open readable source as an untitled document; does not execute or overwrite it |
Paths use arrays, for example ["Workspace", "SpawnLocation"]. Duplicate sibling names, missing objects, permission errors, and inaccessible Source are reported by the bridge.
Other editors
The standalone server uses standard LSP Content-Length stdio framing. Start node server.mjs with local environment variables EXTRAEXECUTOR_MCP_URL, EXTRAEXECUTOR_MCP_TOKEN, and EXTRAEXECUTOR_TARGET. An explicit online target is required. Configure these outside a public repository.
Supports initialize/shutdown/exit, full text-document synchronization, completion, and hover. It does not advertise diagnostics, rename, full class API completion, or go-to-definition. A Luau language extension can supply syntax highlighting and static analysis separately.
Limits and troubleshooting
- Snapshots are cached for three seconds, with at most 500 children per request. Documents/messages are limited to 1 MiB, and at most 128 documents are retained.
- No online targets: connect the Studio plugin and check Agent access permissions/port/token.
- Empty suggestions: use a supported instance expression and a real instance with children. Names that are not Lua identifiers can be inspected via JSON paths.
- Player bridge offline: a submitted script has not necessarily executed. This extension does not supply a new injection engine or bypass runtime restrictions.
- Package and syntax builds were completed. Live VS Code + Studio/Player behavior still requires confirmation; this is not evidence of successful Player execution.
Reference: VS Code Language Server extension guide.