【问题标题】:How to make eclipse "File Search" to also search inside source jars containing some text?如何使 eclipse“文件搜索”也可以在包含一些文本的源 jar 中搜索?
【发布时间】:2011-07-14 19:57:22
【问题描述】:

我正在处理一个 (Java) 项目,其中有许多 jars,这些 jars 附加了一个 source-jar 文件。

有什么方法可以让 eclipse“文件搜索”搜索在这些源 jar 中包含一些字符串文字的 Java 文件(以及 txt、xml 等),而不仅仅是在项目文件夹中?

或者有什么插件可以实现吗?

【问题讨论】:

  • 这里有同样的问题。 Eclipse 似乎没有为 C/C++ 项目中包含文件中的文本内容编制索引。

标签: eclipse jar literals file-search


【解决方案1】:

您可以通过以下方式实现: “文件搜索”对话框中有一个下拉菜单。 它的标签是:“文件名模式”。 您可以在此处指定要搜索的整个文件名以及文件扩展名。

【讨论】:

  • 不,这不是我要找的。 “文件名模式”是在其中搜索某些文本的文件类型。但是Eclipse在搜索时不会扫描源码jar,所以添加*.jar也无济于事。
【解决方案2】:

目前没有 Eclipse 插件可以做到这一点 AFAIK。但是,您可以编写一个简单的实用程序来完成这项工作:

URL url = FindResourceMain.class.getResource("/" + filePath);

filePath 是你感兴趣的路径。

目前它只会从类路径的根目录中查找资源。例如。如果有 config/settings.xml 文件,你可以使用“config/settings.xml”找到,而不是“settings.xml”。

希望它会有所帮助。并希望有人会增强代码并创建一个 Eclipse 插件。

【讨论】:

    【解决方案3】:

    您可以在附加到您的工作区的 source-jars 中搜索代码。只需使用 ctrl+H / Java 搜索。但是我找不到在这些源中搜索 cmets 和 java-docs 的方法。

    【讨论】:

    • 这不是 OP 想要的。他想搜索字符串文字而不是代码......
    • 除了找不到字符串字面量、cmets 或 javadoc 之外,此方法也不会找到对编译时常量字段的引用,因为编译器会将它们去掉。
    【解决方案4】:

    最近发现以下插件具有搜索链接源 jar 的 beta 支持:https://github.com/ajermakovics/eclipse-instasearch

    您必须在首选项中启用搜索源 jar,因为默认情况下它是关闭的。根据您拥有多少资源,索引过程非常缓慢,但搜索速度非常快。

    我有一个带有企业版 Alfresco(Explore、Share 和 SOLR)和 Alfresco Workdesk(Vanilla、Office 和 Mobile)的 Eclipse 工作区。在我 2011 年初的 MacBook Pro 上进行索引大约需要 8 分钟。搜索几乎是瞬间完成的。

    【讨论】:

    • 如何启用此功能 - 您必须在首选项中启用搜索源 jar,因为它默认关闭。
    • 我正在使用 InstaSearch,我启用了搜索 jar。但是我该如何开始重新索引它们呢?
    • @AshishShetkar 要在 jar 中启用搜索,请转到 Window > Preferences > General > Search > InstaSearch 并选择“Index JAR source attachments (beta)”选项
    • @de_xtr 要开始重新索引它们,请打开视图“InstaSearch”并单击右上角的图标“构建或重新构建搜索索引”
    【解决方案5】:

    不可能,使用Total Commander在jar/zip等中搜索。

    【讨论】:

      【解决方案6】:

      在 jar 中搜索或查找包含特定文本的类名使用 WinRar 搜索非常容易。它高效且至少对我有用。

      只需在 winrar 中打开任何 jar,单击“..”,直到到达要开始搜索的顶部文件夹(包括子文件夹)。

      请务必检查以下选项:

      1.) 在“要查找的文件名”、“存档类型”字段中提供“*”

      2.) 选中“在子文件夹中查找”、“在文件中查找”、“在档案中查找”复选框。

      【讨论】:

      • Winrar 既不是免费的,也不是 eclipse 的一部分。
      • 问题不是在 jar 中搜索,而是在 jar 的 eclipse 附加源中搜索
      【解决方案7】:

      实现这一点最实用的方法是扩展您需要搜索的所有 jars/其他档案 - 如果它们太多,请使用简单的脚本来自动化。将文件放在一个文件夹中并从中创建一个通用的 Eclipse 项目,或者只是将其放在现有 java 项目的子文件夹中(当然不使其成为资源)。然后你可以使用 Ctrl-H 搜索和 Ctrl-R 按名称查找资源。

      查看结果:

      【讨论】:

        【解决方案8】:

        你可以这样做。按 ctrl-h --> java 搜索(类似文件搜索的选项卡)--搜索:字段 限制为:所有出现 范围:工作区 然后按搜索按钮

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-10-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-28
          • 2010-09-19
          相关资源
          最近更新 更多