我正在尝试在tasks.json
中定义一个VSCode任务,以适应VSCode运行所在的特定体系结构。为此,我想将架构设为uname --m
(例如 “ aarch64”或“ amd64”)。我的目标是将uname
的输出插入到这样的环境变量中
"version": "2.0.0","tasks": [
{
"label": "build","type": "shell","command": "cmake","args": [
"-DMYLIB_INCLUDE_DIR=$MYLIB/include","-DMYLIB_libraRY=$MYLIB/lib"
],"options": {
"env": {
"MYLIB": "${workspaceFolder}/mylib/${command:get_arch}"
}
},}
]
在我的情况下,我将在mylib
,mylib/aarch64
, etc 下使用mylib/amd64
的特定于体系结构的版本。
到目前为止,我一直试图定义在get_arch
的环境定义中使用的第二个MYLIB
任务,该任务仅运行uname
。
{
"label": "get_arch","command": "uname --m"
}
当然,此任务不是正确的命令,因此VSCode不会检测到它,并且我的构建任务失败。我查看了有关变量替换的文档,但他们没有提及是否有可能替换 shell命令。我想从扩展中可以做到这一点,但我想让事情尽可能简单。