我试图在
在我的情况下,我将在
到目前为止,我的尝试是定义一个名为
tasks.json
中定义一个适应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/aarch64
、mylib/amd64
等目录下拥有特定于架构的版本的 mylib
。到目前为止,我的尝试是定义一个名为
get_arch
的第二个任务,并在 MYLIB
的环境定义中使用它,它只是运行 uname
命令。{
"label": "get_arch",
"type": "shell",
"command": "uname --m"
}
当然,这个任务不是一个合适的命令,因此它没有被 VSCode 检测到,我的构建任务失败了。我查看了变量替换的文档,但它们没有提到是否可以替换 shell 命令。我想这可能在扩展内部是可行的,但我想尽可能保持简单。