Reactotron for VS CodeA VS Code extension that connects to React / React Native apps via Reactotron, giving GitHub Copilot full access to your app's logs, state, network requests, benchmarks, and more — directly inside the editor. How it worksThe extension runs a WebSocket proxy that sits between your app and the Reactotron desktop app:
Your app connects to the proxy instead of directly to Reactotron. The proxy forwards all traffic to the desktop app (so the Reactotron UI works normally) and captures every message for the VS Code tools. Standalone mode — if Reactotron Desktop is not open, the app connection is kept alive and all messages are still captured. When Reactotron is opened later, the proxy reconnects automatically with exponential backoff. Features
Requirements
InstallationInstall from the VS Code Marketplace, or build from source:
Then install the App setupPoint your app's Reactotron config at the proxy port instead of the default:
For Android emulators, you may also need:
ConfigurationSettings are available under Reactotron in VS Code Settings:
CommandsAvailable from the Command Palette (
Copilot IntegrationAutomatic tool discovery (Agent mode)In Copilot Agent mode, the 16 Reactotron tools are automatically discoverable. Just ask naturally:
|
| Command | Description |
|---|---|
/debug |
Comprehensive snapshot — connection, logs, network, state, actions |
/trace <action> |
Trace a Redux/MST action through state changes, logs, and network |
/network |
Diagnose failed or slow API requests |
/performance |
Analyse benchmarks and identify slow operations |
/errors |
Triage all errors — logs, failed requests, error state |
Or ask free-form: @reactotron what changed in state after the last button press?
Tools
| Tool | Description |
|---|---|
getLogs |
Read captured log messages. Filter by level (log/debug/warn/error), text search, and limit. |
getState |
Query the app's state tree. Browse keys at a path or read the value. |
getNetwork |
View captured API requests and responses. Filter by URL, HTTP method, status code, minimum duration, and limit. |
getTimeline |
Full chronological timeline of all Reactotron messages. |
getStateActions |
View completed Redux or MobX-State-Tree actions. Filter by action type substring and limit. |
getStateChanges |
View state mutation events. Filter by state path substring and limit. |
getBenchmarks |
View performance benchmark reports with per-step timings. Filter by title and limit. |
getDisplays |
Read custom display messages sent via reactotron.display(). Filter by name/preview text and limit. |
getErrors |
Consolidated view of error-level logs and failed network requests (4xx/5xx) in one call. |
getImages |
Retrieve images logged via reactotron.image(). |
getAppInfo |
Show connected app metadata: name, version, platform, React/RN versions. |
getConnectionStatus |
Check whether an app is connected, including app name, platform, and proxy port. |
listCustomCommands |
List all custom commands registered by the connected app. |
runCustomCommand |
Trigger a custom command registered by the app. |
dispatchAction |
Dispatch a Redux or MobX-State-Tree action to the app. |
clearMessages |
Clear captured messages from the in-memory buffer. Clears all buffers or a specific message type. |
Development
npm install
npm run build # bundle with esbuild
npm run watch # rebuild on changes
npm run typecheck # type-check without building
npm run package # create .vsix
Press F5 to launch the Extension Development Host for testing.
License
MIT