如何告诉IntelliJ的“在文件中查找”忽略生成的文件?

时间:2013-05-21 13:48:21

标签: intellij-idea

我需要在文件中查找。我想忽略或排除生成的文件,如JAX-WS工件或目标文件夹中的类。如何告诉IDEA从查找中排除这些文件?

4 个答案:

答案 0 :(得分:93)

创建自定义范围,定义要在搜索中包含/排除的文件集。

    查找 CTRL + SHIFT + F 在路径对话框中。 (Mac用户按命令 + shift + F
  1. 范围下,选择自定义

    Find in Path

  2. 从下拉列表中选择一个范围,或通过单击下拉列表右侧的 ... 按钮创建自定义范围。

  3. 在显示的对话框中,点击 + 按钮,然后选择本地
  4. 在右侧窗格中,您可以包含和排除单个文件,并递归地包含或排除文件夹下的所有文件。
  5. 现在,当您使用在路径中查找时,请使用自定义范围来限制搜索哪些文件。

    我怀疑你的问题中提到在文件中查找,这些说明可能不适用于您的版本,但知道此功能存在并且始终存在30日评估版。

答案 1 :(得分:45)

我知道派对迟到了,Rob的回答是不错的。我只想添加以下备选方案:如果您选择了Custom范围(如Rob的答案),那么请将选择保留在Project Files,这将使IntelliJ成为可能比默认情况下更有选择性地搜索。我不知道确切的差异是什么,但特别感兴趣的是,如果您使用Excluded设置中的Modules标签将目录标记为Project Structure,或者右键单击目录并选择Mark Directory As - > Excluded

如果您要排除的文件位于单个或相对较少的目录中,因此您可以轻松地手动设置这些排除规则,这是获得相同结果的一种非常好的方法,而无需配置自定义范围。

我在IntelliJ Ultimate 14.1.4中对此进行了测试。我不知道它在其他版本中的表现如何,但我怀疑v14的大部分内容至少会表现得一样。

答案 2 :(得分:7)

您还可以将搜索文件过滤器以!符号开头,以排除。 搜索不在测试Java文件中的代码的示例: !*Test.java

如果您有几种类型的文件,可以使用,符号分隔。 仅在Kotlin和Groovy文件中搜索的示例: *.kt,*.groovy

这可能也有帮助。

答案 3 :(得分:1)

我使用下一个模式来排除生成的文件

!file:*intermediates*/&&!file:*generated*/&&!lib:*..*

如何添加此模式,请点击https://stackoverflow.com/a/49238500/4770877