main
Program.test.cs -- 将顶层语句改为 ManualTest.RunAsync() 方法,消除入口点冲突 BatchConversionService.cs:96 -- options 可空参数添加 ?? new ConversionOptions() 空值回退 Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
CodePlay 代码转换平台
CodePlay 是一个专业的代码转换平台,支持 C# 与 Java 之间的双向代码转换,具有智能验证、批量转换、Web 界面等强大功能。
✨ 特性
- 🔄 双向转换: C# ↔ Java 完整支持
- 📝 智能映射: 80+ 种类型自动映射(参考 Aspose)
- ✅ 编译验证: Roslyn + javac 实时验证
- 🔧 自动修复: 3 轮智能修复引擎
- 📊 批量转换: 支持整个项目目录转换
- 🌐 Web 界面: Vue3 + Monaco Editor
- 💾 数据持久化: SQLite 数据库
- 🚀 CLI 工具: 6 个实用命令
- 📋 报告导出: Markdown/HTML/PDF
🚀 快速开始
1. 克隆项目
git clone <repository-url>
cd CodePlay
2. 启动 Web 前端
cd CodePlay.Web
npm install
npm install monaco-editor
npm run dev
3. 启动 Web API
dotnet run --project CodePlay.WebAPI --urls "http://localhost:5000"
Swagger: http://localhost:5000/swagger
4. 使用 CLI
# 查看帮助
dotnet run --project CodePlay.CLI -- --help
# 单文件转换
dotnet run --project CodePlay.CLI -- convert -s CSharp -t Java -i input.cs -o output.java
# 批量转换
dotnet run --project CodePlay.CLI -- convert -s CSharp -t Java -i ./src -b
# 查看统计
dotnet run --project CodePlay.CLI -- stats
📖 文档
🛠️ 技术栈
后端
- .NET 8.0
- Entity Framework Core 8.0
- Roslyn (C# 解析)
- SQLite
前端
- Vue 3
- Element Plus
- Monaco Editor
工具
- xUnit (单元测试)
- Serilog (日志)
- Swagger (API 文档)
📊 项目统计
| 指标 | 数值 |
|---|---|
| 代码行数 | ~6,000 |
| 测试用例 | 42 |
| 测试通过率 | 97.6% |
| 支持语言 | C#, Java |
| 转换方向 | 双向 |
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📄 许可证
MIT License
Description
Languages
C#
80.1%
Vue
11.8%
HTML
3.8%
TypeScript
2.3%
CSS
1.8%
Other
0.2%