Android Studio:从search结果中排除构build文件夹中的文件

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

当我search打开文件与导航 – >文件…并input“sample.xml”,我会得到

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

由于生成文件夹中的文件是生成的,我们不应该编辑它们,没有任何理由,我想将它们包含在我的search结果中。 无论如何,我可以排除他们吗?

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

从查找path对话框开始,

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 

如果您还希望为单个模块创build一个范围,请为您的模块创build一个范围(包括recursion的模块path),然后在模式开始处添加它:

 !file:build//*&& 

例如,一个2个模块的范围:

 !file:build//*&&file[MODULE1_DIRECTORY_NAME]:*/||file[MODULE2_DIRECTORY_NAME]:*/ 

只有得到完整的答案阅读弗兰克的答案和post#7从这里报道的问题: http : //code.google.com/p/android/issues/detail?id = 61488

您可以创build一个自定义范围 ,该范围定义您要search的设置文件,并允许您排除那些不想search的文件。

  1. CTRL + SHIFT + F显示在path中查找对话框。
  2. 范围下select自定义
  3. 如果下拉列表中的其中一个范围没有根据您的需要限制文件search,您可以创build自己的自定义范围。 要做到这一点点击...button。
  4. 然后点击+button并select本地
  5. 在右侧的窗格中,您可以包括和排除单个文件,recursion地包含或排除文件夹下的所有文件。

然后,您可以使用自定义范围来限制在“在path中查找”时search的文件。

有同样的问题。 发现这些“生成”文件夹在模块的.iml文件中被标记为sourceFolder。

删除所有这些条目解决了这个问题

 <sourceFolder url="file://$MODULE_DIR$/build/..." ..../> 

这个问题似乎在Android Studio的更高版本中得到解决,但是如果它再次出现或者您有特殊的文件夹设置:

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

例:

 apply plugin: 'idea' idea.module { excludeDirs += file('build/') } 

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