如何在 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 调试器中禁用“只是我的代码”设置?的主要内容,如果未能解决你的问题,请参考以下文章