问:
在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 |