忽略搜索结果中的文件夹

时间:2015-03-12 15:37:43

标签: intellij-idea intellij-14

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

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

Vim wildignore有助于过滤掉结果。

intelij中有类似的内容吗?

7 个答案:

答案 0 :(得分:169)

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

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

您也可以右键单击您的文件夹,然后选择Mark Directory As > Excluded

  

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

Source

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

答案 1 :(得分:70)

简答

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

详细答案

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

请按照以下步骤操作:

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

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

  3. Search scopes

    1. 现在点击+按钮添加新的local自定义范围
    2. Adding a new custom scope

      1. 为范围命名并保存。
      2. Saving the local custom scope

        1. 现在,您可以在此范围中包含和排除目录。您可以先选择include recursively添加所有内容,然后选择excludeexclude recursively逐个排除。
        2. enter image description here

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

          1. 搜索时,您可以在Scope对话框的Find in Path部分中选择有效范围。
          2. 更多信息

            您可以查看JetBrains docs on Scopes了解详情。范围不仅可以在搜索时使用,还可以在IntelliJ IDEA中的许多其他用例中使用。

            模式

            您可以使用Patterns来定义一个范围,使其更加强大和面向未来。

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

            enter image description here

答案 2 :(得分:17)

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

在项目窗口中选择文件夹,然后右键单击并选择&#34;将目录标记为&#34; &GT; &#34;不含&#34;

答案 3 :(得分:9)

右键单击目录 - &gt;将目录标记为 - &gt;排除。

答案 4 :(得分:0)

如果要搜索用法,请打开“查找用法设置...”,默认情况下为 Ctrl + Alt + Shift + F7 ,可以将范围从“所有文件”缩小到“项目文件”。

答案 5 :(得分:0)

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

Article last modified: 08 June 2020

  • 将文件标记为纯文本
    1. 在“项目”工具窗口中,选择所需的文件。
    2. 从所选内容的上下文菜单中,选择标记为纯文本enter image description here

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

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

enter image description here


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

答案 6 :(得分:0)

对于IntelliJ的较早版本,很多答案都很好,但是在2020.2和其他最新版本中,我一直在搜索结果中看到排除的文件夹。就我而言:node_modules

不过,我发现了一些可行的方法。至少对于javascript项目。可能其他语言也有类似的内容。

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

希望这行得通,但如果没有,并且您正在使用Javascript,请继续:

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

这是否是一个好主意还有待观察; IntelliJ不仅将它们从搜索中排除,还从其所有代码解析中排除,这意味着它也可能无法识别该目录中的导入。对我来说,目前看来效果很好,但我不做任何保证。尝试一下,但要记住如何还原它。

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