我正在尝试使用 IntelliJ 10.5 的“结构搜索”功能来查找实现接口的类,A但不实现另一个接口,B.
首先搜索实现的类A,然后将搜索范围限制为“以前的搜索结果”,很容易将其减少为仅搜索未实现的类B,这在概念上非常简单。不幸的是,我还没有成功。
如果我搜索
class $clazz$ implements $B$ {}
然后在变量 B 的文本约束中勾选“反转条件”,似乎找到“所有实现除B'即使他们也实施B。我还尝试在“完全匹配”变量上勾选“反转条件”,其效果并不是立即明显,但绝对不是我想要的。
正好还有人问类似的问题 http://devnet.jetbrains.net/message/5275370在 IntelliJ 论坛上,但没有得到喜欢。帮帮我吧,stackoverflow!
为了查找实现 InterfaceA 但不实现 InterfaceB 的类,我执行了以下操作:
- 搜索 > 结构搜索
- Click 复制现有模板
- Select 接口的实现者(层次结构内)然后单击OK
- Click 编辑变量
- Select 界面 in the 变量 list
- Enter 接口A in 文本/正则表达式然后单击OK
- Click Find
- 搜索 > 结构搜索
- Click 编辑变量
- Select 界面 in the 变量 list
- Enter 接口B in 文本/正则表达式, 0 in 最小计数 and 0 in 最大计数然后单击OK
- Select 以前的搜索结果 in the Scope落下
- Click Find
请注意,当我尝试使用时遇到问题编辑查询第 8 步中的按钮。我没有研究/重试,但返回菜单并选择“搜索”>“结构搜索”肯定有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)