如何在VS Code上运行多个任务?

时间:2018-09-08 18:22:13

标签: visual-studio-code vscode-tasks

使用tasks.json版本2.0.0时,我无法做到这一点,因此,在构建应用程序时,会同时运行多个任务。我正在使用gulp进行SCSS编译,并且可以单独运行Compile/minify cms.scss任务,因此任务本身不是问题,而仅是VS Code的任务运行器。当我在VS Code中Run Build Task时,我的gulp任务没有运行,即使它具有"group": "build" -仅dotnet是一个。

tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "command": "dotnet",
            "type": "process",
            "args": [
                "build",
                "${workspaceFolder}/HpsCoreWeb.csproj"
            ],
            "problemMatcher": "$msCompile",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "label": "Compile/minify cms.scss",
            "type": "gulp",
            "task": "cms.scss:cms.min.css",
            "problemMatcher": "$node-sass",
            "group": "build"
        }
    ]
}

根据VS Code Tasks documentation

  

:定义任务所属的组。在示例中,它属于test组。可以通过从命令面板中运行运行测试任务来执行属于测试组的任务。

dotnet build任务正在成功执行,因此不应该同时运行属于build组的另一个任务吗?我在做什么错了?

3 个答案:

答案 0 :(得分:2)

您可以使用Compound Tasks

下面的示例在调用“构建”任务时执行“客户端构建”和“服务器构建”任务。

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Client Build",
      "command": "gulp",
      "args": ["build"],
      "options": {
        "cwd": "${workspaceFolder}/client"
      }
    },
    {
      "label": "Server Build",
      "command": "gulp",
      "args": ["build"],
      "options": {
        "cwd": "${workspaceFolder}/server"
      }
    },
    {
      "label": "Build",
      "dependsOn": ["Client Build", "Server Build"]
    }
  ]
}

答案 1 :(得分:0)

再次检查您的设置是否启用了Gulp自动检测。 (“ gulp.autoDetect”:“开启”)

答案 2 :(得分:0)

在package.json中放置一个插件 var gulpLoadPlugins = require('gulp-load-plugins'), plugins = gulpLoadPlugins();

了解有关该插件的更多信息,请参见How To Build And Develop Websites With Gulp may help