codebuddy能自动识别java项目中service方法的上游依赖并可视化调用链。启动前需确保maven/gradle工程已正确加载,否则提示“project context unavailable”;执行“codebuddy: analyze call graph”后,在dependency explorer面板查看有向依赖图,支持悬停查看行号与路径,导出json报告供ci集成及影响分析。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你在Java项目里改了一个Service方法,却不知道哪些Controller或Test类会因此出问题,每次上线前都得靠人工翻代码查调用链——CodeBuddy能自动识别整个项目的Java接口上游依赖,把隐式调用关系可视化呈现出来,不用你手动grep或打断点追踪。
启动依赖图谱分析
打开项目任意一个Java类文件(如OrderService.java),确保光标落在类名、方法名或关键字段上;按下快捷键 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),调出命令面板;输入“CodeBuddy: Analyze Call Graph”,回车执行。
这一步必须在已成功加载Maven/Gradle工程结构的前提下进行,否则依赖解析会失败。若项目尚未编译或pom.xml未被正确识别,CodeBuddy将提示“Project context unavailable”,此时需先执行Build → Rebuild Project。
查看实时生成的上游依赖节点
分析完成后,右侧会弹出“Dependency Explorer”面板,顶部显示当前选中方法的全限定名(如com.example.order.service.OrderService#createOrder);点击“Show Upstream Dependencies”按钮,系统立即渲染出有向图:箭头从调用方指向被调用方,每个节点标注类名+方法签名;鼠标悬停任一节点,显示该调用的具体行号、源文件路径及调用参数类型。
注意:只有public/protected方法且被其他类显式调用才会纳入图谱,private方法或Lambda内联调用默认不展开——如需强制包含,可在面板右上角勾选“Include private invocations”。
导出可追溯的依赖报告
第一步:在Dependency Explorer面板底部点击“Export as JSON”;
第二步:选择保存路径,文件名自动带时间戳(如upstream-deps-20260630-1815.json);
第三步:打开该JSON文件,你会看到结构化数据:每个上游节点含"callerClass"、"callerMethod"、"lineNumber"、"callSite"四字段;
第四步:用VS Code安装JSON Tools插件,对report.json执行格式化+关键字搜索,快速定位所有调用OrderService#createOrder的测试类。
【导出的JSON不含二进制字节码信息,仅基于源码AST分析,因此不会包含未提交到本地git仓库的临时修改】
对接CI流水线做变更影响预检
方法一:在GitHub Actions中添加codebuddy-dependency-check步骤,使用官方action/tencent-codebuddy@v1,配置on: [pull_request]触发;
方法二:在Jenkinsfile中插入shell指令:codebuddy dep-scan --target com.example.order.service.OrderService#createOrder --format markdown --output impact-report.md;
方法三:直接在IDE终端运行codebuddy dep-scan --diff-base main --include-test,它会自动比对当前分支与main的API变更,并高亮列出受影响的测试用例路径。
这三种方式输出的报告都会标记出“High-risk call sites”,比如某个Controller通过反射调用该Service方法——这种动态调用无法被静态分析完全覆盖,CodeBuddy会额外标注“⚠️ Requires runtime validation”。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











