Ignore a folder in search results

Solution 1:

Mark your build folder as excluded:

File > Project Structure > Modules > Sources > Mark as Excluded (red icon)

You can also just right click on your folder and select Mark Directory As > Excluded.

Excluded folders (shown as rootExcluded) are ones that IntelliJ IDEA "partially ignores". Very limited coding assistance is provided for files in excluded folders. Classes contained in excluded folders don't appear in code completion suggestion lists, references to such classes are shown in the editor as unresolved. When searching, IntelliJ IDEA doesn't look in excluded folders, etc.

Source

Note: See the answer by Nader Hadji Ghanbari for another approach using Scopes.

Solution 2:

Short Answer

By defining a Scope when searching, you can include/exclude arbitrary files/folders from that scope.

Detailed Answer

One way to achieve your requirement (excluding files and folders from a search) is to define a custom scope. This is specifically useful because sometimes you just want to exclude a folder from your search and not from the whole project.

Follow these steps:

  1. Edit -> Find -> Find in path or press Ctrl+Shift+F.

  2. Choose Custom in the Scope section and then choose <unknown scope>

Search scopes

  1. Now click on the + button to add a new local custom scope

Adding a new custom scope

  1. Give the scope a name and save it.

Saving the local custom scope

  1. Now you can include and exclude directories from this scope. You can first add everything by choosing the include recursively and then exclude one by one by choosing exclude or exclude recursively.

enter image description here

Note that you can even include or exclude libraries your project is dependent on.

  1. When searching you can choose the effective scope by in Scope section in Find in Path dialog.

More info

You can check the JetBrains docs on Scopes for more info. Scopes can be used not only when searching but also in a bunch of other use cases in IntelliJ IDEA.

Patterns

You can use Patterns to define a scope which makes them even more powerful and future proof.

using patterns is another way to exclude files and folders. For instance file:src/main/java//*&&!file:src/main/java/my//* will exclude all files in my folder.

enter image description here

Solution 3:

In Intellij 15, to exclude a folder just do this:

in the Project window, select the folder then right click and choose "Mark Directory As" > "Excluded"

Solution 4:

A number of answers work well for older versions of IntelliJ, but in 2020.2, and possibly other recent versions, I keep seeing excluded folders in my search results. In my case: node_modules.

I found something that does work, though. For javascript projects, at least. There might be something similar available for other languages.

  • First, of course, exclude the directory from your project.

Hopefully this works, but if it doesn't, and you're using Javascript, continue:

  • Go to Settings -> Languages & Frameworks -> Javascript -> Libraries
  • There, uncheck all the directories you don't want included in your search.

Whether this is a good idea remains to be seen; IntelliJ doesn't merely exclude them from your search, but from all its code parsing, which means it might not recognise imports from that directory either. For me it seems to work fine at the moment, but I give no guarantees. Try it, but remember how to revert this.

It's an ugly work around. IntelliJ clearly needs a better way to exclude directories from searches.