2013-04-23 163 views
12

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

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

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

有什么建议吗?

+1

嗨 - 我也只是注意到这个“相关/链接”这样的问题和答案,提到一些替代SEA-QL:http://stackoverflow.com/a/9806343/45817 – GrahamMc 2013-04-24 12:19:07

+0

感谢您找到相关的问题,我之前做过一次搜索,但没有找到它。 – javashlook 2013-04-25 07:50:19

+0

如果您尝试了这些产品并且他们帮助,请让我知道 - 您的问题非常有趣,我越想越想越多,我无法相信IDE已经不提供这些了! – GrahamMc 2013-04-25 08:09:32

回答

3

你所要求的对我来说听起来很棒 - 我不知道任何内置的功能都可以轻松满足你的要求。也许有人会建议一个插件。

但是,你有没有考虑的组合: - “工作集” - 正则表达式 - 保存的搜索

,以帮助减轻一些痛苦?

用于您的第二个例子建议: 创建一个“工作组”包含com.foo *包 做一个“文件”(不是Java),与正则表达式搜索选项选中,在类型的文件搜索*的.java,这样的事情:

implements.*I.*\R.*insert 

你可以做正则表达式或多或少明确根据“插入”方法的方法签名。

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

我砍死这个例子从另一个SO问题和一些博客: Useful regex for Eclipse searchingEclipse Regex find and replacing在其他之中。

你也不得不在你的正则表达式的技能刷牙的好处(我知道的东西,我需要做我自己!)

顺便说一句,你使用的是什么源控制平台?有一些搜索工具(比如Google)可以插入一些源代码控制系统。例如,我使用这个工具:SVN Query,我确定还有其他人。这也不是一个干净的解决方案,你要问。对不起,我没有一个直接的答案!希望有人有一个有用的建议!

+0

接受此答案,因为我没有找到更好的选择。我试过的产品中没有一个能够很好地处理大约15,000个java文件的代码库。 – javashlook 2013-05-21 09:04:33

+0

感谢您的反馈意见 - 我希望有人能够找到差距,并在某一天制作插件 – GrahamMc 2013-05-21 09:59:03