Bootstrap Chameleon Logo

拆分unreal.py以获得更好的开发体验

我们在开发工具的时候,可以通过这个设置,在PyCharm和VSCode中实现代码高亮和自动补全,提高开发效率。

但虚幻生成的存根文件unreal.py随着unreal的版本变得越来越大,UE5.1的unreal.py已经超过21mb了(并且它会随着你启用的插件的数量的增加而增加)这使得PyCharm出现卡顿的情况,并会给出现低内存的提示。

Test Cases for TAPython

虽然修改内存设置能使得情况有所改善,但在一个40多万行的python文件中查看各个类的定义和函数定义,可不是一个好的体验。

所以,我的方法是将这个unreal.py 文件按照类名切分成很多个小文件,然后在它们中查找所需要的API信息。

拆分

我把切分unreal.py的这个python工具上传了GitHub仓库,你可以在这里找到它。

执行它会完成以下两个步骤的内容

  1. 将工程中 Intermediate/PythonStub 目录下的unreal.py 拷贝到 TA/TAPython/Python目录下
  2. 切分unreal.py,并将文件放到TA/TAPython/Python/unreal目录中

之后,我在PyCharm中的所以查找和浏览工作,就只在这些散文件中进行,体验会非常棒。

G_019_goto_definition

除此以外获得的几个好处:

  • 通过文件大小就可以知道哪些类是ue最重要的对象 T065_filesize_of_classes
  • 快速找到各种特殊的类,比如对于python编辑器编程特别需要关注的各种library 和subsystem
  • 方便在不同的ue中比较,看各个类中具体修改了哪些内容 G_019_stubs_compare

~~### 遗留的问题~~

~~依然需要保留unreal.py文件,似乎不能只靠unreal目录中的内容来实现自动补全,虽然它里面也有完整的内容。如果你知道如何做,也请分享给大家。~~

5.3已更新,Autocompletion for python。Python,JSON,和ChameleonData都可以自动补全。 Update

Update on May 1, Autocompletion for python