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:
${workspaceFolder} the path of the workspace folder that contains the tasks.json file ${workspaceRootFolderName} the name of the folder opened in VS Code without any slashes (/) ${file} the current opened file ${relativeFile} the current opened file relative to the workspace folder containing the file ${fileBasename} the current opened file's basename ${fileBasenameNoExtension} the current opened file's basename without the extension ${fileDirname} the current opened file's dirname ${fileExtname} the current opened file's extension ${cwd} the task runner's current working directory on startup ${lineNumber} the current selected line number in the active fileYou can also reference environment variables through ${env:Name} (for example, ${env:PATH}). Be sure to match the environment variable name's casing, for example ${env:Path} on Windows.
Below is an example of a custom task configuration that passes the current opened file to the TypeScript compiler.
{ "taskName": "TypeScript compile", "type": "shell", "command": "tsc ${file}", "problemMatcher": [ "$tsc" ] }
部分翻译:(来自互联网)
${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} 当前打开的文件,光标所在的行数
更新一个链接:https://code.visualstudio.com/docs/editor/variables-reference