任务-具有多个命令的Windows命令任务

时间:2019-06-13 12:22:38

标签: visual-studio-code

当我尝试运行在Windows命令外壳程序中运行的make任务时遇到问题。我尝试了各种组合,但无法完全执行命令。

在下面的tasks.json中,您可以看到我已经尝试了各种方法(此格式为我提供了最多的信息),但是在所有尝试中,make file命令均失败“无法将'make'识别为内部或外部命令”程序或批处理文件。”但它的脚本setCmdEnv在第一个命令中,该命令设置了make路径等。 前两个命令运行良好,我看不到为什么最后一个命令无法正确执行。 奇怪的是,我可以在外壳加载后(出现错误之后)键入make,并且一切正常。

{
"version": "2.0.0",
"type":"shell",
"windows": {
    "options": {
        "shell": {
//          "executable": "C:\\WINDOWS\\System32\\cmd.exe",
            "executable": "",
//          "args": [
//          "/K .\\BuildEnv\\xBuildEnv\\setCmdEnv && cd .\\app && "
//                ]
        }
    }
},
"presentation": {
    "echo": true,
    "reveal": "always",
    "focus": false,
    "panel": "shared",
    "clear": false
},
"tasks": [
    {
        "label": "Make %1.test",
        "command": "cmd.exe",
        "args": [
            " /K .\\BuildEnv\\xBuildEnv\\setCmdEnv && cd .\\app &&        make ${fileBasenameNoExtension}.test"
        ],
        "problemMatcher": []
    }
],
}

1 个答案:

答案 0 :(得分:2)

我遇到了类似的问题,并且要使Visual Studio Code任务执行多个命令,我必须分离args数组的每个元素以保留任何空白。因此,在这种情况下,任务可能是这样的:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Make your test file",
      "type": "shell",
      "windows": {
        "command": "%comspec%",
        "args": ["/C", "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\Tools\\VsDevCmd.bat", 
                 "&&", "cd", ".\\apps", "&&", "make", "${fileBasenameNoExtension}.test"
        ]
      },
      "options": {
        "cwd": "${workspaceRoot}"
      },
      "presentation": {
        "showReuseMessage": false,
        "reveal": "always",
        "panel": "shared",
        "group": "test",
        "clear": true,
        "focus": true
      }
    }
  ]
}

注意%comspec%变量解析为C:\WINDOWS\system32\cmd.exe

相关问题