Skip to content

Debugger

Step through Node.js code with breakpoints, call stack, and variables.

Available on
  • 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

ShortcutAction
F5Start session (first config) or continue paused thread
Shift+F5Disconnect the active session
F9Toggle breakpoint at the cursor
F10Step over
F11Step in
Shift+F11Step 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. F5 from cold launches the first configuration in launch.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.