[CodeGraph] 这样的代码可视化插件, 是你想要的吗?

2024-08-06 14:52:53 +08:00
 yanyin070321

介绍

不知道大家在看代码的时候是否有过这样的困扰?

  1. 看代码的时候忘记从哪里跳转过来的? 也不知道看了哪些部分? 需要反反复复倒退几遍才能有点印象
  2. 分析复杂函数时, 需要仔细浏览一遍代码才能找到关键调用链路?
  3. 当查看方法被哪些函数调用时, 好不容易把所有调用关系点了一遍, 发现还是脑子很乱, 还得再来一遍?

为了解决上述这些困扰, 我开发了一款名为 code graph 的 jetbrains 插件, 可以实现将代码之间的调用关系可视化, 帮助我们更快更简单的阅读和理解代码.

Features

关键特性:

  1. 代码和图双向联动. 在代码中跳转时, 调用图会自动联动, 反之依然. 在不破坏大家阅读代码习惯的基础上提供了可视化的能力.
  2. 代码访问路径高亮. 所有点击过的代码会在调用图中高亮显示, 让大家可以清晰的观察到哪些看过了哪些没看过.
  3. 强大的过滤能力. 帮助大家快速过滤掉一些大家不关心的节点或者是边, 从而让调用图更加清晰明了.

安装

在 Intellij IDEA 的插件市场搜索 “CodeGraph” 即可安装 注意:目前仅支持 2022.3 及之后的版本

用法

找到需要生成调用关系图的方法, 点击鼠标右键, 选择 "Code Graph / Show Callee Graph For 'xxx'".


软件刚刚才发布出来,希望各位老铁们多提一些建议🤗️🤗️🤗️...

2971 次点击
所在节点    程序员
39 条回复
zhuangzhuang1988
2024-08-06 15:03:36 +08:00
牛逼、
forvvvv123
2024-08-06 15:41:15 +08:00
找了,是不是只支持 idea java ,goland 找了没有
yanyin070321
2024-08-06 15:45:10 +08:00
@forvvvv123 嗯, 只有 Java 版本
qczone
2024-08-06 16:02:35 +08:00
感谢楼主,简单试了一下,感觉还不错。另外提醒大家搜索的时候记得搜 Code Graph ,少了个空格 idea 插件市场搜不出来。
mine2224
2024-08-06 17:07:24 +08:00
牛逼,正好需要这样的功能
stt66
2024-08-06 17:22:33 +08:00
大佬牛批,就是能把支持的 idea 版本降低一点吗?老版本用不了。建议而已
mine2224
2024-08-06 17:25:20 +08:00
@mine2224 #5

安装后报错了:Plugin 'Code Graph' wasn't loaded because it's incompatible with the Kotlin plugin in K2 mode
forvvvv123
2024-08-06 17:36:30 +08:00
@yanyin070321 那这么牛逼的插件我岂不是用不了了
Geekerstar
2024-08-06 17:56:45 +08:00
搜不到这个插件呢
harrisonkang
2024-08-06 18:06:16 +08:00
感谢楼主

在使用过程中,发现在图中进行双击,是能联动跳转到相关方法的。但是通过点击代码之间的调用,图上相关方法并没有高亮。「`在代码中跳转时, 调用图会自动联动` 通过这个描述,我认为是有这个特性的,如果没有希望能加一个」

IDEA 版本:IntelliJ IDEA 2023.2.4 (Ultimate Edition)
harrisonkang
2024-08-06 18:07:16 +08:00
@Geekerstar #9
`Code Graph` 需要中间加个空格
fFeeOps
2024-08-06 18:17:43 +08:00
好使的老哥
freefcw
2024-08-06 18:52:30 +08:00
最新的 2024.2 还不支持呀
freefcw
2024-08-06 19:01:11 +08:00
给点建议

1. 支持拖曳,目前看好像不行
2. 缩放可以用 ctrl+鼠标滚轮,这个不错
3. 点击 caller 能跳到 caller 调用的那一行,而不是直接调 caller 的声明(或者可以选择跳 caller 还是 caller 调用的那一行)
4.默认的二级字体太小了,必须要缩放才能看清楚。缩放后又不能拖动,很麻烦

其他目前看好评
ageovb
2024-08-06 19:02:57 +08:00
如何清空 History
PainAndLove
2024-08-06 19:24:46 +08:00
支持 webstorm (ts) 吗?
baskbull
2024-08-06 19:28:06 +08:00
支持楼主,目前查看 caller 是有层级限制么? 这个可以调整吗
yanyin070321
2024-08-06 19:32:07 +08:00
@freefcw 我还没注意到已经发布 2024.2 了, 我下个版本补上
yanyin070321
2024-08-06 19:32:41 +08:00
@ageovb 为啥要清空 history?
yanyin070321
2024-08-06 19:33:19 +08:00
@mine2224 看起来是和 kotlin 插件冲突了, 我研究一下啥问题导致的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1062942

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX