I need to do a find in files. I want to ignore or exclude generated files, like JAX-WS artifacts or classes in target folders. How can I tell IDEA to exclude these files from th
I know this is late to the party, and Rob's answer is a decent one. I'd just like to add the following alternative though: if you chose the Custom
scope (as in Rob's answer), then leave the selection at Project Files
, this will make IntelliJ search a bit more selectively than by default. I don't know what the exact differences are, but of particular interest is that if you mark a directory as Excluded
either using the Modules
tab in the Project Structure
settings, or by right-clicking on a directory and selecting Mark Directory As
-> Excluded
.
If the files you want to exclude are in a single or relatively few directories so you can easily manually set up these exclusion rules, this is a really nice way of getting the same result without needing to configure a custom scope.
I tested this in IntelliJ Ultimate 14.1.4. I have no idea how it behaves in other versions, but I suspect most of v14 at least will behave the same.
Create a Custom Scope defining the set of files to include/exclude from your search.
Under Scope select Custom.
Choose a scope from the drop down list or create a Custom Scope by clicking on the ... button to the right of dropdown.
Now when you use Find in Path, use your custom scope to restrict which files are searched.
I suspect from the reference to Find in Files in your question that these instructions may not apply to your version but it is useful to know that this functionality exists and there is always the 30 day evaluation version.
You can also put the search file filter starting with !
sign to exclude.
Example to search code not in Test Java files:
!*Test.java
If you have a few types of files you can separate with ,
sign.
Example to search in Kotlin and Groovy files only:
*.kt,*.groovy
This might be also helpful.
I use the next pattern to exclude generated files
!file:*intermediates*/&&!file:*generated*/&&!lib:*..*
[How to add a new pattern follow]