总体步骤

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,导出的路径可以在插件中设置
在这里插入图片描述

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐