忽略搜索结果中的文件夹

Eri*_*cis 125 intellij-idea intellij-14

我正在搜索字符串并在源文件夹中获取匹配项,以及构建文件夹(源文件在构建期间被复制到构建中).

我不需要构建文件夹结果.

Vim wildignore有助于过滤掉结果.

intelij中有类似的东西吗?

Dar*_*Kay 201

将构建文件夹标记为已排除:

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

您也可以右键单击您的文件夹并选择Mark Directory As > Excluded.

排除的文件夹(显示为rootExcluded)是IntelliJ IDEA"部分忽略"的文件夹.为排除文件夹中的文件提供了非常有限的编码帮助.排除文件夹中包含的类不会出现在代码完成建议列表中,对这些类的引用在编辑器中显示为未解析.搜索时,IntelliJ IDEA不会查找排除的文件夹等.

资源

注意:请参阅Nader Hadji Ghanbari的答案,了解使用Scopes的另一种方法.

  • 如果忽略文件夹,则不会显示在搜索结果中.您也可以右键单击您的文件夹,然后选择"将目录另存为>排除". (17认同)
  • 我刚刚在IntelliJ 15.0.6中试过这个,排除的文件夹仍然显示在搜索结果中. (16认同)
  • 这似乎在 Intellij 2019 中不起作用。排除的文件夹仍然显示在搜索结果中。 (14认同)
  • 只有在真正忽略该文件夹时才包含项目中的文件夹.有时您不想排除该文件夹,但您只想将其从搜索中排除. (9认同)
  • @mcv 我最近注意到了这种行为,但这取决于位置类型。“在项目中”会忽略我的node_modules文件夹,但是当选择根“目录”(包含node_modules)时,它也会包含node_modules的结果。 (5认同)
  • 遗憾的是,这在 Ultimate 2020.2 中不起作用。我的搜索结果经常被来自 node_modules 的结果淹没。 (3认同)
  • 如果您问OP所问的问题,很可能这实际上就是您正在寻找的答案。 (2认同)
  • 此后 Intellij 2020.3 显示了问题,但我通过从项目结构中删除并重新添加排除标记来修复它(我希望这可以在任何地方工作)。只需删除排除项,单击“应用”,再次标记为“已排除”,然后单击“应用”。 (2认同)

Nad*_*ari 79

简答

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

详细解答

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

跟着这些步骤:

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

  2. 选择CustomScope部分,然后选择<unknown scope>

搜索范围

  1. 现在单击+按钮添加新的local自定义范围

添加新的自定义范围

  1. 为范围指定名称并保存.

保存本地自定义范围

  1. 现在,您可以在此范围中包含和排除目录.您可以先选择添加所有内容include recursively,然后选择exclude或逐个排除exclude recursively.

在此输入图像描述

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

  1. 搜索时,您可以ScopeFind in Path对话框中选择有效范围.

更多信息

您可以查看范围内JetBrains文档以获取更多信息.范围不仅可以在搜索时使用,还可以在IntelliJ IDEA中的许多其他用例中使用.

模式

您可以使用模式来定义范围,使其更加强大和面向未来.

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

在此输入图像描述

  • 看起来像Idea 15让你点击_Custom_旁边的"..."而不是选择`<unknown scope>`. (2认同)
  • @Superole是真的,与接受的答案相同,但它确实从项目中排除了文件夹(它不再是源文件或测试文件夹),这不是你一直想要的.从项目中完全排除文件夹或仅为特定搜索排除它是两个不同的事情(这就是为什么有些人认为这个答案有用).顺便提一下,如果您使用Maven for Java项目或SBT for Scala(或其他langs的类似),您可能永远不会想要排除文件夹,因为一切都已经为您自动完成. (2认同)

Mar*_*k D 46

IntelliJ IDEA 2021.3.3(终极版)

\n

就我而言,所有生成的文件都.tox显示_build在我的查找结果中。这可能是一个生硬的工具,但我将这两种文件夹类型添加到“首选项”->“编辑器”->“文件类型”->“忽略的文件和文件夹”: .tox、_build。无论出于何种原因,添加都_build不会被接受为被忽略集的一部分。

\n

请注意,您将不会在项目导航器中看到这些文件和文件夹。然而,由于它们没有一致地出现在我的搜索结果中,所以\xe2\x80\x99 是一个很小的代价。

\n

在此输入图像描述

\n


小智 19

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

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

  • 啊。谢谢你!这比[已接受的答案](/sf/answers/2033483791/)容易一百万倍!我首先尝试创建一个范围,但这是一场滚动、单击、扩展、切换、包含和排除的噩梦。 (4认同)
  • 在IntelliJ 2018中似乎不起作用-标记为已排除,但仍显示在结果中:/ (3认同)

Kok*_*zzu 16

这是唯一对我有用的东西IntelliJ 2022.3.1,即使将目录标记为excluded不起作用(它只会将图标更改为红色,但仍然显示)。

File > Preferences > Editor > File Types > Ignored Files and Folders

我可以忽略bla.html由此生成的。

唯一有效的


Pis*_*gha 10

右键单击目录 - >将目录标记为 - >排除.


Kev*_*age 7

正如一些人提到的,简单地将文件夹设置为“排除”在许多版本中不起作用。以下组合对我有用:

  1. 按照建议将有问题的文件夹设置为“排除”。
  2. 使用预定义的范围“项目文件”
  3. 利润


mcv*_*mcv 6

许多答案都适用于旧版本的 IntelliJ,但在 2020.2 以及可能的其他最新版本中,我不断在搜索结果中看到排除的文件夹。就我而言:node_modules

不过,我发现了一些有用的东西。至少对于 javascript 项目来说是这样。其他语言可能也有类似的东西。

  • 首先,当然,从您的项目中排除该目录。

希望这能起作用,但如果不起作用,并且您正在使用 Javascript,请继续:

  • 转到设置 -> 语言和框架 -> Javascript -> 库
  • 在那里,取消选中您不想包含在搜索中的所有目录。

这是否是一个好主意还有待观察。IntelliJ 不仅将它们从您的搜索中排除,而且从其所有代码解析中排除,这意味着它也可能无法识别来自该目录的导入。对我来说,目前似乎运行良好,但我不提供任何保证。尝试一下,但记住如何恢复它。

这是一个丑陋的解决办法。IntelliJ 显然需要一种更好的方法来从搜索中排除目录。


Mah*_*our 5

从项目中排除文件和文件夹

Article last modified: 08 June 2020

  • 将文件标记为纯文本
    1. 在项目工具窗口中,选择所需的文件。
    2. 从所选内容的上下文菜单中,选择“标记为纯文本”在此输入图像描述

  • 按名称模式排除文件和文件夹

    1. “设置/首选项”对话框中Ctrl+Alt+S,单击“目录”
    2. “排除文件”字段中,键入定义要排除的文件和文件夹名称的掩码,例如*.min.jslib。使用分号作为分隔符。
      • 如果文件名与这些模式中的任何一个匹配,则该文件将被视为已排除。
      • 如果文件夹的名称与模式匹配,则排除该文件夹及其子文件夹中的所有文件。

在此输入图像描述


来源:https://www.jetbrains.com/help/phpstorm/exclusion-files-from-project.html