# Project analysis

> **Note:**
> In IntelliJ IDEA versions earlier than 2025.3, project analysis was called indexing.

Project analysis allows IntelliJ IDEA to enable smart IDE features: code completion, inspections, refactoring, navigation, finding usages, and syntax highlighting.

IntelliJ IDEA triggers this process after you open or clone a new project, enable or disable plugins, and switch between branches. It is also triggered after large external file updates (for example, if multiple files are created or generated when you build your project).

![Analyzing project message in the status bar](https://resources.jetbrains.com.cn/help/img/idea/2026.2/analyzing_project_status_bar.png)

During the analysis, IntelliJ IDEA examines the code in your project to create a virtual map of classes, methods, objects, and other code elements that make up your application.It also analyzes project dependencies, including JDKs, libraries, and files that may be added to the project by different plugins. The result of this process is the project files index, which allows the IDE to provide instantaneous smart features such as coding assistance, search, navigation, and so on.

While the analysis is in progress, smart IDE features might be unavailable or partially available. However, this does not prevent you from using IntelliJ IDEA: you can still type code, work with VCS features, configure settings, and perform other code-unrelated actions.

## Tracking the project analysis progress

While project analysis is running, you can track its progress in the [status bar](guided-tour-around-the-user-interface.html#status-bar), which is located at the bottom of IntelliJ IDEA.

![Waiting for scanning to complete in the lower-right corner of IntelliJ IDEA](https://resources.jetbrains.com.cn/help/img/idea/2026.2/scanning_files.png)

If you click the status bar, the Processes dialog opens, where you can find processes that are currently in progress or in queue.

![Processes dialog with project analysis tasks](https://resources.jetbrains.com.cn/help/img/idea/2026.2/project_analysis_process_background_tasks.png)

The main processes of project analysis include:

* Scanning files: checking which files should be analyzed. This process cannot be paused or canceled.

* Analyzing project to enable smart features: examining and indexing the file contents. This process can be paused (and resumed), but not canceled.

You can check the state of each process below its progress bar. When all processes of project analysis are completed, IntelliJ IDEA clears the status bar. This indicates that smart IDE features (such as coding assistance and finding usages) are ready to use.

> **Tip:**
> If you want to restart project analysis, you can do so by [invalidating
> caches](invalidate-caches.html).

## Reducing the project analysis time

The amount of time it takes to analyze your project depends on its size: the more complex your project is, the more files it contains, and the more time the IDE needs to analyze it.

You can speed up project analysis in several ways:

* [Exclude files and folders](#exclude-files-folders-from-project-analysis) so that the IDE skips them when analyzing the project.

* [Unload modules](#unload) to reduce the number of analyzed files.

* [Use shared indexes](shared-indexes.html) to analyze the project once and then reuse the project files index on other computers.

> **Note:**
> If project analysis is already in progress, you cannot speed it up. However, you can make the next analysis quicker by waiting for the current process to finish and then temporarily simplifying your project.

## Exclude files and folders from project analysis

You can mark dynamically generated files and folders as excluded to speed up project analysis and improve the overall IDE performance. For example, it's recommended that you exclude compilation output folders.   Excluded files and folders are not indexed during project analysis (therefore, smart IDE features are not available for them), but they remain part of the project.

> **Note:**
> Marking files or folders as excluded does not affect deployment. To learn more about deployment exclusions, refer to [Exclude files and folders from uploading and downloading](excluding-files-and-folders-from-deployment.html) .

Procedure: Exclude files from project analysis

1. Go to the  Project tool window  (`Alt+1` (Windows), `⌘ 1` (macOS), `⌘ 1` (IntelliJ IDEA Classic (macOS)), `⌘ 1` (macOS System Shortcuts), `Alt+1` (XWin), `Alt+1` (GNOME), `Alt+1` (KDE), `Alt+1` (Emacs), `Alt+1` (Sublime Text), `⌘ 1` (Sublime Text (macOS)), `Ctrl+1` (NetBeans), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Alt+1` (Eclipse), `Alt+1` (Eclipse (macOS))).

2. Right-click a file and select `Override File Type | Plain text`.

Plain text files are marked with the ![Plain text icon represented by horizontal lines](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.fileTypes.text.svg) icon.

![Marking a file as a plain text file](https://resources.jetbrains.com.cn/help/img/idea/2026.2/ij_exclude_file.png)

Procedure: Exclude folders from project analysis

1. Go to the  Project tool window  (`Alt+1` (Windows), `⌘ 1` (macOS), `⌘ 1` (IntelliJ IDEA Classic (macOS)), `⌘ 1` (macOS System Shortcuts), `Alt+1` (XWin), `Alt+1` (GNOME), `Alt+1` (KDE), `Alt+1` (Emacs), `Alt+1` (Sublime Text), `⌘ 1` (Sublime Text (macOS)), `Ctrl+1` (NetBeans), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Alt+1` (Eclipse), `Alt+1` (Eclipse (macOS))) .

2. Right-click a folder and select `Mark Directory As | Excluded`.

Excluded folders are marked with the ![Excluded root icon represented by an orange folder](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.nodes.excludeRoot.svg) icon.

![Marking a file as a plain text file](https://resources.jetbrains.com.cn/help/img/idea/2026.2/ij_exclude_folder.png)

> **Tip:**
> If you want to exclude multiple files or folders with common naming conventions, you can also [exclude
> them by name patterns](content-roots.html#exclude-files-folders-by-name-patterns)  .

## Unload modules

If project analysis takes a significant amount of time, it is possible that your project has more than two [modules](creating-and-managing-modules.html). If this is the case, you can temporarily set aside (unload) the modules that you are not working with at the moment to speed up project analysis and improve the overall IDE performance.

Files in unloaded modules are not indexed during project analysis, so smart IDE features are not available for them. They are also excluded from compilation.

> **Note:**
> If there are dependencies between loaded and unloaded modules, you may encounter compilation errors. For more information, refer to [Unload modules](unloading-modules.html).

Procedure: Manually unload modules

1. Go to the  Project tool window  (`Alt+1` (Windows), `⌘ 1` (macOS), `⌘ 1` (IntelliJ IDEA Classic (macOS)), `⌘ 1` (macOS System Shortcuts), `Alt+1` (XWin), `Alt+1` (GNOME), `Alt+1` (KDE), `Alt+1` (Emacs), `Alt+1` (Sublime Text), `⌘ 1` (Sublime Text (macOS)), `Ctrl+1` (NetBeans), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Alt+1` (Eclipse), `Alt+1` (Eclipse (macOS))).

2. Right-click a module and select Load/Unload Modules. A dialog opens.

![Unloading a module](https://resources.jetbrains.com.cn/help/img/idea/2026.2/ij_load_unload_modules_dialog.png)

3. To unload modules, double-click their names or use the buttons in the center of the dialog.

4. To save the changes, click OK.

## See also

### How tos

[Write and edit source code](working-with-source-code.html)

