VS Code的“Just My Code”调试选项有什么用

1次阅读

“Just My Code”是vs code调试时跳过系统库、框架和第三方代码只停在用户代码的开关,影响单步执行、调用显示及断点生效范围,通过launch.json中"justMyCode": true配置,默认开启。

VS Code的“Just My Code”调试选项有什么用

“Just My Code”(仅我的代码)是 VS Code 调试时的一个关键开关,作用是让调试器**自动跳过系统库、框架代码和第三方模块**,只停在你写的代码里。它不是过滤源码,而是控制单步执行(F10/F11)和调用堆显示的焦点范围——帮你少看无关细节,更快定位问题。

它怎么影响单步执行

开启后:

  • F11(逐语句)不会钻进 requests.get()json.loads() 或 Django 内部方法里,而是直接执行完并跳到下一行你的代码
  • F10(逐过程)同样跳过函数内部的非用户代码,保持在当前函数逻辑层推进
  • 调用堆栈窗口中,系统/库调用会被折叠成一个 [External Code] 条目,不展开显示冗长路径

它对 python 调试特别实用

Python 项目常依赖大量封装良好的库(如 flaskpandas、Requests),它们内部逻辑复杂但通常无需调试。启用 "justMyCode": true 后:

  • 断点只在你自己的 .py 文件中生效,不会意外停在 site-packages 里
  • 变量监视、表达式求值更稳定,避免因库内部状态引发的干扰
  • 配合 console: "integratedTerminal",输入交互也更干净

怎么配置和开关它

.vscode/launch.json 的调试配置中添加或修改字段即可:

VS Code的“Just My Code”调试选项有什么用

LongShot

LongShot 是一款 AI 写作助手,可帮助您生成针对搜索引擎优化的内容博客。

VS Code的“Just My Code”调试选项有什么用 77

查看详情 VS Code的“Just My Code”调试选项有什么用

"justMyCode": true   // 默认就是 true,显式写上更清晰

如果某次需要查库源码(比如怀疑 requests 有 bug),临时改成 false,重启调试即可。注意:这个设置只对当前 launch 配置生效,不影响其他配置。

它和符号文件(.pdb)无关

别和 visual studio 的 PDB 符号加载混淆。“Just My Code”在 VS Code 中纯属调试器行为策略,不依赖 .pdb 文件,也不涉及 DLL 加载或符号服务器。它靠的是源码路径识别 + 模块归属判断——VS Code 会把没在工作区打开、不在当前 Python path 下的模块默认视为“非我的代码”。

基本上就这些。不复杂但容易忽略,开起来能省下大量无效单步时间。

text=ZqhQzanResources