VS Code extension for MicroPython development via WebREPL. Works on vscode.dev and iPad Safari.
- 🔌 Connect to MicroPython devices via WebREPL (WiFi or USB)
- 🖥️ Terminal with interactive REPL
- 📁 File Browser for device filesystem
▶️ Run Code directly from editor (no save required)- 🐛 Debug with breakpoints, stepping, and variable inspection (NEW!)
- 📦 Protocol Support:
- WebREPL CB (WBP)
- Debug Adapter Protocol (DAP) over WebSocket
- Legacy WebREPL (backward compatible)
- 🎨 ScriptO Integration - Add ScriptOs from workspace
- 📱 Device UI display via iframe
- ℹ️ Auto-INFO status bar display
- Search for "ScriptO Studio Pro" in VS Code Extensions
- Click Install
git clone https://github.com/jetpax/scripto-studio-pro
cd scripto-studio-pro
npm install
npm run compile-webThen press F5 to launch Extension Development Host
- Click "Connect to Device" in the Device Files sidebar
- Enter device IP address (default: 192.168.4.1)
- Enter WebREPL password
- Connection status shown in status bar
- Click the Play button in the editor toolbar to run the current file
- No save required - code runs directly from editor memory
- Code executes on the connected device via WebREPL
- Click the "Add Scripto" button (folder-library icon) in editor toolbar
- Select a ScriptO from the list
- Configure parameters
- Generated code opens in a new editor tab
- Connect to device first
- Open a Python file you want to debug
- Set breakpoints by clicking the left gutter (red dots)
- Press F5 or click Run → Start Debugging
- Use debug toolbar to step, continue, or pause
Launch Configuration (.vscode/launch.json):
{
"version": "0.2.0",
"configurations": [
{
"type": "micropython-esp32",
"request": "launch",
"name": "Launch /main.py",
"program": "/main.py",
"stopOnEntry": true
}
]
}Debug Features:
- ✅ Breakpoints
- ✅ Step over/into/out
- ✅ Continue/pause execution
- ⏳ Variable inspection (coming soon - requires device support)
- ⏳ Stack traces (coming soon - requires device support)
You do NOT need the VS Code Python extension for MicroPython development. This extension provides everything needed:
- ✅ Syntax highlighting (built into VS Code)
- ✅ Code execution via WebREPL
- ✅ File management
- ✅ Terminal/REPL
The Python extension adds:
- ❌ Default "Run Python File" commands (require saving)
- ❌ Python language server (not needed for MicroPython)
- ❌ Local interpreter management (not needed)
To avoid save dialogs and combo buttons:
- Disable the Python extension for this workspace
- Or use our Play button (preferred action) instead of the dropdown
Our extension runs code directly from editor memory - no save required. If VS Code shows a save dialog:
- Click Cancel - our command will still run using in-memory content
- Or enable auto-save in VS Code settings:
"files.autoSave": "afterDelay"
micropython.defaultIP: Default device IP (default: "192.168.4.1")micropython.defaultPassword: Default WebREPL passwordmicropython.autoConnect: Auto-connect on startupmicropython.terminalFontSize: Terminal font size
micropython.ai.provider: AI service provider (openai, anthropic, grok, etc.)micropython.ai.apiKey: API key for selected providermicropython.ai.model: Model to use (e.g., gpt-4o)micropython.ai.endpoint: Custom endpoint URL (for custom provider)micropython.ai.systemPrompt: Custom system prompt
Debug configurations are in .vscode/launch.json (see Debugging section above)
npm install # Install dependencies
npm run compile-web # Compile extension
npm run watch-web # Watch mode for development
npm run package-web # Package for productionPress F5 in VS Code to launch Extension Development Host with your extension loaded.
- Protocol Multiplexing: WebSocket TEXT frames (DAP) + BINARY frames (WebREPL CB/Legacy)
- Debug Adapter: Implements VS Code Debug Adapter Protocol
- WebREPL CB: CBOR-based channelized protocol for efficient communication
- Backward Compatible: Supports legacy WebREPL (WA/WB) as fallback
See MIGRATION_SUMMARY.md for detailed implementation notes.
- IMPLEMENTATION_PLAN.md - Development roadmap
- MIGRATION_SUMMARY.md - What's been implemented
- ../webrepl/ - Protocol specifications
dap_websocket_advocacy.md- Why DAP over WebSocketwebrepl_cb_rfc.md- WebREPL Binary Protocol specdocs/VSCODE_INTEGRATION.md- VS Code integration guide
Contributions welcome! Please read the implementation docs first to understand the architecture.
AGPL-3.0