Debugging & Tasks
Debugging
Set breakpoints, step through execution, and inspect state — for compiled and interpreted languages alike — without leaving the editor for a separate debugger UI.
Starting a debug session
Open the Run and Debug view from the Activity Bar (Ctrl+Shift+D) and press the green play button, or just press F5 from anywhere. If your project doesn't have a debug configuration yet, Gunamaya offers to generate one based on the project type it detects.
Breakpoints
Click in the gutter next to any line to set a breakpoint. Right-click one for a conditional breakpoint — pause only when an expression is true, or only after N hits.
Step controls
Step over, into, or out of function calls, or run to cursor, all from the floating debug toolbar or their keyboard shortcuts.
Variables & Watch
Inspect every variable in scope when execution is paused, and pin specific expressions to a Watch list that updates live as you step.
Debug Console
Evaluate arbitrary expressions in the paused program's context — useful for testing a fix before you write it into the actual code.
Configuring launch.json
For anything beyond auto-detection, a debug configuration lives in
.vscode/launch.json in your workspace — which program to run, what
arguments to pass, environment variables, and which debugger to use. Create
one with the gear icon in the Run and Debug view, which opens a picker
scoped to the languages Gunamaya detects in your project.
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Run current file",
"program": "${file}"
}
]
}Multiple configurations, one dropdown
Every configuration in launch.json shows up in the dropdown at the top of
the Run and Debug view — a common setup is one entry for the app itself and
another for its test suite, switched between with a click.
Which languages are supported
JavaScript, TypeScript, and Node.js debugging work out of the box with no extension required. Other languages — Python, Go, Rust, C/C++, Java, and more — get the same breakpoint/step/inspect experience once you install that language's debugger extension from Open VSX; most mainstream languages have a mature one available.
Debugging and the Integrated Browser
For front-end work, pair a debug session with the Integrated Browser: set a breakpoint in your client-side code, trigger the code path from the browser panel next to it, and step through exactly what the browser is doing without switching to a separate DevTools window.