VS Code中Flutter调试如何仅限制用户文件,禁止进入外部库?
在VS Code中Flutter调试限制仅用户代码的解决办法
默认的“仅我的代码”选项有时候不足以完全屏蔽外部库的调试跳转,你需要通过配置launch.json和调整调试操作来解决:
配置launch.json的跳过规则
打开项目根目录下的.vscode/launch.json文件(如果没有就新建一个),添加justMyCode参数并指定skipFiles路径,精准跳过Flutter SDK和第三方依赖的源码:{ "version": "0.2.0", "configurations": [ { "name": "Flutter", "request": "launch", "type": "dart", "justMyCode": true, "skipFiles": [ "<node_internals>/**", "${dartSdkPath}/**", "${workspaceFolder}/.pub-cache/**" ] } ] }${dartSdkPath}/**:跳过Flutter SDK的所有源码文件${workspaceFolder}/.pub-cache/**:跳过项目依赖的第三方包文件
调整调试步进操作
调试时尽量使用步过(F10),而不是步入(F11)。步入会强制进入当前调用的函数内部,哪怕是外部库的实现;步过则会直接执行完当前行,停留在下一行自己的代码里。如果不小心进入了外部库,按**步出(Shift+F11)**就能回到自己的代码上下文。针对Widget build跳转的特殊处理
当你在build方法的return语句步进时,因为返回的Widget(比如Scaffold、Text)本身属于Flutter SDK,调试器容易跳转到它们的实现类。这时候除了确保skipFiles配置正确,建议在build方法内部的关键位置提前打断点,避免直接在return处步进。
内容的提问来源于stack exchange,提问作者Mohammad Fasha
相关产品推荐
相关产品推荐

