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

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

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

可以禁用吗?

【问题讨论】:

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

标签: visual-studio-code vscode-debugger


【解决方案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
    猜你喜欢
    • 2011-09-11
    • 2022-11-04
    • 2021-08-07
    • 2017-06-16
    • 1970-01-01
    • 2021-08-01
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    相关资源
    最近更新 更多