VSCode tasks.json中的各种替换变量的意思 ${workspaceFolder} ${file} ${fileBasename} ${fileDirname}等

Posted 中国人醒来了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VSCode tasks.json中的各种替换变量的意思 ${workspaceFolder} ${file} ${fileBasename} ${fileDirname}等相关的知识,希望对你有一定的参考价值。

 

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}  当前打开的文件,光标所在的行数


以上是关于VSCode tasks.json中的各种替换变量的意思 ${workspaceFolder} ${file} ${fileBasename} ${fileDirname}等的主要内容,如果未能解决你的问题,请参考以下文章

将vscode打造无敌的IDE(14) tasks.json和launch.json配置详解,随心所欲添加自动化任务

VSCode仅为许多项目之一创建Launch.json和Tasks.json文件

开发环境Ubuntu 中使用 VSCode 开发 C/C++ ⑤ ( tasks.json 中的 args 数组配置分析 | 编译并执行 C++ 程序 )

开发环境Ubuntu 中使用 VSCode 开发 C/C++ ⑤ ( tasks.json 中的 args 数组配置分析 | 编译并执行 C++ 程序 )

WinExe 的 VSCode tasks.json 和 launch.json 依赖于 dll

VSCode 调试