【发布时间】:2020-03-03 23:20:22
【问题描述】:
我正在尝试在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/aarch64、mylib/amd64、等下拥有特定于架构的mylib。
到目前为止,我尝试定义在MYLIB 的环境定义中使用的第二个get_arch 任务,它只运行uname。
{
"label": "get_arch",
"type": "shell",
"command": "uname --m"
}
当然,此任务不是正确的命令,因此 VSCode 无法检测到它,并且我的构建任务失败。我查看了有关变量替换的文档,但他们没有提到是否可以替换 shell 命令。我想这在扩展中是可能的,但我想让事情尽可能简单。
【问题讨论】:
标签: visual-studio-code vscode-settings vscode-tasks