

The IDE ignores the unloaded modules when you search through or refactor your code, compile, or index your project. If this is the case, you can temporarily set aside (unload) the modules that you don't need right now. Normally, you don't need all of them at same time. If indexing takes a significant amount of time, then it's likely that your project has more than two modules. For information on how to exclude files from deployment, refer to Exclude files and folders from uploading and downloading. Marking folders as excluded doesn't affect deployment. You can also Exclude files and folders by name patterns. Excluded folders are marked with the icon. To exclude a folder, right-click it in the Project tool window and select Mark Directory as | Excluded. Plain text files are marked with the icon. To exclude a file, right-click it in the Project tool window and select Override File Type | Plain text. Excluded files remain a part of a project, but are ignored by code completion, navigation, indexing, and inspections. For example, it's recommended that you exclude compilation output folders. Marking dynamically generated files as excluded can speed up the indexing and overall IDE performance. There are several ways of making indexing faster: The next time, indexing will finish sooner. Wait for the process to finish and then you can temporarily simplify your project. Note that if indexing is already in progress, you cannot speed it up. You can decrease the indexing time by excluding files and folders and by unloading modules. The amount of time required for indexing vary depending on your project: the more complex your project is, the more files it comprises, the more time it takes to index it. Nevertheless, you can still work with the IDE: you can type code, work with VCS features, configure settings, and perform other code unrelated actions.

While indexing is in progress, the above-mentioned coding assistance features are unavailable or partially available. That is why, actions like finding usages or smart completion are performed immediately. After indexing, the IDE is aware of your code. This is necessary to provide the coding assistance functionality, search, and navigation instantaneously. Indexing examines the code of your project to create a virtual map of classes, methods, objects, and other code elements that make up your application. For example, this can happen if multiple files in your project are created or generated after you build your project. It starts when you open your project, switch between branches, after you load or unload plugins, and after large external file updates. Indexing in IntelliJ IDEA is responsible for the core features of the IDE: code completion, inspections, finding usages, navigation, syntax highlighting, and refactorings.
