db536cfb2c71b3618a7ebab7cd661e83d236c4cf
核心修复: - 修复 LinqToStreamConverter 13 个正则双反斜杠转义错误 (87→0 失败) - 修复 InheritanceConverter 接口判断逻辑 (纯 I 前缀父类→implements) - 修复 PropertyConverter init-only 属性组索引 新增转换器 (C# 8-13 特性): - NullCoalescingConverter: ??、?.、??= 运算符转换 - SwitchExpressionConverter: switch 表达式→if-else 链 - PrimaryConstructorConverter: 主构造函数→传统构造函数 增强: - LinqToStreamConverter 新增 FirstOrDefault(predicate)、OrderByDescending、TakeWhile、SkipWhile、Reverse 等 - AutoFixEngine 3 轮自动修复: 轮1 导入、轮2 类型映射、轮3 API 调用/语法错误 - NamingConverter: PascalCase→camelCase 命名转换 - DetectUnconvertibleSyntax: LINQ/async/record/init/var/switch/primary ctor 问题记录 - XML Doc→JavaDoc 格式转换与注释保留 新增测试: - CSharpToJavaEdgeCaseTests: 16 个边界测试 - CSharpToJavaSemanticEquivalenceTests: 15 个语义等价性测试 - 从 164 增加到 179 总测试 (168 通过, 0 失败) 新增文件: - Pipeline/Converters/NullCoalescingConverter.cs - Pipeline/Converters/SwitchExpressionConverter.cs - Pipeline/Converters/PrimaryConstructorConverter.cs - Converters/CSharpToCppStrategy.cs + CppCodeGenerator.cs - Tests/Semantics/CSharpToJavaSemanticEquivalenceTests.cs - Tests/CSharpAdvancedFeaturesTests.cs + CSharp13FeatureTests.cs 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%