1

在 Intellij IDEA 中使用结构搜索,如果我想找到所有实现接口但不扩展另一个类的类,搜索模板应该如何?模板分别是:

class $Class$ implements $Interface$ {}

class $Class$ extends $Parent$ {}

分别设置最小值和最大值 1,1 和 0,0。

我尝试了与这个问题类似的事情但没有成功:

IntelliJ 结构搜索以查找实现 A 但未实现 B 的类

4

1 回答 1

3

您可以组合这两个模板:

class $Class$ extends $Parent$ implements $Interface$ {}

使用以下变量设置

$Parent$
文本/正则表达式Excluded和启用Apply constrains in type hierarchy,最小/最大值0,0
$Interface$
文本/正则表达式Included和启用Apply constrains in type hierarchy,最小/最大值1,1

当我在以下测试代码上使用这些设置进行搜索时,BE找到类。

class Excluded {}
interface Included {}
class A extends Excluded implements Included {}
class B implements Included {}
class C extends Excluded {}
class D extends A {}
class E extends B {}
class F {}

您当然需要使用自己的类和接口名称,而不是 Included 和 Excluded。

于 2017-08-19T17:47:18.847 回答