Debugging current file in VS Code


Solution 1

Change to:

"program": "${file}"

Solution 2

For reference this is the full launch.json

  "launch": {
    "version": "0.2.0",
    "configurations": [
        "name": "Node.js - Debug Current File",
        "type": "node",
        "request": "launch",
        "program": "${file}"

Solution 3

For a single file, you can skip the launch.json file entirely. Just click the green arrow in the debugger panel and choose Node as your environment.

From here.

Author by


Updated on January 18, 2022


  • Admin
    Admin 12 months

    I am writing javascript and am currently doing simple exercises/programs. At times, I wish to run my file for testing purposes. I am aware I could create an HTML file and do this within the console. In Sublime, there exists a way to "build" the current file and immediately see the results (say, whatever is sent to console.log).

    With VS Code, it seems that for every file I want to "build"/debug in this manner, I must manually change the launch.json file to reflect the name of the current program.

    I have been researching a way around this, and I learned that there are variables like ${file} , but when I use that in the launch.json "program" attribute, for example:

    "program": "${workspaceRoot}/${file}"

    with or without the workspaceRoot part, I get the following error:

    Attribute "program" does not exist" (file name here). 

    Am I missing a simple way to accomplish this, or must I keep editing launch.json every time I want to run the file?

    Thanks in advance!