Debugger
Step through Node.js code with breakpoints, call stack, and variables.
- Desktop
The editor includes a minimum-viable debugger built on the Debug Adapter Protocol (DAP). Today it speaks to one adapter — Node.js — via VS Code’s js-debug-adapter. Other runtimes will slot in behind the same DAP layer.
Prerequisites
Install VS Code’s js-debug-adapter so Glueprint can launch it:
npm install -g @vscode/js-debug
If you want to point at a non-PATH install instead, set adapterPath in your launch entry to the absolute path of dapDebugServer.js.
launch.json
Glueprint reads debug configurations from .glueprint/launch.json at the workspace root (not .vscode/launch.json). The schema is the same shape VS Code uses — name, type, request, program, cwd, env, and an optional preLaunchTask that names a task from your task runner.
The Glueprint side does not override program, cwd, or env — your launch.json is the source of truth. If preLaunchTask is set, the runner runs that task first and only starts the debugger if it exits cleanly.
The Debug panel
The debugger UI docks on the right side of the editor and shows:
- A launch picker at the top — the dropdown lists every configuration in your
launch.json. Click one to start a session. - Run state — starting, running, stopped (paused), terminated.
- Call stack — the current threads and their stack frames. Click a frame to jump the editor to its source location.
- Variables — scope-grouped variables (locals, closure, globals). Expand objects to drill in.
- Breakpoints — the list of breakpoints currently set in the workspace.
- Output — adapter and program output.
Keyboard shortcuts
| Shortcut | Action |
|---|---|
F5 | Start session (first config) or continue paused thread |
Shift+F5 | Disconnect the active session |
F9 | Toggle breakpoint at the cursor |
F10 | Step over |
F11 | Step in |
Shift+F11 | Step out |
Shortcuts only fire when the editor is focused or the Files view is active.
Breakpoints
Click the gutter to the left of a line number to toggle a breakpoint. A red dot marks an active breakpoint. F9 does the same thing for the line at the cursor. Breakpoints persist across debug sessions for the workspace.
Multi-root workspaces
In a multi-root setup (e.g. a monorepo with server/, portal/, etc. as siblings), Glueprint resolves the workspace for a debug session by looking at the active editor tab’s file and walking up to the file-browser root that owns it. Open the file in the workspace you want to debug before pressing F5.
Limits today
- Node.js only. The DAP layer is generic; other adapters (Python, Go, Chrome / browser) are not yet wired through Glueprint’s UI.
- Single-config quick-start.
F5from cold launches the first configuration inlaunch.json. To pick a specific config, use the dropdown in the Debug panel header. - No remote debugging. The adapter runs on the host where Glueprint is running.