Unreal Analyzer Mcp

Unreal Analyzer Mcp

🚀 UnrealCodeAnalyzer

UnrealCodeAnalyzer 是一款多功能工具链,可对 Unreal Engine 和自定义代码库进行全面分析。它提供了丰富强大的分析工具,如代码搜索、API 文档生成、子系统分析等,能有效提升代码分析和管理的效率。

🚀 快速开始

  1. 安装工具:克隆项目仓库并安装依赖。
git clone https://github.com/yourusername/unreal-code-analyzer.git
cd unreal-code-analyzer
npm install
  1. 初始化配置(可选):创建 config.json 文件以指定代码库路径和其他选项。
  2. 运行基本分析
node index.js --analyze-classes AActor,APawn

✨ 主要特性

  • 自动解析:支持从 Unreal Engine 到自定义 C++ 代码库的全栈分析。
  • 智能搜索:集成 Tree - sitter 解析器,提供精准的代码结构分析和搜索功能。
  • 文档生成:从源码注释中提取信息,自动生成详细的 API 文档。
  • 模式匹配:支持正则表达式搜索、语法高亮以及复杂的文件匹配规则。
  • 子系统分析:对 Unreal Engine 的核心子系统进行全面剖析。

📦 安装指南

  1. 克隆项目仓库:
git clone https://github.com/yourusername/unreal-code-analyzer.git
cd unreal-code-analyzer
  1. 安装依赖:
npm install
  1. 初始化配置(可选):创建 config.json 文件以指定代码库路径和其他选项。

💻 使用示例

基础用法

分析 Unreal Engine 或自定义代码库

const analyzer = new UnrealCodeAnalyzer({
// 必填:设置 Unreal Engine 路径或自定义代码库路径
codebasePath: '/path/to/unreal/engine',
// 可选:启用详细日志记录
verbose: true,
// 可选:指定要分析的模块或组件(按逗号分隔)
modules: ['Physics', 'Rendering']
});

自动生成 API 文档

const docGenerator = new DocumentationGenerator(analyzer);
docGenerator.generate('/path/to/output/docs');

语法分析器

const parser = new CodeParser();
parser.parseFile('/path/to/source/file.cpp');

类分析工具

const classAnalysis = analyzer.analyzeClass('AMyActor');
// 输出: {
//   name: 'AMyActor',
//   hierarchy: ['AActor', 'APawn'],
//   properties: [...],
//   functions: [...],
//   comments: [...] 
// }

代码搜索工具

const searchResults = analyzer.searchCode({
query: 'UE4.*_STRUCT',
options: {
caseSensitive: true,
regex: false
}
});

物理子系统分析

const physicsSubsystem = analyzer.analyzeSubsystem('Physics');
// 输出: 包含物理系统的详细组件和功能模块的结构报告。

使用正则表达式搜索

const regexSearch = analyzer.searchWithRegex(/\bUE4_\w+_STRUCT\b/g);
// 输出匹配结果

单元测试

test('应正确分析 Actor 类', () => {
const analyzer = new UnrealCodeAnalyzer({ codebasePath: '/' });
const result = analyzer.analyzeClass('AActor');
expect(result.hierarchy).toContain('AActor');
});

高级用法

文档生成 - 简单用法

node docs/generate.js --path /path/to/engine --output ./docs

文档生成 - 高级配置

package.json 中添加以下内容:

{
"scripts": {
"generate-docs": "doc-generator --config config.json"
}
}

命令行工具 - 快速运行

node src/index.js --help

命令行工具 - 分析命令

node src/index.js --analyze AMyActor,AMyOtherActor

📚 详细文档

常见问题

  • Q: 如何指定自定义代码库?
  • A: 在 config.json 中添加 customCodebasePath 属性,或在初始化时通过选项传递。

错误处理

常见错误及解决方案

  1. 未指定代码库路径
    • 问题: 在初始化时未提供 codebasePath
    • 解决: 添加 codebasePath 到配置文件或直接传递给构造函数。
  2. 模块不存在
    • 问题: 尝试分析的类、子系统或模块不存在。
    • 解决: 确保提供的名称正确无误,或者参考文档中的可用选项。

性能考虑

优化建议

  1. 多线程支持:利用多核处理器加速代码解析和搜索操作。
  2. 内存管理:对于大型项目,确保有足够的内存以避免性能瓶颈。

贡献指南

如何贡献代码

  1. Fork 仓库
  2. 提交改进
  3. 创建 Pull Request

我们欢迎任何形式的贡献,包括功能增强、bug 修复和文档更新。

学习资源

推荐以下学习资料以深入理解 Unreal Engine 的内部机制:

  1. Unreal Engine 官方文档
  2. UE4 教程合集
  3. 游戏开发基础知识

最佳实践

  1. 配置日志记录:建议在生产环境中启用详细日志以方便调试。
  2. 模块化分析:针对大型项目,分模块进行代码分析可以提高效率。

🔧 技术细节

项目结构

unreal-code-analyzer/
├── src/                 # 源代码目录
│   ├── Analyzer.js     # 主分析器类
│   ├── CodeParser.js   # 语法解析器
│   └── DocumentationGenerator.js # 文档生成工具
├── docs/               # 文档和示例
├── test/              # 单元测试文件
└── package.json       # 项目依赖管理

📄 许可证

本项目遵循 MIT 协议。欢迎 fork 和贡献。

  • 0 关注
  • 0 收藏,31 浏览
  • system 提出于 2025-10-07 03:09

相似服务问题

相关AI产品