忽略search结果中的文件夹

我正在寻找一个string,并在源文件夹中获取匹配,并build立一个生成文件夹(源中的文件被复制到生成过程中生成)。

我不需要生成文件夹的结果。

Vim有wildignore这有助于过滤出结果。

intelij中有类似的东西吗?

将您的构build文件夹标记为排除:

File > Project Structure > Modules > Sources > Mark as Excluded (red icon)

排除的文件夹(以rootExcluded显示)是IntelliJ IDEA“部分忽略”的文件夹。 为排除的文件夹中的文件提供非常有限的编码帮助。 包含在排除的文件夹中的类不会出现在代码完成build议列表中,在编辑器中对这些类的引用显示为未parsing。 search时,IntelliJ IDEA不会查找排除的文件夹等。

资源

简答

通过在search时定义范围 ,您可以在该范围内包含/排除任意文件/文件夹。

详细的答案

一种方法来实现您的要求(不包括search文件和文件夹)是定义一个自定义范围。 这是特别有用的,因为有时你只想从search中排除文件夹,而不是从整个项目中排除。

按着这些次序:

  1. Edit – > Find – > Find in path或按Ctrl + Shift + F。

  2. Scope部分selectCustom ,然后select<unknown scope>

搜索范围

  1. 现在点击+button添加一个新的local自定义范围

添加一个新的自定义范围

  1. 给范围一个名字并保存。

保存本地自定义作用域

  1. 现在你可以包含和排除这个范围的目录。 您可以通过include recursivelyselectinclude recursively来添加所有内容,然后通过selectexcludeexclude recursively排除来逐个exclude recursively

在这里输入图像说明

请注意,您甚至可以包含或排除项目依赖的库。

  1. search时,可以在Find in Path对话框的Scope部分中select有效范围。

更多信息

您可以查看范围的JetBrains文档以获取更多信息。 范围不仅可以用于search,还可以用于IntelliJ IDEA中的其他一些用例。

模式

您可以使用模式来定义一个范围,这使得它们更加强大,并且能够保证未来。

使用模式是排除文件和文件夹的另一种方法。 例如file:src/main/java//*&&!file:src/main/java/my//*将会排除my文件夹中的所有文件。

在这里输入图像说明

在Intellij 15中,要排除文件夹,只需执行以下操作:

在“项目”窗口中select文件夹,然后右键单击并select“将目录标记为”>“排除”

右键单击目录 – >将目录标记为 – >排除。