"); //-->
在前面的笔记《使用SourceInsight的三大理由,最后一点是关键!》中,鱼鹰介绍了使用 SourceInsight 的几个理由,说第三个理由很关键,也很有用,但是我发现低估了这个软件的功能。
最近耳边常常听到 VS Code 很香,说是神器什么的,简单用过之后,发现并不是那么好用,最重要的一点回跳功能就让人非常不爽,组合快捷键是 ctr + alt + -,你没看错,就是三个键组合,必须三个指头同时使用才能往回调(虽然可以修改快捷键,但还是感觉不舒服),我点点鼠标它不香吗?
编辑方面,我无法判断两者之间的优劣,但要说看不熟悉的代码,SI 在鱼鹰心里就是神器,没有之一,特别是让鱼鹰发现了它的第四点功能。
最近鱼鹰给各位道友提供了 CDC 代码供参考,文章中也写到建议使用 SI 查看,不知道有多少人尝试用它看代码了,不过看完本篇文章,你就会发现,香,真香!
一个变量或函数在哪里使用了?
这个用第三点理由足够了,但是你知道调用该函数或变量的上一级是谁吗?再上一级又是谁?
比如鱼鹰想看 USBD_WriteEP 这个函数被谁调用了,通过打开关系图,我们就可以清晰的知道调用者:
嘿,这个函数的调用关系还挺复杂的,并且可以看到有个函数和本身一样,并不算调用者,而是声明。
点击上述函数,即可看到声明位置:
但是我想看这些调用者又是被谁调用的,又该怎么办?
把鼠标移动到函数名后面,就会看到一个 + 号(如果看不到,可以暂停一会,如果还是看不到,看代码是否同步了或者该函数没有上级调用者):
此时再点击左键,你就会看到这个函数上一级调用者
再上一级嘞?
可以看到,函数最终是被 main函数给调用了(还有其它几个分支可以自行分析)。
这样,你就可以把 USBD_WriteEP 函数的所有关系都弄得清清白白,变量名同理。
虽然函数的身世已经清清白白了,但有些函数身世太复杂,又要看代码,又要看关系,窗口大小不够用啊,此时,你可以把它拖出来(SI版本为4.0):
整屏看:
如果是双屏,放到另一个屏中,看的更爽!
如果觉得占位置,往回拖就行了。
每次查看源码,关系图就变了,咋办?锁住它就 OK 了。
只要你不主动刷新(右边按钮为刷新),关系图就不会变化。并且还可以多看一个(锁定后,首先找下一个需要查看的函数或变量,然后点击以下按钮关闭再打开即可看俩关系图):
拖出来,两个屏就都是关系图了(没错,鱼鹰用双屏):
那怎么往回缩呢?
还有一种方法是,在需要展开和回缩的函数或变量里点击右键,即可看到缩放按钮:
看到这里,还不试试吗?
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。