How to display current values of VS Code's predefined variables (such as "${workspaceFolder}" or "${fileWorkspaceFolder}")?

Matt picture Matt · Nov 26, 2018 · Viewed 11.6k times · Source

I am facing an issue with VS code debugger while trying to debug some angular typescript source code, and I think the reason is that some of those VS Code Variables have the wrong value - as suggested here.

I'd like to follow that advice, but I see no way how to query the VS code variables (e.g. display the current values of these variables for my project).

One of these variables is

${workspaceFolder}

They are used in VS code's config files, for this example in the launch.json file.

Do you know if there is a way to display those values? For example, log the values or show them in an alert window would just be sufficient for me to troubleshoot it.

Answer

Mark picture Mark · Nov 26, 2018

There may be a better way but you could run a

//  "preLaunchTask": "Echo vars" in your debug launch like:

{
    "name": "Chrome : Launch with sourcemaps",
    "type": "chrome",
    "request": "launch",
    "url": "http://localhost:3000",
    "webRoot": "${workspaceRoot}",
    "sourceMaps": true,
    "runtimeArgs": [
    "--remote-debugging-port=9222"
    ],
    "preLaunchTask": "Echo vars"
},

in your launch task and then in tasks.json add:

{
   "label": "Echo vars",
   "command": "echo",
   "args": [
     "${env:USERNAME}",
     "workspaceFolder = ${workspaceFolder}"
   ],
   "type": "shell"
},

Those values will be echoed to the terminal.


EDIT: Because a later version of vscode now supports sending variables to the terminal this simpler keybinding will print out values in the terminal:

{
  "key":  "alt+q",
  "command": "workbench.action.terminal.sendSequence",
  "args": {
    // "text": "${env:USERNAME}",  // this works
     "text" : "file = ${file};  workspaceFolder = ${workspaceFolder}"
  }  
},

then Alt-q prints out the values.