相关疑难解决方法(0)

使用 shell 命令作为 VSCode 任务变量值

我正在尝试定义一个 VSCode 任务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}"
            }
        },
    }
]
Run Code Online (Sandbox Code Playgroud)

就我而言,我将有架构的特定版本mylibmylib/aarch64mylib/amd64

到目前为止,我尝试定义get_arch在 的环境定义中使用的第二个任务MYLIB,它只是运行uname

{
    "label": "get_arch",
    "type": "shell",
    "command": "uname --m"
}
Run Code Online (Sandbox Code Playgroud)

当然,这个任务不是一个正确的命令,所以它没有被 VSCode 检测到,我的构建任务失败了。我查看了有关变量替换的文档,但他们没有提到是否可以替换shell 命令。我想这在扩展中是可能的,但我想让事情尽可能简单。

visual-studio-code vscode-settings vscode-tasks

1
推荐指数
1
解决办法
1718
查看次数