高级Eclipse Java搜索

jav*_*ook 12 java eclipse search-engine eclipse-plugin

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

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

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

有什么建议?

Gra*_*mMc 3

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

但是,您是否考虑过以下组合: - “工作集” - 正则表达式 - 保存的搜索

帮助减轻一些疼痛?

对第二个示例的建议:创建一个包含 com.foo.* 包的“工作集”在选中“正则表达式”选项的情况下执行“文件”(不是 Java)搜索,在 *.java 类型的文件中搜索,例如:

implements.*I.*\R.*insert
Run Code Online (Sandbox Code Playgroud)

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

保存搜索将使您能够建立(并共享)常用表达式库。

我从另一个 SO 问题和一些博客中破解了这个示例: Useful regex for Eclipse SearchEclipse Regex find and replacement等。

您还可以获得温习正则表达式技能的额外好处(我知道我需要自己做这些!)

顺便问一下,您使用什么源代码控制平台?您可以使用一些搜索工具(例如 Google)将其插入到某些源代码控制系统中。例如,我使用这个工具:SVN Query,我确信还有其他工具。对于您所要求的问题,这也不是一个干净的解决方案。抱歉我没有直接的答案!希望有人提出有用的建议!