我在Visual Studio代碼中運行一個可以執行我的JS文件(使用duktape)的外部二進制文件的調試設置。調試適配器當前僅支持附加請求(不啓動),所以我必須在調試JS腳本之前運行二進制文件。如何讓vscode不等待完成preLaunchTask?
爲了避免啓動應用程序手動我創建了一個任務,並設置在我launch.json文件:
{
"version": "0.2.0",
"configurations": [{
"name": "Attach MGA",
"type": "duk",
"preLaunchTask": "debug mga",
"request": "attach",
"address": "localhost",
"port": 9091,
"localRoot": "${workspaceRoot}",
"stopOnEntry": false,
"debugLog": true
}]
}
的任務是定義這樣:
{
"version": "0.1.0",
"command": "<absolute path to>/mga",
"isShellCommand": false,
"showOutput": "always",
"suppressTaskName": true,
"tasks": [{
"taskName": "debug mga",
"args": ["--debugger", "main.json"]
}]
}
現在的問題是,當應用程序等待調試器連接時,vscode會等待預啓動任務完成。 Catch 22.
如何避免vscode等待預啓動任務完成?
更新:
同時我已經the vscode task page念起來完成這個任務的配置上來。不過,它不適合我
{
"version": "2.0.0",
"tasks": [
{
"label": "launch-mga",
"type": "shell",
"command": "<absolute path to>/mga",
"args": [
"config/main.json",
"--debugger"
],
"isBackground": true,
"problemMatcher": {
"owner": "custom",
"pattern": {
"regexp": "_____"
},
"background": {
"activeOnStart": true,
"beginsPattern": "^.*Waiting for debug connection.*$",
"endsPattern": "^.*blah.*$"
},
},
}
]
}
啓動的應用程序打印工作等待消息,然後等待無休止的調試連接。也許這個問題與用C++編寫的應用程序(這有點類似於終端應用程序的Node.js)有關?
這沒有幫助。 vscode仍在等待預啓動任務完成。 –