如何在 VSCode 调试器中禁用 "just my code" 设置?

How to disable "just my code" setting in VSCode debugger?

在调试器 (C# .NET Core) 中启动我的项目时,它指出正在调试 "just my code"。

我还想调试库,但在 VSCode 的任何地方都看不到禁用它的设置。

是否可以禁用?

为此,您需要更改 launch.json 文件。在 launch.json 文件中,您必须将 "justMyCode" 设置为 false

如 Visual Studio 代码站点上 here. (I was pointed to that link through this post 所述。)

只是将 "justMyCode": false 添加到 launch.json 是行不通的。您需要在 launch.json 中添加单独的配置,如下所示。仅供参考,每个 {} 代表一个配置。

"configurations": [
        {
           .... # existing config
        },
        {
            "name": "Debug Unit Test",
            "type": "python",
            "request": "test",
            "justMyCode": false,
        }
    ]

正如here

中所指出的

在 Visual Studio 代码的文档中,他们有一个部分“Skipping uninteresting code”。

VS Code Node.js debugging has a feature to avoid source code that you don't want to step through (AKA 'Just My Code').
This feature can be enabled with the skipFiles attribute in your launch configuration. skipFiles is an array of glob patterns for script paths to skip.

在您的 launch.json 文件中,您必须添加(或您要跳过的任何其他文件):

  "skipFiles": [
    "${workspaceFolder}/node_modules/**/*.js",
    "${workspaceFolder}/lib/**/*.js"
  ]

如果您专门调试 Python 单元测试,将 "justMyCode": "false" 添加到您的正常配置中是行不通的,您需要在 launch.json 中添加另一个 "request": "test":

        {
            "name": "Debug Unit Test",
            "type": "python",
            "request": "test",
            "justMyCode": false,
        },

Source: Github Microsoft/vscode-python Issue #7131

VSCode 1.60 正在抱怨其他人建议的 "request": "test" 方法。

但我确实必须 在我现有的配置下面添加一个新部分 才能使 "justMyCode": false 正常工作。

以下是对我有用的方法:

{
    // 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": [
        

        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "args": [
                "blah",
                "whatever"
            ]
        },
        {
            "name": "Python: Debug Unit Tests",
            "type": "python",
            "request": "launch",
            "purpose": ["debug-test"],
            "console": "integratedTerminal",
            "justMyCode": false,
        }
    ]
}

目的 添加似乎很重要。

我在此处找到了正确的方法:https://code.visualstudio.com/docs/python/testing#_debug-tests

我将“justMyCode”:false“设置添加到launch.json,它仍然没有在外部库代码的断点处停止。更令人困惑的是:它只工作了一次,然后突然没有了。

然后我发现:如果您在“运行 和调试 (SHIFT+CMD+D)”选项卡中并且 select 您的配置在那里并单击绿色三角形/“开始调试(F5)”它有效!但是,如果我单击右上角的“调试 Python 文件”,它不会在外部库代码中停止!

我在配置部分添加如下:

"configurations": [
    {
        "name": "Python: Curent File",
        "type": "python",
        "request": "launch",
        "program": "${file}",
        "console": "integratedTerminal",
        "justMyCode": false,
    }
],