在软件开发中,类图(Class Diagram)是一种常见的建模工具,用于展示系统中类与类之间的结构关系和交互情况。在C#项目中,借助PlantUML可以高效、自动地生成类图,提升架构分析、重构设计和团队协作的效率。本文将介绍如何结合PlantUML和命令行工具,自动生成和查看C#项目的类图。
一、PlantUML简介 PlantUML是一款基于文本的UML图生成工具,支持类图、用例图、时序图、组件图等多种UML图形。用户通过简单的文本语法描述图形内容,PlantUML将自动渲染成图像,支持PNG、SVG、ASCII等多种格式,适用于开发文档、设计说明和系统建模等场景。
二、工具选择:PlantUmlClassDiagramGenerator 过去我们常使用cs2plantuml工具,但目前该工具已停止维护。推荐使用现代且功能强大的替代方案:PlantUmlClassDiagramGenerator。它由pierre3开发,支持.NET Core/Framework 项目,并能根据目录结构递归生成PlantUML类图文件。
三、安装和配置
- 安装.NET SDK(需8.0或以上): 可通过https://dotnet.microsoft.com下载并安装对应平台的.NET SDK。
- 安装PlantUmlClassDiagramGenerator: 打开终端或PowerShell,执行以下命令:
dotnet tool install --global PlantUmlClassDiagramGenerator - 安装Java运行环境与Graphviz(用于渲染图像):
- Java:https://adoptium.net 或 Oracle JDK
- Graphviz:https://graphviz.org/download/
四、生成C#类图
以Unity项目为例,假设脚本目录为 E:/UnityProjects/Sango/Assets/Scripts,输出图文件到 E:/UnityProjects/Sango/classdiagram 目录下,可使用以下命令:
puml-gen "E:/UnityProjects/Sango/Assets/Scripts" \
"E:/UnityProjects/Sango/classdiagram" \
-dir -public -createAssociation -allInOne
该命令将递归分析指定路径中的C#类,生成类定义和类间关联关系,并输出为PlantUML语法的 include.puml 文件。
五、使用VS Code查看类图
- 安装插件:PlantUML 在VS Code中打开扩展市场,搜索并安装“PlantUML”。
- 打开
.puml文件 在VS Code中打开include.puml文件。 - 预览类图 使用快捷键
Alt + D或右键选择“Preview Current Diagram”,即可实时预览类图结构。
六、应用场景
- 快速了解项目架构:初到一个项目,通过类图可以迅速理解类之间的层次与关系。
- 重构前后对比:在进行模块重构前后生成类图,可用于版本对比与设计优化。
- 技术文档生成:将PlantUML图嵌入文档中,增强文档的可读性与结构性。
- 团队沟通协作:用图形方式辅助团队成员讨论接口设计和模块依赖。
七、小结
通过结合PlantUML与PlantUmlClassDiagramGenerator,C#项目的类结构可以被自动解析并图形化表达,大大提升了代码可视化与架构梳理的效率。该方法跨平台、易集成,适合日常开发中作为辅助设计工具使用。
今后,可进一步将该流程集成到CI/CD管道或文档生成工具链中,实现自动化维护类图,提升项目规范与可维护性。