gpt4 book ai didi

visual-studio-code - 调试前尝试启动带有任务的服务器时出现 "The specified task cannot be tracked"

转载 作者:行者123 更新时间:2023-12-03 04:45:30 25 4
gpt4 key购买 nike

我的 launch.json 中有以下调试配置:

{
"type": "node",
"request": "attach",
"preLaunchTask": "npm: start",
"name": "Attach",
"port": 9090
}

这是在 tasks.json 中定义的任务:

{
"type": "npm",
"script": "start",
"isBackground": true
}

npm start 执行以下操作:node --inspect=9090 ./src/server.js

如果我删除调试配置的 preLaunchTask,手动启动任务,然后启动调试 session ,一切正常(调试 session 附加节点进程)。

但是,使用 preLaunchTask,我在启动调试后约 10 秒收到此错误:“无法跟踪指定的任务”。

看起来任务设置为isBackground时可能需要一个问题匹配器,所以我也尝试了这个任务配置但没有成功:

{
"type": "npm",
"script": "start",
"isBackground": true,
"problemMatcher": {
"background": {
"activeOnStart": true,
"beginsPattern": "^.*Using environment.*",
"endsPattern": "^.*listening.*"
}
}
}

npm: start 的输出

5:13:12 PM web.1 |  Using environment: production
5:13:12 PM web.1 | Already up to date
5:13:12 PM web.1 | Debugger listening on ws://127.0.0.1:9090/22d582b8-eade-4b27-95f4-e36ad1718283
5:13:12 PM web.1 | For help see https://nodejs.org/en/docs/inspector

我需要问题匹配器吗?如果是这样,为什么?当我自己开始任务时,它工作正常。我没有任何问题要报告...

最佳答案

由于任务长时间运行,Vscode 会在等待 10 秒后弹出警告,提示指定任务无法跟踪。您仍然可以通过按“仍然调试”按钮进行调试。但为了避免出现此弹出窗口,我们定义了开始/结束模式。

问题匹配器的背景字段定义任务何时被视为开始和结束,如控制台输出中所示。您需要确保beginsPattern 和endsPattern 与您在终端输出中实际看到的内容匹配。如果您从其他地方复制了示例,它可能与您的实际终端输出不匹配。

我将模式定义更改为:

"background": {
"activeOnStart": false,
"beginsPattern": "^.*building.*",
"endsPattern": "^.*Compiled successfully.*"
}

我遇到了和你一样的问题,直到我发现 this blog post并修复了tasks.json中的模式。

另请检查此 recipe 中使用的模式.

PS:我一直在使用的示例在 beginPattern 中具有“Live Development Server is Listening”。但直到弹出框显示后才显示此文本。

关于visual-studio-code - 调试前尝试启动带有任务的服务器时出现 "The specified task cannot be tracked",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53899680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com