Intellij过滤查找用法/呼叫层次结构

时间:2013-02-01 09:29:48

标签: intellij-idea structural-search

我需要在框架中进行重要的重构。我有一个从代码中的不同位置调用大约300次的方法(即Find Usages给我大约300个结果)。

我想过滤这些结果,以便它只返回不在构造函数体内的用法。

我尝试使用“视图调用层次结构”,它提供了更可读的结果(即,更容易识别来自外部构造函数的调用)。但我想知道是否有办法排除在构造函数体内完成的自动调用?

我不习惯使用“结构搜索”,但它可能会有所帮助吗?

我正在使用IDEA EAP 12

1 个答案:

答案 0 :(得分:2)

(回答我自己的问题)

我试图探索SSR的功能,最后找到了一个有用的模式。

我想要的是:查找已完成的对方法myMethod的所有调用,但排除在构造函数体内完成的调用(即仅在常规实例方法中完成的调用)。

搜索模式:

class $Class$ { 
    $ReturnType$ $MethodName$($ParameterType$ $Parameter$) {$MethodCode$;}
}

此模式将匹配所有非空方法。因此,我仍然需要使用正则表达式限制$MethodCode$

.*\.myMethod\(.*

我认为应该可以改进$ MethodCode $ regexp,但我没有得到任何错误的匹配...所以我很满意。