codegeex 不直接生成流程图,但通过项目级索引、plantuml 转译、code2flow 工具及 debug visualizer 联动,可实现从代码逻辑到图形化呈现的完整闭环。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想在 VSCode 里把一段函数或模块的执行逻辑,直接变成一眼能看懂的图形关系图,而不是靠脑补调用链或反复 Ctrl+Click 跳转——CodeGeeX 本身不生成 SVG/PNG 流程图,但能配合外部工具和插件路径,把“代码逻辑解释”自然过渡到“图形化呈现”。
先让 CodeGeeX 理解全项目上下文
如果只解释当前文件里的一个方法,CodeGeeX 会漏掉跨文件的依赖、DTO 映射、配置注入等关键节点,生成的逻辑描述是断层的。必须先激活项目级索引。
打开 VSCode,确保工作区根目录下存在 pom.xml、build.gradle 或 pyproject.toml 文件 → 点击左下角 CodeGeeX 图标 → 选择 “Initialize Project Index” → 等待右下角弹出 “Indexing completed: X files processed” 提示 → 【必须重启 VSCode,否则索引不生效】。
重启后,任意光标停在 Service 方法名上,右键 → “Ask CodeGeeX → Explain Usage Across Project”,就能看到带 Controller→Service→Mapper→SQL 的完整调用路径文本描述——这是后续绘图的语义基础。
用 PlantUML 手动构建可渲染逻辑图
CodeGeeX 不自动画图,但它的解释结果天然适配 PlantUML 语法。你只需把它的自然语言输出,按箭头关系转成几行文本,就能实时预览图形。
方法一:直接复用解释结果中的调用链
比如 CodeGeeX 输出:“OrderService.process() → OrderMapper.insert() → SQL 插入语句由 application.yml 中 mybatis.mapper-locations 指定”。你新建 flow.puml,写入:
@startuml
OrderService --> OrderMapper
OrderMapper --> "SQL XML File"
@enduml
方法二:让 CodeGeeX 直接生成 PlantUML 代码
在 AskCodeGeeX 面板输入:“请将以下调用链转为 PlantUML 语法:Controller.handle() → Service.execute() → Repository.save() → Database.commit()”,它会返回标准 @startuml 块,复制粘贴即可。
装好 PlantUML(jebbs 插件)和系统级 Graphviz(macOS 用 brew install graphviz,Windows 下载安装包)→ 按 Ctrl+Shift+P → 输入 “PlantUML: Preview” → 实时看到矢量图。
用 code2flow 自动生成调用关系图(命令行方式)
这一步完全脱离 CodeGeeX,但能补足它缺失的“结构可视化”能力,且结果可存入 Git、嵌入文档、复现性强。
第一步:在项目根目录终端运行:
code2flow --no-grouping --max-depth 3 src/**/*.py
第二步:检查输出是否包含预期函数节点。若发现大量缺失(如 import() 动态导入、export * from),说明 code2flow 解析能力受限 → 此时回到 CodeGeeX,用 “Explain Usage Across Project” 补全缺失环节,人工加到 PlantUML 图中。
第三步:code2flow 默认输出 .png,但加 --output-format dot 可生成 .dot 文件 → 用 Graphviz 渲染为高清 SVG:
dot -Tsvg input.dot -o output.svg
注意:code2flow 不识别 TypeScript 的 interface 和 type 声明,别误以为“没画出来 = 没被调用”。
调试中临时验证某行逻辑的图形化映射
当你卡在某条 lambda、正则或异常抛出行,想快速确认它在整个流程中的位置,不用打开大图,用 CodeGeeX 的行级解释 + 可视化变量联动最高效。
将光标置于目标代码行末尾(例如:throw new ValidationException("field missing"))→ 按 Cmd+Enter(macOS)或 Ctrl+Enter(Windows/Linux)→ CodeGeeX 返回该行触发条件、上游校验入口、下游错误处理器 → 【此时打开 Debug Visualizer 扩展,运行 “Debug Visualizer: New View”,输入该异常类名,观察其在调用栈中的实际层级】。
这一步把 CodeGeeX 的语义解释和 Debug Visualizer 的运行时数据结构图打通,形成“静态逻辑 + 动态快照”的双重验证。











