Android Studio:从search结果中排除构build文件夹中的文件
我有一个Android Studio项目,其中我有多个模块,每个模块取决于共享模块。 假设这个共享模块有一个xml文件调用sample.xml
当我search打开文件与导航 – >文件…并input“sample.xml”,我会得到
- 分享/ src目录/主/ RES /价值/ sample.xml中
- ModuleA /build造/中间体/分解-ARR /…/ RES /值/ sample.xml中
- ModuleB /build造/中间体/分解-ARR /…/ RES /值/ sample.xml中
- ModuleC /build造/中间体/分解-ARR /…/ RES /值/ sample.xml中
- 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的文件。
- CTRL + SHIFT + F显示在path中查找对话框。
- 在范围下select自定义
- 如果下拉列表中的其中一个范围没有根据您的需要限制文件search,您可以创build自己的自定义范围。 要做到这一点点击...button。
- 然后点击+button并select本地
- 在右侧的窗格中,您可以包括和排除单个文件,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
文件