小编Jim*_*ema的帖子

VScode:在task.json中定义自己的变量

我已经设置了task.json文件,用于在多个平台上构建项目。所有平台都可以看到项目存储库的相同内容。这是通过在VM中运行另一个平台而通过磁盘共享来完成的,或者是通过与Git存储库同步来完成的。到目前为止,他们都看到了相同的task.json。但是,某些命令行相当长,而这些长行在大多数情况下是相同的。例如:

"rm -rf build; mkdir build; cd build; ../configure --with-bash-malloc=no CFLAGS=\"-O3 -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free\" LDFLAGS=-L/usr/local/lib LIBS=\"-ltcmalloc -lcurl\" CC=clang

对于不同的平台也有类似的路线。对于不同的平台,configure部分始终是相同的,因此最好将这一公共部分排除在外。因此,问题在于是否可以定义自己的变量,因此您可以类似于使用它们${workspaceRoot}。

因此在某处定义

"win_dir": "build_windows",
"linux_dir": "build",
"osx_dir": "build_osx",
"configure": "../configure --with-bash-malloc=no CFLAGS=\"-O3 -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free\" LDFLAGS=-L/usr/local/lib LIBS=\"-ltcmalloc -lcurl\" CC=clang"
Run Code Online (Sandbox Code Playgroud)

然后写

"tasks": [
    {
        "taskName": "configure",
        "command": "bash",
        "windows": {
            "args": ["-c", "rm -rf ${win_dir}; mkdir ${win_dir}; cd ${win_dir}; ${configure}"]
        },
        "linux": {
            "args": ["-c", "rm -rf ${linux_dir}; mkdir ${linux_dir}; cd ${linux_dir}; ${configure}"]
        },
        "osx": {
            "args": ["-c", "rm …
Run Code Online (Sandbox Code Playgroud)

variables task visual-studio-code

6
推荐指数
3
解决办法
1534
查看次数

标签 统计

task ×1

variables ×1

visual-studio-code ×1