Android Studio:从搜索结果中排除构建文件夹中的文件

Tar*_*w45 57 android-studio

我有一个Android Studio项目,其中我有多个模块,每个模块都取决于共享模块.让我们说这个共享模块有一个xml文件调用sample.xml

当我用Navigate - > Files ...搜索打开文件并输入"sample.xml"时,我会得到

  1. 分享/ src目录/主/ RES /价值/ sample.xml中
  2. ModuleA /建造/中间体/分解-ARR /.../ RES /值/ sample.xml中
  3. ModuleB /建造/中间体/分解-ARR /.../ RES /值/ sample.xml中
  4. ModuleC /建造/中间体/分解-ARR /.../ RES /值/ sample.xml中
  5. ModuleD/build/intermediates/explosion-arr /.../ res/values/sample.xml ...

由于生成了build文件夹中的文件,我们不应该编辑它们,因此我没有理由将它们包含在搜索结果中.无论如何我可以排除它们吗?

3c7*_*c71 55

简单地说,并且实际上从搜索中排除构建路径,您需要遵循Frank的答案点1和2,然后因为没有合适的范围实际排除构建文件夹,只需执行以下操作:

从"在路径中查找"对话框开始

1) Tap the ... to configure a scope
2) Click the + and give your new scope a name
3) Enter "!file:build//*" in the pattern without the double quotes
4) Tap ok and use your new scope
Run Code Online (Sandbox Code Playgroud)

如果您还希望为单个模块设置范围,请为模块创建范围(包括递归模块路径),然后在模式的开头添加:

!file:build//*&&
Run Code Online (Sandbox Code Playgroud)

例如,2个模块的范围:

!file:build//*&&file[MODULE1_DIRECTORY_NAME]:*/||file[MODULE2_DIRECTORY_NAME]:*/
Run Code Online (Sandbox Code Playgroud)

只有完整的答案才能阅读Frank的回答并在此处报道的问题中发布#7:http://code.google.com/p/android/issues/detail?id = 61488

  • 你确定这回答了他的问题吗?他问过滤CTRL + SHIFT + N,你给了他CTRL + SHIF + F的答案.我也需要Navigate> File解决方案.谁知道怎么样? (6认同)
  • 人们没有正确阅读。Find in Path(和类似的)与 Navigate -> Class / File / Symbol 等 * 不同 * 相同。前者支持范围,后者神秘地不支持。 (4认同)

Fra*_*ank 12

您可以创建自定义范围,该范围定义要搜索的设置文件,并允许您排除那些您不想搜索的文件.

  1. CTRL+ SHIFT+ F显示" 在路径中查找"对话框.
  2. Scope下选择Custom
  3. 如果下拉列表中的某个范围不会根据您的需要限制文件搜索,则可以创建自己的自定义范围.要执行此操作,请单击...按钮.
  4. 然后单击+按钮并选择" 本地"
  5. 在右侧窗格中,您可以包含和排除单个文件,并递归地包含或排除文件夹下的所有文件.

然后,您可以使用自定义范围来约束在"路径中查找"时搜索的文件.

  • 这不适用于"导航>文件..." (13认同)
  • 似乎有点太笼统,无法实际回答问题 (2认同)

小智 10

有同样的问题.发现这些'build'文件夹在模块的.iml文件中标记为sourceFolder.

删除所有此类条目可解决问题

<sourceFolder url="file://$MODULE_DIR$/build/..." ..../>
Run Code Online (Sandbox Code Playgroud)

  • 当我重新启动AndroidStudio时,模块的iml将恢复...我该怎么办 (3认同)

Nil*_*zor 8

此问题似乎在Android Studio的更高版本中得到修复,但是它应该重新出现或者您有一个特殊的文件夹设置:

您需要在构思插件的帮助下通过gradle修改排除列表

例:

apply plugin: 'idea'

idea.module {
    excludeDirs += file('build/')
}
Run Code Online (Sandbox Code Playgroud)

然后运行任务ideaModule.iml使用Corwin的答案中描述的排除行重新生成文件


Tom*_*mas 8

要从所有模块中排除所有构建文件夹,请使用以下模式:

!file:*build*/
Run Code Online (Sandbox Code Playgroud)

如果您还想排除所有库,只需使用以下模式:

!file:*build*/&&!lib:*..*
Run Code Online (Sandbox Code Playgroud)

详细说明:

  1. 在“查找”窗口中,单击“范围”选项卡,然后单击“三点”按钮

在此输入图像描述

  1. 加号按钮 ->本地-> 输入名称

在此输入图像描述

  1. 添加所需的图案

搜索范围

  1. 保存并享受


小智 7

Android Studio - >外观和行为 - >范围 - > + - >添加范围 - >本地 - >设置自定义名称和设置模式

!file:*intermediates*/&&!file:*generated*/&&!file:R.java

在此输入图像描述