README
🚀 UnrealCodeAnalyzer 中文文档
UnrealCodeAnalyzer 是一款强大的代码分析工具,专为 Unreal Engine 和自定义代码库量身打造。它具备全面的代码审查、API 文档生成以及游戏类型特定分析等功能,能有效提升代码开发和管理的效率。
🚀 快速开始
安装与配置
- 安装依赖
npm install
- 设置代码库路径 在初始化时指定 Unreal Engine 或自定义代码库的路径。
- 运行分析工具
node src/UnrealCodeAnalyzer.ts --path /your/unreal/engine/path
运行测试
npm test
✨ 主要特性
核心功能模块
- 代码分析工具
- 类层次结构分析:通过继承关系和接口实现,提供完整的类信息。
- 成员分析:深入解析每个类的方法、属性和事件。
- 引用查找:快速定位类、方法或变量的使用位置。
- API 文档生成器
- 自动生成 API 文档,包括语法示例和用法说明。
- 支持按类别和模块进行过滤。
- 游戏类型知识库
- 针对不同游戏类型(如射击、RPG)提供特定功能组件分析。
- MCP 服务器集成
- 提供与 Epic 的 Material Change Protocol (MCP) 服务器的交互能力,支持工具注册和请求处理。
- 学习资源中心
- 整合 Unreal Engine 官方文档、教程视频和社区资源。
项目特点
- 模块化设计:各功能模块独立可扩展。
- 高性能分析:优化的代码处理流程确保快速响应。
- 多平台支持:支持 Windows、Linux 和 macOS 系统。
📦 安装指南
安装依赖
npm install
设置代码库路径
在初始化时指定 Unreal Engine 或自定义代码库的路径。
运行分析工具
node src/UnrealCodeAnalyzer.ts --path /your/unreal/engine/path
💻 使用示例
基础用法
分析类层次结构
获取完整的继承关系和接口实现:
const analyzer = new UnrealCodeAnalyzer();
const classHierarchy = analyzer.analyzeClass('MyClass');
成员分析
解析指定类的所有成员:
const members = await analyzer.analyzeMembers('MyClass', true);
// 包含方法、属性和事件的详细信息
引用查找
查找符号在代码库中的所有引用:
const references = analyzer.findReferences('MyFunction');
代码搜索
根据文件模式搜索代码片段:
const results = await analyzer.searchCode(
'some search pattern',
{ extensions: ['.cpp', '.h'], directories: ['src'] }
);
子系统分析
分析特定 Unreal 引擎子系统的相关信息:
const subsystemInfo = await analyzer.analyzeSubsystem('Physics');
// 返回核心类、关键特性等信息
高级用法
分析 Unreal Engine 类
const analyzer = new UnrealCodeAnalyzer('/path/to/UnrealEngine');
const FVectorClass = await analyzer.getClass('FVector');
console.log(FVectorClass.hierarchy); // 输出继承关系
生成 API 文档
const docGenerator = new ApidocGenerator();
docGenerator.generateDocumentation('MyClass', '/output/path');
📚 详细文档
文件结构
unreal-code-analyzer/
├── src/
│ ├── UnrealCodeAnalyzer.ts # 核心分析类
│ ├── Analyzers/ # 各种代码分析器
│ │ └── CodeSearchAnalyzer.ts # 代码搜索分析器
│ ├── Servers/ # MCP 服务器实现
│ │ └── McpServer.ts # MCP 服务端逻辑
│ ├── Documenters/ # 文档生成工具
│ │ └──apidoc-generator.ts # 自动文档生工具
│ └── TestSuites/ # 测试套件
│ └── UnrealCodeAnalyzer.test.ts # 核心功能测试
├── public/
│ ├── index.html # 主界面
│ └── assets/ # 静态资源文件夹
└── package.json # 项目依赖配置
使用说明
分析类层次结构
获取完整的继承关系和接口实现:
const analyzer = new UnrealCodeAnalyzer();
const classHierarchy = analyzer.analyzeClass('MyClass');
成员分析
解析指定类的所有成员:
const members = await analyzer.analyzeMembers('MyClass', true);
// 包含方法、属性和事件的详细信息
引用查找
查找符号在代码库中的所有引用:
const references = analyzer.findReferences('MyFunction');
代码搜索
根据文件模式搜索代码片段:
const results = await analyzer.searchCode(
'some search pattern',
{ extensions: ['.cpp', '.h'], directories: ['src'] }
);
子系统分析
分析特定 Unreal 引擎子系统的相关信息:
const subsystemInfo = await analyzer.analyzeSubsystem('Physics');
// 返回核心类、关键特性等信息
错误处理
- 常见错误
- 路径未设置:初始化时必须指定代码库路径。
- 无效搜索模式:确保搜索模式正确无误。
性能考虑
- 优化建议
- 使用默认过滤器减少分析范围。
- 对大型项目,建议分模块进行分析。
测试
运行测试
npm test
编写自定义测试
describe('UnrealCodeAnalyzer', () => {
it('should analyze class hierarchy', async () => {
// 测试逻辑
});
});
贡献指南
- 提交问题 通过 GitHub 提交 issue 报告问题或提出建议。
- 参与开发 Fork 仓库并在自己的分支上进行开发,完成后发起 Pull Request。
🔧 技术细节
代码分析工具
- 类层次结构分析:通过继承关系和接口实现,提供完整的类信息。
- 成员分析:深入解析每个类的方法、属性和事件。
- 引用查找:快速定位类、方法或变量的使用位置。
API 文档生成器
- 自动生成 API 文档,包括语法示例和用法说明。
- 支持按类别和模块进行过滤。
游戏类型知识库
- 针对不同游戏类型(如射击、RPG)提供特定功能组件分析。
MCP 服务器集成
- 提供与 Epic 的 Material Change Protocol (MCP) 服务器的交互能力,支持工具注册和请求处理。
学习资源中心
- 整合 Unreal Engine 官方文档、教程视频和社区资源。
📄 许可证
[项目许可证信息]
如需更多信息,请参考项目的 GitHub 仓库或联系开发团队。
相关资源
- 官方文档:Unreal Engine 开发文档
- 社区论坛:Unreal 引擎社区
Scan to contact