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


103

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


3
是! 而且他们总是将生成的结果放在顶部!嘘!
SMBiggs

Answers:


102

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

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

    在路径中查找

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

  4. 在出现的对话框中,单击+按钮,然后选择“ 本地”。
  5. 在右窗格中,您可以包括和排除单个文件,并以递归方式包括或排除文件夹下的所有文件。

现在,当您使用在路径中查找时,请使用自定义范围来限制搜索哪些文件。

从您对问题中的“ 在文件查找”的引用中,我怀疑这些说明可能不适用于您的版本,但是知道此功能存在并且始终存在30天评估版非常有用。


2
这样可行。谢谢。我希望对“忽略生成的文件”的效果忽略一些设置或复选框。
Freiheit

1
@Freiheit您也许还可以让您的项目也忽略生成的文件,这默认情况下会在任何地方将它们排除在搜索等之外(当然,除非您希望在IntelliJ中查看或需要生成的文件)。
ajp15243

3
@ ajp15243这可以在设置->项目范围中完成
:)

1
作为参考,这些步骤的工作完全一样在的IntelliJ终极13
kurtzbot

1
不错的答案@RobKielty :)您从数小时的无聊中救了我
Shanimal

51

我知道这对党来说太晚了,罗伯的回答是一个不错的答案。我只是想添加以下替代方法:如果您选择了Custom范围(如Rob的回答),然后将选择保留在Project Files,这将使IntelliJ搜索比默认情况下更有选择性。我不知道确切的区别是什么,但是特别有趣的是,如果您Excluded使用设置中的Modules选项卡Project Structure,或者通过右键单击目录并选择Mark Directory As-> 来将目录标记为Excluded

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

我在IntelliJ Ultimate 14.1.4中对此进行了测试。我不知道它在其他版本中的行为,但我怀疑至少v14的大多数行为会相同。


我标记了一个错误排除的目录,如何再次包含它。对于该目录,上下文选项“将目录标记为”不再可见。
—coding_idiot15年

2
Mark Directory As当我这样做时,@ coding_idiot 仍然对我可见(然后选择的选项Cancel Exclusion)。如果由于某种原因对您不起作用,则应该可以通过打开Module设置(Project Settings-> Modules-> <your module>)执行相同的操作。在该对话框中,所有排除的文件夹都应在右侧列出,并在其x旁边以停止排除。
Thor84no 2015年


14

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

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

这可能也有帮助。


这很有用。
javadba

4

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

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

如何添加这种模式后续

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.