问:
在vscode中的launch.json以及task.json中所有的文件参数,类如
w
o
r
k
s
p
a
c
e
F
o
l
d
e
r
,
{workspaceFolder},
workspaceFolder,{fileDirname},${fileBasenameNoExtension}等,将这些参数全部都列举出来,画图(文件夹和文件结构图)举例说明每个参数的作用和含义
Chatgpt4.1:
以下是 VS Code 中 launch.json
和 tasks.json
常用的**变量(变量替换参数)**列表及其含义。后面我用一个示例文件夹结构图配合说明每个参数的作用。
一、VS Code 常用变量参数列表
变量名 | 说明 |
---|---|
${workspaceFolder} | 当前打开的工作区根目录(第一个打开的文件夹的绝对路径) |
${workspaceFolderBasename} | 当前工作区根目录的文件夹名称(不含路径) |
${file} | 当前编辑器打开文件的绝对路径 |
${fileWorkspaceFolder} | 当前文件所在的工作区根目录(对应${workspaceFolder} ,如果有多根工作区) |
${relativeFile} | 当前文件相对于工作区根目录的相对路径 |
${fileBasename} | 当前文件名称(含扩展名) |
${fileBasenameNoExtension} | 当前文件名(不含扩展名) |
${fileExtname} | 当前文件的扩展名(带点,如.cpp ) |
${fileDirname} | 当前文件所在文件夹的绝对路径 |
${cwd} | 当前命令执行时的工作目录(当前终端或进程的工作目录,通常等同于 ${workspaceFolder} ) |
${lineNumber} | 当前光标所在的行号 |
${selectedText} | 当前选中的文本 |
${execPath} | VS Code 可执行程序的路径 |
${defaultBuildTask} | 默认的构建任务名称 |
${env:XXX} | 访问环境变量,如 ${env:PATH} |
${config:XXX} | 访问用户或工作区配置中的某个配置项,例如 ${config:python.pythonPath} |
二、示例文件夹结构(配合变量解释)
假设你打开的工作区根目录是:
/home/shaoyoulu/project
├── src
│ ├── main.cpp
│ └── util.cpp
├── include
│ └── util.h
└── README.md
当前你在编辑器中打开的是文件 /home/shaoyoulu/project/src/main.cpp
。
三、变量的具体举例说明
变量 | 对应值(基于上面示例) | 说明 |
---|---|---|
${workspaceFolder} | /home/shaoyoulu/project | 工作区根目录绝对路径 |
${workspaceFolderBasename} | project | 工作区根目录的文件夹名 |
${file} | /home/shaoyoulu/project/src/main.cpp | 当前打开文件的绝对路径 |
${fileWorkspaceFolder} | /home/shaoyoulu/project | 当前文件所属的工作区根目录(等同${workspaceFolder} ) |
${relativeFile} | src/main.cpp | 当前文件相对于工作区根目录的路径 |
${fileBasename} | main.cpp | 当前文件名(含扩展名) |
${fileBasenameNoExtension} | main | 当前文件名(无扩展名) |
${fileExtname} | .cpp | 当前文件扩展名 |
${fileDirname} | /home/shaoyoulu/project/src | 当前文件所在目录的绝对路径 |
${cwd} | /home/shaoyoulu/project | 当前命令执行时的工作目录,通常等同于${workspaceFolder} |
${lineNumber} | 12 (假设光标在第12行) | 当前光标所在的行号 |
${selectedText} | int main() (假设选中了此文本) | 当前编辑器中选中的文本 |
${env:PATH} | 系统环境变量PATH的值 | 访问环境变量,如 ${env:PATH} |
四、图示说明(简化示意)
工作区根目录: /home/shaoyoulu/project
│
├── include/ <--- include目录
│ └── util.h
│
├── src/ <--- src目录 (fileDirname: .../src)
│ ├── main.cpp <--- 当前打开文件 (file)
│ └── util.cpp
│
└── README.md <--- 工作区根目录下文件 (relativeFile: README.md)
${workspaceFolder}
指向整个project
文件夹${fileDirname}
指向文件所在文件夹,如.../src
${fileBasenameNoExtension}
是文件名去掉扩展名,如main
${relativeFile}
是文件相对路径,如src/main.cpp
五、总结
变量 | 作用 | 例子(基于示例文件) |
---|---|---|
${workspaceFolder} | 工作区根目录 | /home/shaoyoulu/project |
${file} | 当前编辑文件绝对路径 | /home/shaoyoulu/project/src/main.cpp |
${fileDirname} | 当前文件所在目录路径 | /home/shaoyoulu/project/src |
${fileBasenameNoExtension} | 当前文件名(无扩展名) | main |
${relativeFile} | 当前文件相对工作区的路径 | src/main.cpp |