高级Eclipse Java搜索

时间:2013-04-23 14:29:38

标签: java eclipse eclipse-plugin search-engine

有一种方法可以使用Search>搜索类型或方法声明或引用。 Eclipse中的Java。但是,如何指定一些更高级的搜索条件,例如:

  • 在A类的子类中查找B类的所有引用。
  • 在实现接口I和/或名为com.foo。* .service的包中的类中查找名为insert *的所有方法。

我一直在研究一个非常大的代码库,拥有这些类型的查询会有很大的帮助。浏览Eclipse Marketplace,我能找到的最接近的东西是SEA-QL,但它甚至无法创建工作区中所有项目的索引。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

你所要求的对我来说听起来很棒 - 我不知道任何内置的功能可以很容易地提供你所要求的。也许有人会推荐一个插件。

但是,您考虑过以下组合: - “工作集” - 常用表达 - 保存搜索

帮助减轻一些痛苦?

对你的第二个例子的建议: 创建一个包含com.foo。*包的“工作集” 执行“文件”(非Java)搜索并选中正则表达式选项,搜索* .java类型的文件,例如:

implements.*I.*\R.*insert

根据“insert”方法的方法签名,您可以使正则表达式更加或更不明确。

保存搜索将允许您建立(和共享)常用表达式库。

我从另一个SO问题和一些博客中攻击了这个例子: Useful regex for Eclipse searchingEclipse Regex find and replacing等等。

你还有额外的好处,就是刷你的正则表达式技能(我知道自己需要做的事情!)

顺便提一下,您使用的源控制平台是什么?有一些搜索工具(想想谷歌)可以插入一些源控制系统。例如,我使用此工具:SVN Query我确信还有其他工具。这也不是你问的干净解决方案。对不起我没有直截了当的回答!希望有人有一个有用的建议!