Visual Studio Code中launch.json的公共变量

Kir*_*ohn 8 visual-studio-code

我已经看到launch.jsonVisual Studio Code有权访问${workspaceFolder}.它是否也可以访问其他常见变量?我想访问当前用户的AppData文件夹,所以我可以这样做:

"program": "${appData}\\Roaming\\npm\\node_modules\\gulp\\bin\\gulp.js"
Run Code Online (Sandbox Code Playgroud)

而不是硬编码为:

"program": "C:\\Users\\jdoe\\AppData\\Roaming\\npm\\node_modules\\gulp\\bin\\gulp.js"
Run Code Online (Sandbox Code Playgroud)

Ste*_*fen 17

launch.json中的变量替换支持环境变量.对于您的用例,您可以使用${env:AppData}.

VS Code launch.json以与for相同的方式支持字符串内的变量替换tasks.json.

https://code.visualstudio.com/docs/editor/tasks#_variable-substitution

  • ${workspaceFolder} VS Code中打开的文件夹的路径
  • ${file} 当前打开的文件
  • ${relativeFile} 当前打开的文件相对于workspaceRoot
  • ${fileBasename} 当前打开的文件的基本名称
  • ${fileDirname} 当前打开的文件的目录名称
  • ${fileExtname} 当前打开文件的扩展名
  • ${cwd} 启动时任务运行器的当前工作目录

您还可以通过引用环境变量${env:Name}(例如, ${env:PATH})确保匹配环境变量名称的外壳,例如env:Windows上的路径.

  • `${fileBasenameNoExtension}` 当前打开文件的基本名称,不带扩展名 (3认同)