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 file
You 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://www.cnblogs.com/it-tsz/p/9025311.html