[unreal] 请问每次修改C++代码或者蓝图类后都需要生成ue.d.ts, 有什么办法可以避免每次消耗大量时间生成?
因为项目是C++/蓝图/TS 混合编码,C++代码和蓝图代码修改频率很高, 每次修改后生成ue.d.ts 会非常耗时。 请问有没有方法可以避免?
我这里生成ue.d.ts本身不耗时,你是不是开启了继承引擎功能呢? 开启后ts变动都会触发编译,是ts编译耗时。
点击"ue.d.ts" 后 ,控制台可以看到正在遍历游戏中的所有蓝图。 我是默认配置。你所说的继承引擎功能是不是默认开启 ?
你所说的继承引擎功能是不是默认开启 ?
看Config/DefaultPuerts.ini,AutoModeEnable是True还是False
谢谢,我看到AutoModeEnable=true 我修改一下试试
耗时是因为这里在遍历&加载蓝图资产: https://github.com/Tencent/puerts/blob/4fb9a91cff026f5d0a1807aefa034e89dc68b284/unreal/Puerts/Source/DeclarationGenerator/Private/DeclarationGenerator.cpp#L1161
@chexiongsheng 不耗时可能是测试工程里的资产比较少。
我的解决办法是修改了这块的filter,只处理需要生成d.ts的蓝图资产,不遍历整个工程。(这个需要根据各项目自身情况而定)
耗时是因为这里在遍历&加载蓝图资产:
https://github.com/Tencent/puerts/blob/4fb9a91cff026f5d0a1807aefa034e89dc68b284/unreal/Puerts/Source/DeclarationGenerator/Private/DeclarationGenerator.cpp#L1161
@chexiongsheng 不耗时可能是测试工程里的资产比较少。
我的解决办法是修改了这块的filter,只处理需要生成d.ts的蓝图资产,不遍历整个工程。(这个需要根据各项目自身情况而定)
那你看看能否加到你之前的Puerts.Gen里头,用一个参数来控制,而不是修改代码呢?