I have an Android Studio project in which I have multiple modules, each of those module depending on a share module. And let's say that this share module has an xml file call sample.xml
When I search to open file with Navigate -> Files... and type "sample.xml", I'll get
Since the files in build folder are generated and we shouldn't edit them, there is no reason why I want to include them in my search result. Is there anyway I can exclude them?
To put it simply, and to actually exclude build paths from your search, you need to follow Frank's answer point 1 and 2, then because there's no suitable scope that actually exclude the build folder, simply do this:
Inside the "Find in Path" dialog ( CTRL + SHIFT + F ):
!file:build//*
in the pattern If you further want to have a scope for a single module, create a scope for your module (including recursively your module path), then add this at the beginning of your pattern:
!file:build//*&&
For example, a scope for 2 modules:
!file:build//*&&file[MODULE1_DIRECTORY_NAME]:*/||file[MODULE2_DIRECTORY_NAME]:*/
Only got the full answer reading Frank's answer and post #7 from issue reported here: http://code.google.com/p/android/issues/detail?id=61488
You can create a Custom Scope which defines the set files that you want to search and allows you to exclude those that you do not want to search.
You can then use your Custom Scope to constrain the files that are searched when you do Find in Path .
Had the same issue. Found that these 'build' folders were marked as sourceFolder in the module's .iml file.
Removing all such entries fixed the problem
<sourceFolder url="file://$MODULE_DIR$/build/..." ..../>
This problem seems to be fixed in later versions of Android Studio, but should it reoccur or you have a special folder setup:
You need to modify the exclusion list through gradle with the help of the idea plugin
Example:
apply plugin: 'idea'
idea.module {
excludeDirs += file('build/')
}
Then run task ideaModule
to regenerate the .iml
file with the exclusion line described in Corwin's answer
To exclude all build folders from all modules use this pattern:
!file:*build*/
If you want exclude also all libraries, simply use this pattern:
!file:*build*/&&!lib:*..*
Detailed description:
You can use exclude pattern like
!file:build//*&&
[How to add a new pattern follow and skip tests pattern]
[Skip generated files pattern]
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.