如何在 VSCode 调试器中禁用“只是我的代码”设置?

Posted

技术标签:

【中文标题】如何在 VSCode 调试器中禁用“只是我的代码”设置?【英文标题】:How to disable "just my code" setting in VSCode debugger? 【发布时间】:2019-03-29 13:04:53 【问题描述】:

在调试器 (C# .NET Core) 中启动我的项目时,它声明它正在调试“只是我的代码”。

我还想调试这些库,但在 VSCode 中的任何地方都看不到禁用此功能的设置。

可以禁用吗?

【问题讨论】:

您的启动配置中有skipFiles 条目吗?例如,这就是您跳过供应商代码的方式。见***.com/questions/48620826/…。也许您有一个可以删除或修改的 skipfiles 条目。扩展是否设置了这个或类似的值? 【参考方案1】:

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

如here 所述。 (我在 Visual Studio Code 网站上通过 this post 指向该链接。)

【讨论】:

这是完整的 Visual Studio,而不是 Visual Studio 代码 @Revolt64 抱歉,我看错了。我为 Visual Studio Code 编辑了答案。 编辑:我已经在我的 launch.json 文件中有这个,但由于它位于数组的底部并且我不小心在 justMyCode 行之后添加了一个逗号,它不起作用(那是我得到一个简单的错误)。删除逗号后,它可以工作。感谢您的帮助! justMyCode 不是 vscode 中的 launch.json 的有效配置 为了避免在所需断点之前出现冗余异常,请禁用Raised Exceptions复选框【参考方案2】:

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

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

正如here中指出的那样

【讨论】:

谢谢!我有这个问题。我只把我的代码“假”,但我看不到框架库。所以我改变了启动配置,就像你说的那样,瞧 这对我不起作用。这就是说 属性不允许 for justMyCode(我正在使用 Visual Studio Code 2018) 您好,那段时间我使用的是 vscode 2019,它在 vscode 2020 中仍然有效。 这实际上是我自己的问题的答案,但应该注意它是特定于 python 项目中的 testing 的,而它看起来 OP 对调试 C# 项目的 launch 很感兴趣。此外,outstanding bug(在撰写本文时)指出了通过settings.json 更全局地指定启动配置(包括justMyCode 选项)的能力。 (但错误是 justMyCode 当前在调试单元测试的配置中被忽略。)【参考方案3】:

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

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

Source: Github Microsoft/vscode-python Issue #7131

【讨论】:

这有点尴尬。我刚刚意识到我的答案与上面的答案几乎相同。当我发布时,我疲惫的眼睛,我无法区分我的配置和那个答案中的配置,然后想知道为什么它不起作用。所以我想再次强调区别:"request": "test"【参考方案4】:

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

VS Code Node.js 调试具有避免您不想单步执行的源代码的功能(也称为“只是我的代码”)。 可以使用启动配置中的 skipFiles 属性启用此功能。 skipFiles 是要跳过的脚本路径的 glob 模式数组。

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

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

【讨论】:

【参考方案5】:

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

【讨论】:

你知道,你今天拯救了我的夜晚。 :) 希望你有一个好的周末。 (“目的”正是我刚才正在寻找的配置 - 谢谢!) 特别感谢提到:“版本”:“0.2.0”!!!没有那个设置。我陷入了这个问题:github.com/microsoft/vscode-python/issues/14381

以上是关于如何在 VSCode 调试器中禁用“只是我的代码”设置?的主要内容,如果未能解决你的问题,请参考以下文章

在 vscode 调试控制台中禁用符号加载的详细日志记录

如何在 vscode 中禁用 github 登录

如何在 VScode 中禁用 tslint 检查?

如何在 VSCode 中禁用 TypeScript 警告?

如何在 vscode 中禁用更漂亮的错误突出显示

VSCode 如何禁用某些格式的代码错误检查(红色波浪线)?