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!

There are many different ways you may need to access a file that are provided by Predefined variables:

Supposing that you have the following requirements:

  • A file located at /home/your-username/your-project/folder/file.ext opened in your editor;
  • The directory /home/your-username/your-project opened as your root workspace.

So you will have the following values for each variable:

  • ${userHome} - /home/your-username
  • ${workspaceFolder} - /home/your-username/your-project
  • ${workspaceFolderBasename} - your-project
  • ${file} - /home/your-username/your-project/folder/file.ext
  • ${fileWorkspaceFolder} - /home/your-username/your-project
  • ${relativeFile} - folder/file.ext
  • ${relativeFileDirname} - folder
  • ${fileBasename} - file.ext
  • ${fileBasenameNoExtension} - file
  • ${fileDirname} - /home/your-username/your-project/folder
  • ${fileExtname} - .ext
  • ${lineNumber} - line number of the cursor
  • ${selectedText} - text selected in your code editor
  • ${execPath} - location of Code.exe
  • ${pathSeparator} - / on macOS or linux, \ on Windows