从multi-root-workspaces调试似乎不起作用 - 这是一个新功能,可能这是一个错误,但没有实际的例子,只是网站上的psudo代码。
Attribute 'program' is not absolute ('${workspaceFolder}/node_modules/mocha/bin/_mocha'); consider adding '${workspaceFolder}/' as a prefix to make it absolute.
虽然显然它已经有了绝对的路径。
以下是我正在使用的确切启动配置:
<{1>}文件中的:
VS CODE PROJECTS.code-workspace
基本上我想在特定的工作空间中打开一个特定的测试来进行调试,而不必在每个根工作空间中复制启动配置(我有很多)。此启动配置在子工作区的{
"folders": [
{
"path": "workspace-one"
},
{
"path": "workspace-two"
},
],
"settings": {},
"launch": {
"configurations": [
{
"type": "node",
"request": "launch",
"name": "WS Mocha 1 File",
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
"args": [
"--timeout",
"999999",
"--colors",
"${relativeFile}"
],
"stopOnEntry": false,
"cwd": "${workspaceFolder}",
"skipFiles": [
"${workspaceFolder}/node_modules/**/*.js",
]
}
]
}
}
文件中正常工作。
答案 0 :(得分:0)
以下内容似乎在复制到每个工作区的每个.vscode时都有效。这是一个解决方案而不是解决方案。我认为多根工作空间需要更多的工作。调试也很困难,因为每个工作区的断点也会按字母顺序显示,不按工作区排序,也不会过滤为仅显示打开的活动工作区(工作区中打开文件的那些工作区)。
.vscode / launch.json:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "WS Mocha",
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
"args": [
"-u",
"tdd",
"--timeout",
"999999",
"--colors",
"${workspaceFolder}/test"
],
"internalConsoleOptions": "openOnSessionStart",
"skipFiles": [
"${workspaceFolder}/node_modules/**/*.js",
]
},
{
"type": "node",
"request": "launch",
"name": "WS Mocha 1 File",
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
"args": [
"--timeout",
"999999",
"--colors",
"${relativeFile}"
],
"stopOnEntry": false,
"cwd": "${workspaceFolder}",
"skipFiles": [
"${workspaceFolder}/node_modules/**/*.js",
]
},
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/server/server.js"
}
]
}
这是启动配置所需的。可以方便地从多根工作空间根目录中的.vscode / settings.json中的所有工作空间中排除文件。
{
"fileheader.Author": "gbishop",
"fileheader.LastModifiedBy": "gbishop",
"files.exclude": {
"*.csv": "explorerExcludedFiles",
"*.dat": "explorerExcludedFiles",
"coverage": "explorerExcludedFiles",
".build": "explorerExcludedFiles",
"logs/": "explorerExcludedFiles",
"reports/*.xml": "explorerExcludedFiles",
".nyc_output/": "explorerExcludedFiles"
}
}
答案 1 :(得分:0)
好吧,简而言之,对我没有任何帮助! 没有启动配置,什么都没有!
这是我运行1个调试过程的方式,我将继续说明如何一起运行。
按Cmd+Shift+P
,键入“自动附加”以将文件附加到调试器。
然后按Cmd+J
将终端转到您的特定节点文件夹。
在终端中输入:node --inspect .
以运行该文件的调试器。
要运行两个调试器,请在VS代码中打开两个终端。这个想法是在不同的端口上附加调试器。
转到文件夹1,键入node --inspect=9229 .
转到第二个终端的文件夹2,输入node --inspect=32089 .
注意::请确保自动连接已打开。也可以在VS Code屏幕的底部进行切换。