49 lines
2.2 KiB
Markdown
49 lines
2.2 KiB
Markdown
|
|
# Unity资源批量检测工具问题定位对话记录
|
|||
|
|
|
|||
|
|
## 过程纪要与关键定位步骤
|
|||
|
|
|
|||
|
|
本记录梳理了团队在调试和落地 FileCheckerBatchRunner 批量资源检测工具时的真实排查历程及主要问题定位线路。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 关键历程回顾
|
|||
|
|
|
|||
|
|
### 1. 初步实现与运行、发现无输出/CSV未生成
|
|||
|
|
- 批次运行无报错但也无输出,CSV文件未生成。
|
|||
|
|
- 首步日志分析/Debug.Log加强,发现批处理入口函数已调用但没有实际checker执行。
|
|||
|
|
|
|||
|
|
### 2. 检查 checker 查找与命名
|
|||
|
|
- 发现 CheckerName 用的是中文(如“中文文件名检查器”),而命令行传的是英文类型名(ChineseFileNameChecker)。
|
|||
|
|
- 优化查找,支持用类型名命令行触发checker。
|
|||
|
|
|
|||
|
|
### 3. 发现执行成功但导出未生成CSV
|
|||
|
|
- 批处理日志显示调用入口、命中checker都无问题,报告未落盘。
|
|||
|
|
- 定位到ReportExporter中EditorUtility.SaveFilePanel在batchmode下无效,加入isBatchMode逻辑,确保文件名能直接写盘。
|
|||
|
|
- 修正filePath/fileName变量混用、保证导出一致。
|
|||
|
|
|
|||
|
|
### 4. 修复属性访问、去除反射
|
|||
|
|
- handling等字段由反射访问改为强类型。
|
|||
|
|
- 编译错误由语法误用(花括号/变量名)暴露并修复。
|
|||
|
|
|
|||
|
|
### 5. checker多Tab及文件后缀精细筛选
|
|||
|
|
- 学习FileCheckerWindow分组TabType和后缀精细筛逻辑,定位单checker全遍历带来的低效结构。
|
|||
|
|
- 增强batch runner算法, checker按tab分组,资源只加载/切换一次,所有相关checker依次调用。
|
|||
|
|
|
|||
|
|
### 6. 场景类型资源自动还原
|
|||
|
|
- batchmode下场景类检测也实现自动切回原有场景,防止环境被批处理影响。
|
|||
|
|
|
|||
|
|
### 7. 提示/日志增强与链路打通
|
|||
|
|
- batch脚本自动输出耗时与关键节点辅助提示。
|
|||
|
|
- 所有实现批/编辑器体验对齐,健壮性和扩展性大幅提升。
|
|||
|
|
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 总结体会
|
|||
|
|
- 调试经历中 “日志粒度/状态同步”最能定位批处理盲点。
|
|||
|
|
- 团队协作下,一切路径/命名/类型都应显式、文档化,减少文化/语言切换二义性。
|
|||
|
|
- UI/CLI/CI多端一致性设计不只是性能提升,更是可靠性大幅提升。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
自动生成,供后续类似项目排查与团队分享借鉴。
|