How do we configure .vscode/launch.json
to debug Deno projects?
The IntelliSense the VSCode provides when I was in configurations
didn't offer an option for Deno. Or is there an extension for this?
To bring up the Run and Debug view, select the Run and Debug icon in the Activity Bar on the side of VS Code. You can also use the keyboard shortcut Ctrl+Shift+D. The Run and Debug view displays all information related to running and debugging and has a top bar with debugging commands and configuration settings.
In the Visual Studio toolbar, make sure the configuration is set to Debug. To start debugging, select the profile name in the toolbar, such as <project profile name>, IIS Express, or <IIS profile name> in the toolbar, select Start Debugging from the Debug menu, or press F5.
You need to attach the debugger, as per the deno manual.
Create .vscode/launch.json
replacing <entry_point>
with your actual script and then F5.
{
"version": "0.2.0",
"configurations": [
{
"name": "Deno",
"type": "node",
"request": "launch",
"cwd": "${workspaceFolder}",
"runtimeExecutable": "deno",
"runtimeArgs": ["run", "--inspect-brk", "-A", "<entry_point>"],
"port": 9229
}
]
}
It will stop at the breakpoints you set on VS Code, tried here and it worked fine.
About the VS Code plugin:
Official support in plugin is being worked on - https://github.com/denoland/vscode_deno/issues/12
The official VS Code Deno extension comes with handy debug support starting with v2.3.0.
Screencast from the PR:You can already press F5 to debug the active file without launch.json
(quite useful).
To auto-generate launch.json
with a Deno
entry: Press CTRL+Shift+D (Open debug view) → "create a launch.json file" → Deno
launch.json
Press Add Configuration...
in opened launch.json
(see screencast above).
F5 will now trigger the currently active debug launch action.
launch.json
, change:
{
"type": "pwa-node",
"program": "${file}", // change "program" value to "${file}"
// ...
},
// Inside keybindings.json
{
"key": "ctrl+alt+d",
"command": "workbench.action.debug.selectandstart",
"args": "Start debug task"
},
The shortcut is called "Debug: Select and Start Debugging"
- see also this related post.
To have log output shown in the debug console, I still needed to add "outputCapture": "std"
to the config entry. More infos:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With