When authoring tasks  configurations, it is often useful to have a set of predefined common  variables. VS Code supports variable substitution inside strings in the tasks.json file and has the  following predefined variables:

  • ${workspaceRoot} VSCode中打开的文件夹的路径
  • ${file} 当前打开的文件路径
  • ${relativeFile} 当前打开的文件相对于workspaceRoot的路径
  • ${fileBasename} 当前打开的文件的basename
  • ${fileDirname} 当前打开的文件的文件夹名
  • ${fileExtname} 当前打开的文件扩展名
  • ${cwd} 任务运行器启动时的当前路径
  • ${workspaceRoot}  当前打开的文件夹的绝对路径+文件夹的名字
  • ${workspaceRootFolderName}  当前打开的文件夹的名字
  • ${file}  当前打开正在编辑的文件名,包括绝对路径,文件名,文件后缀名
  • ${relativeFile}  从当前打开的文件夹到当前打开的文件的路径, 如当前打开的是test文件夹,当前的打开的是main.c,并有test / first / second / main.c,那么此变量代表的是  first / second / main.c
  • ${fileBasename}  当前打开的文件名+后缀名,不包括路径
  • ${fileBasenameNoExtension} 当前打开的文件的文件名,不包括路径和后缀名
  • ${fileDirname}  当前打开的文件所在的绝对路径,不包括文件名
  • ${fileExtname}  当前打开的文件的后缀名
  • ${cwd}  the task runner's current working directory on startup, 不知道怎么描述,这是原文解释,跟cmd 里面的 cwd 是一样的
  • ${lineNumber} 当前打开的文件,光标所在的行数

你也可以使用${env.Name} (比如 ${env.PATH})来引用环境变量。请确认它匹配环境变量的大小写,比如Windows上的env.Path。