如何在可视编码器中为多根工作空间使用调试启动配置?

时间:2018-03-02 18:29:27

标签: debugging visual-studio-code

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", ] } ] } } 文件中正常工作。

2 个答案:

答案 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屏幕的底部进行切换。