# Project analysis

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

CLion analyzes your project files to enable such features as [finding usages](find-highlight-usages.html), [navigation](navigating-through-the-source-code.html), [code completion](auto-completing-code.html), [code generation](generating-code.html), and [refactorings](refactoring-source-code.html).

CLion 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/help/img/idea/2026.2/analyzing_project_status_bar.png)

While the analysis is in progress, smart IDE features might be unavailable or partially available.

## 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 CLion.

![Waiting for scanning to complete in the lower-right corner of CLion](https://resources.jetbrains.com/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/help/img/idea/2026.2/cl_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, CLion 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 reduce the project analysis time by  [excluding items](#exclude-from-project-analysis).

> **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 from project analysis

Your project may contain files for which you don't need the features which depend on project analysis: for example, logs, binaries, or imported libraries.

In such cases, to reduce the analysis time, you can mark the files as [plain
text](#mark-as-plain-text) and directories as [excluded](#exclude_directory_from_project_analysis) or [libraries](#library).

Procedure: Exclude a file from project analysis

If you don't need specific files, but you don't want to completely remove them, you can temporarily exclude these files from the project. Excluded files are ignored by code completion, navigation, and inspections.

To exclude a file, you need to mark it as a plain text file. You can always return excluded files to their original state.

Procedure:

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)), `⌘ 1` (Xcode), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Alt+1` (ReSharper), `⌘ 1` (ReSharper (macOS)), `Alt+X` (QtCreator), `⌃ X` (QtCreator (macOS)), `Ctrl+1` (NetBeans), `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/help/img/idea/2026.2/app-client.expui.fileTypes.text.svg) icon.

To revert the changes, right-click the file and select Revert File Type Override. from the menu.

> **Note:**
> The Mark directory as actions described below are available for [CMake](quick-cmake-tutorial.html), [Makefiles](makefiles-support.html), and [compilation database](compilation-database.html) projects.
>
>
>
>
>
> For CMake projects, these actions can't be applied to generation folders (`cmake-build-debug`/`cmake-build-release` by default). You can change the generation path for the current [CMake profile](cmake-profile.html) in `Settings | Build, Execution, Deployment | CMake`.

Procedure: Exclude a directory from project analysis

If you don't want CLion to analyze a certain directory of your project, do the following:

* In the Project tool window, right-click the directory you want to exclude and select `Mark Directory as | Excluded`:

![Mark directory as excluded](https://resources.jetbrains.com/help/img/idea/2026.2/cl_mark_as_excluded.png)

Code generation, code completion, and refactorings won't be available for this directory. The files won't appear in search results unless you [select this directory](finding-and-replacing-text-in-project.html#limit_search) explicitly in the Find in Files dialog `Ctrl+Shift+F` (Windows), `⌘ ⇧ F` (macOS), `⌃ ⇧ F` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ F` (macOS System Shortcuts), `Ctrl+Shift+F` (XWin), `Ctrl+Shift+F` (GNOME), `Ctrl+Shift+F` (KDE), `Ctrl+Shift+F` (Emacs), `Ctrl+Shift+F` (Sublime Text), `⌘ ⇧ F` (Sublime Text (macOS)), `⌘ ⇧ F` (Xcode), `Ctrl+Shift+F` (Visual Studio), `⌘ ⇧ F` (Visual Studio (macOS)), `Ctrl+Shift+F` (ReSharper), `⌘ ⇧ F` (ReSharper (macOS)), `Ctrl+Shift+F` (QtCreator), `⌘ ⇧ F` (QtCreator (macOS)), `Ctrl+Shift+F` (NetBeans), `Ctrl+H` (Eclipse), `⌃ H` (Eclipse (macOS)). The directory is marked as excluded ![the Excluded directory icon](https://resources.jetbrains.com/help/img/idea/2026.2/app.modules.excludeRoot.svg).

To include the directory back again, right-click it and select `Mark Directory as | Cancel Exclusion`.

> **Tip:**
> If you are working in remote development mode, the directories you mark as excluded will not be synchronized with the remote machine. See [Remote with local sources: excluded paths](remote-projects-support.html#excluded-paths).

Procedure: Exclude a library from project analysis

* In the Project tool window, right-click the directory with the library files, and select `Mark Directory as | Library Files`:

![Mark as library files](https://resources.jetbrains.com/help/img/idea/2026.2/cl_mark_as_library.png)

Code generation, code completion and refactorings won't be available for this directory. However, you can make these files available in search results:

* In Find in Files dialog `Ctrl+Shift+F` (Windows), `⌘ ⇧ F` (macOS), `⌃ ⇧ F` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ F` (macOS System Shortcuts), `Ctrl+Shift+F` (XWin), `Ctrl+Shift+F` (GNOME), `Ctrl+Shift+F` (KDE), `Ctrl+Shift+F` (Emacs), `Ctrl+Shift+F` (Sublime Text), `⌘ ⇧ F` (Sublime Text (macOS)), `⌘ ⇧ F` (Xcode), `Ctrl+Shift+F` (Visual Studio), `⌘ ⇧ F` (Visual Studio (macOS)), `Ctrl+Shift+F` (ReSharper), `⌘ ⇧ F` (ReSharper (macOS)), `Ctrl+Shift+F` (QtCreator), `⌘ ⇧ F` (QtCreator (macOS)), `Ctrl+Shift+F` (NetBeans), `Ctrl+H` (Eclipse), `⌃ H` (Eclipse (macOS)): [narrow down your search](finding-and-replacing-text-in-project.html#limit_search) by selecting the Project and Frameworks scope.

* When [searching everywhere](searching-everywhere.html) (press `⇧` twice): check Include non-project items or select Project and Frameworks from the list in the top right corner of the window.

To unmark the directory, right-click it and select `Mark Directory as | Unmark`.

## See also

### How tos

[Work with source code](working-with-source-code.html)

