在从终端运行脚本时,怎么启动VS Code的调试器(Python)?
通常调试时,我只是在VS Code界面的右上角放置断点并点击调试。
但很多时候,我需要从终端运行脚本。我基本上想要能够进入调试模式(调用VS Code的 Python调试器),即使我从终端运行脚本(比如说 python /scripts/test.py)。我想让它在我在VS Code界面中附加的断点处停止。
解决方案
正如jonrsharpe已经提到的那样,你可以在终端启动Python脚本,然后使用debugpy附加VS Code的调试器。
基本上,当你从终端启动脚本时,它是在普通的Python解释器下运行,而不是在VS Code的调试器下,因此你在VS Code设置的断点不会被命中。
然而,你可以用debugpy从 VS Code附加调试器。实质上你需要:
- 下载debugpy;你可以从终端执行:
python -m pip install --upgrade debugpy
- 用debugpy启动终端中的脚本(以端口5678和 myscript.py为例)
python -m debugpy --listen 5678 --wait-for-client ./myscript.py
- 在VS Code中创建一个Attach配置。在你的.vscode/launch.json中,添加:
{
"name": "Python Debugger: Attach",
"type": "debugpy",
"request": "attach",
"connect": {
"host": "localhost",
"port": 5678
}
}
-
最后附加调试器。这意味着:
-
在终端启动脚本
- 打开VS Code
- 转到Run and Debug
- 选择Python: Attach
- 点击Start Debugging
此时,你在VS Code的断点应该就能工作了。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。