当需要调试python代码时,可以通过以下步骤在VSCode中进行断点调试。 官方python插件在 <UE_Engine>\Plugins\Experimental\PythonScriptPlugin\Content\Python\debugpy_unreal.py中也有步骤说明,本文步骤略有修改和补充
- 通过pip 安装第三方库debugpy,或者通过这个方法. 指定debugpy所在的外部site-packages目录。
- 在VSCode中添加调试配置文件:主菜单-运行-添加配置-Python-远程连接,主机名:localhost, 端口:5678, redirectOutput: true
{
"version": "0.2.0",
"configurations": [
{
"name": "Unreal Python",
"type": "python",
"request": "attach",
"connect": {
"host": "localhost",
"port": 5678
},
"redirectOutput": true
}
]
}
- 当需要调试时,在UE的python的命令行控制台中运行:
import debugpy_unreal
debugpy_unreal.start()
debugpy_unreal.start()中会调用 debugpy.wait_for_client()等待 VSCode,此时会表现为编辑器卡死,不用在意,继续步骤4
- 在VSCode中主菜单-运行-启用调试(F5),将VSCode Attach到UE的python中。此步骤确保启用了步骤2中创建的调试配置文件
- 在VSCode中打开需要调试的py文件,设置断点,运行即可。也可在在py文件中通过
debugpy_unreal.breakpoint()
直接中断python的运行。(通过此方法中断的py文件,会自动的在VSCode中打开)