C++ 代码自动生成uml类图
c++代码生成uml类图
·
总体步骤
1 利用用hpp2plantuml工具,将 C++ 代码自动转化为 PlantUML 描述文件
2 使用vscode插件plantuml,将描述文件生成类图
hpp2plantuml生成uml描述文件
1 hpp2plantuml安装
官网 https://github.com/thibaultmarin/hpp2plantuml
linux下使用python安装
pip install hpp2plantuml
2 生成uml描述文件
api.h
// 抽象基类 Api
class Api {
public:
virtual ~Api() {} // 虚析构函数
virtual void test(const std::string& s) = 0; // 纯虚函数
};
// ApiImplOne 类,继承自 Api
class ApiImplOne : public Api {
public:
void test(const std::string& s) override {
// 实现 ApiImplOne 的 test 方法
}
};
// ApiImplTwo 类,继承自 Api
class ApiImplTwo : public Api {
public:
void test(const std::string& s) override {
// 实现 ApiImplTwo 的 test 方法
}
};
单文件:hpp2plantuml -i api.h -o api.puml
多文件: hpp2plantuml -i “*.h” -d -o output.puml
@startuml
/' Objects '/
abstract class Api {
+~Api()
+{abstract} test(const std::string& s) : void
}
class ApiImplOne {
+test(const std::string& s) : void
}
class ApiImplTwo {
+test(const std::string& s) : void
}
/' Inheritance relationships '/
Api <|-- ApiImplOne
Api <|-- ApiImplTwo
/' Aggregation relationships '/
/' Nested objects '/
@enduml
vscode插件生成类图
1 安装plantuml插件
2 运行依赖
plantuml是java程序,需要安装java
3 plantuml插件设置
Render可以选择Local,此时本地需要图片渲染工具来帮助生成类图,推荐Graphviz ,官网https://graphviz.org/download/,注意将Graphviz添加到环境变量,保证vscode能够找到
Render选择PlantUMLServer时,在下方的server选项可以使用plantuml官方服务器帮助渲染
4 生成类图
vscode中创建文件example.puml,将之前c++代码生成的uml描述复制过来,使用 alt + d快捷键,生成类图图片文件
5 类图导出
打开命令面板(Ctrl+Shift+P)。
输入 PlantUML: Export Current Diagram,导出的路径可以在插件中设置
更多推荐
所有评论(0)