VS Code调试时如何使用cpx?

How to use cpx when debugging in VS Code?

我想使用 cpx 作为我在 Visual Studio 代码中的一个调试配置的后台任务。但是它没有输出并导致此错误:

由于 cpx 在不到一秒的时间内完成工作,因此我不需要跟踪它。有没有办法告诉 VS Code 只 运行 任务而不跟踪它?

这是我的 tasks.json:

{
    "version": "2.0.0",
    "tasks": [
        {
            "script": "cpx",
            "type": "npm",
            "isBackground": true
        }
    ]
}

如果只想执行一次任务,设置isBackground: false即可。

否则,在 Visual Studio 代码启动调试器之前,它需要知道后台任务何时完成其初始作业。它是通过使用问题匹配器观察任务输出而发生的,但是正如您所指出的,默认情况下 cpx 不输出任何内容。这是我的建议:

  1. --verbose 标志传递给 cpx,这会为我们提供一些以 Be watching...
  2. 结尾的输出
  3. 在您的任务中使用以下问题匹配器:
{
    "version": "2.0.0",
    "tasks": [
        {
            "script": "cpx",
            "type": "npm",
            "isBackground": true,
            "problemMatcher": {
                "background": {
                    "activeOnStart": true, // monitoring should happen immediately after start
                    "beginsPattern": "^whatever", // irrelevant
                    "endsPattern": "^Be watching.*"  // pattern indicating that task is done
                },
                // we don't need pattern section but it's required by the schema.
                "pattern": [
                    {
                        "regexp": "^whatever",
                        "file": 1,
                        "location": 2,
                        "message": 3
                    }
                ]
            }
        }
    ]
}