Relation
Source Insight 那种 Relation 窗口。当前符号在左边,谁调用了它排在右边,中间一根红线。点任何一个框,跳到那一行。
数据来自 clangd 的索引(由 compile_commands.json 建出来的 background index),不是调用树,也不是流程图。函数指针间接调用 clangd 看不到,图里就不会有。
用法
Developer: Reload Window
- 侧边栏打开 Relation,或在函数名上按
Ctrl+Alt+R。可以把它拖到另一侧边栏或底边。
- 光标放在函数名上,或点在函数体里。离开函数后,图保持不动,不提示。
- 点右边的框跳到调用处。同一个函数有多处调用时,再点一次跳到下一处
- 点左边的框跳回符号定义
- 按住鼠标左键拖动整张图,不使用滚动条。每次刷新后,图停在左侧并垂直居中。
- 右上角 Level 选择追溯几层。1 到 5 直接选,Other 里填 1 到 20。
- 左上角 References 可以改成 Calls 或 Trace。Calls 是当前函数往下调用了谁,红线箭头指向被调用的函数,点框跳到那个函数。Trace 在下面一行填两个函数名,回车后画出它们之间最短的一条调用链,不看 Level。当前打开的文件里的同名函数优先。两个方向都找,取更短的;一样长时按填写的顺序。箭头指向被调用的函数。
- 标题栏的 Split 再撕下一张,最多四张。图是空的也可以撕。有图时,撕下来的那张停在这一瞬间;原来的继续跟光标。每张自己记住 References/Calls、层数和是否跟随。多出来的用标题栏的关闭。拖视图标题,可以把它们分开放。
右上角「跟随光标」可以固定当前这张图。标题栏的图钉是同一个开关。
| |