文章目录
Usage Search
- Usage Search
- Call Hierarchy
- 区别
搜索使用的地方,快捷键如下:
你可以把光标移到方法名称处,然后点击右键,找到 Find Usages 菜单项,意思是“找到使用它的地方”。
例如我要查看哪些地方调用 findAll() 方法,结果如上图所示,非常详细,哪个模块,哪个包,哪个类,哪个方法,方法中的哪一行都清清楚楚。
调用层次,快捷键:Control + Option + H。
如下图所示,第一个图标显示在哪些地方有调用当前方法,即当前方法被谁调用,当前方法被哪些方法调用:
如下图所示,第二个图标显示当前方法调用了哪些方法:
Find Usages 的结果是由大到小的层次,结果的树形结构是模块 -> 包 -> 类 -> 方法 -> 行,路径非常清晰。
而 Call Hierarchy 的搜索结果的树形结构为:目标方法(被调用的方法) -> 调用目标方法的方法 A -> 调用方法 A 的方法 B。
个人感觉 Find Usages 更常用一些,而 Call Hierarchy 在一些时候也能达到 Find Usages 的效果,但搜索结果不太直观,更难理解一些。Call Hierarchy 在分析一些复杂程序的层次关系时可以用到。