CLion 2024.1 Help

Project tool window

The Project tool window lets you take a look at your project from various viewpoints and perform different tasks such as creating new items (directories, files, classes, and so on) , opening files in the editor, navigating to the necessary code fragments, and more.

By default, the Project tool window shows your current project root.

the Project tool window

Most of the functions in this tool window are accessed as context menu commands in the content pane and via associated shortcuts.

Project tool window context menu

Also, the view contains the Scratches and Consoles folder that lets you manage created scratch files and extension scripts.

Scratches and Consoles

Views

You can use Project tool window to view your project tree or a certain scope of files:

File scopes in Project view
  • Project view. This view displays all the project items along with their dependencies (SDKs and libraries) .

  • Scope views (Project Files, Open Files, and so on). These views display the contents of the predefined and user-defined scopes.

The elements of the views are highlighted following the scope-color associations defined in the File Colors dialog and the scope-associated overlay icons.

You can also display each view in a separate tab: click Settings and disable the Group Tabs option.

Preview files

There are two ways to preview files without opening each one in a separate tab:

  • Use the file preview popup: select a file in the Project tool window and press Space.

    Opening a file preview in the Project tool window
  • Enable the preview tab: click the Options button and select Enable Preview Tab.

Show file size and modification timestamp

You can view the size and modification timestamp for the files in the project tree.

  • Select View | Appearance | Details in Tree View from the main menu.

Details in Project view

Show tree indent guides

In the Project tool window , you can display vertical lines that mark indent levels and help you better understand the hierarchy of the components in your project.

  1. Go to Settings | Appearance and Behavior | Appearance.

  2. Set the Show tree indent guides checkbox.

Title bar context menu

The context menu that appears by right-clicking the title bar or clicking the Options button (the Options icon) provides settings for project views.

The following table lists and briefly explains the available commands and options.

Item

Shortcut

Description

Tree Appearance

Show Scratches and Consoles

Hide or display the Scratches and Consoles node.

This node contains your scratch files and query consoles.

Sort by Name

Sort files alphabetically by their names.

The option does not affect the order of folders, they are always sorted alphabetically.

Sort by Type

Sort files by their extensions.

The option does not affect the order of folders, they are always sorted alphabetically.

Sort by Modification Time (Newest First/Oldest First)

Sort files by the time they were modified. To display this information, select View | Appearance | Details in Tree View from the main menu.

The option does not affect the order of folders, they are always sorted alphabetically.

Folders Always on Top

If the option is on, folders are shown above the files. Otherwise, all items are sorted alphabetically, and files and folders appear intermixed.

Enable Preview Tab

Enable the preview tab that allows you to view files in a single tab one by one without opening each file in a new tab.

Open Files with Single Click

Open an item in the editor by clicking it in the Project tool window once. Otherwise, you need to double-click items to open them.

Note that you cannot disable this option if you enable the preview tab.

Open Directories with Single Click

Expand and collapse directories in the Project tool window by clicking them once. Otherwise, you need to double-click a directory to open it or use the Expand icon next to the directory's name.

Always Select Opened File

If this option is on, CLion automatically locates documents that you open in the editor in the current view of this window.

View Mode

This option lets you control general appearance and behavior of the tool window. For full information, refer to Viewing modes.

Move to

To associate the tool window with a different tool window bar, select this command, and then select the destination tool window bar (Top, Left, Bottom or Right). For full information, refer to the Move tool windows chapter.

Resize

To resize the tool window by moving one of its borders, select this command, and then select the necessary Stretch to option.

Note that this command is not available for the floating mode.

Remove from Sidebar

This command hides the tool window, removes the associated tool window button from the tool window bar, and removes the tool window from the quick access menu (tb shown or tb hidden).

To open the tool window again (and restore the associated features), use the main menu: View | Tool Windows | <Window Name> or press Alt+1.

Hide

Shift+Escape

Hide the tool window.

Help

This command opens the description of the Project tool window in the CLion online help.

Content pane

The content pane shows the project items such as directories, files, and other elements.

Files marked with blue overlay badges Source tool file layer are source files (for CMake projects, if a file icon does not have this overlay badge, it means that the file is not included in CMakeLists.txt).

Item

Description

Folder

A folder (directory). Different folder categories have different colors.

  • A directory a plain folder

  • Excluded folder an excluded folder

Library

External Libraries, a category for grouping third party software associated with the project. The node is only shown when the Project view is selected.

Scratches and Consoles

Your scratch files and consoles are grouped under this node.

File status highlights

If VCS integration is enabled for the current project, CLion uses colors to denote VCS file status in the Project tool window.

You can configure VCS file status colors on the Version Control | File Status Colors page of settings  Ctrl+Alt+S.

The table below lists default file status colors and their meanings in some of the color schemes.

Color

File Status

Description

Color sample: dark green #0A7700

Added

The file in the active changelist is scheduled for addition to the repository.

Color sample: green #0EAA00

Added in not active changelist

The file in an inactive changelist is scheduled for addition to the repository. This file status is available if the Highlight files from non-active changelists option is enabled in Settings | Version Control | Changelists.

Color sample: red #FF0000

Changelist conflict

The file in an inactive changelist has been modified in the active changelist. In this case, a new dialog will open, prompting you to resolve the changelist conflict. This file status is available if all options are enabled in Settings | Version Control | Changelists.

Color sample: dark green #0A7700

Copied

If a file is a copy of another file, its metadata is tracked, and such a file is marked as copied.

Color sample: grey #616161

Deleted

The file is scheduled for deletion from the repository.

Color sample: dull purple #773895

Deleted from file system

The file has been deleted locally but hasn't been scheduled for deletion, and it still exists in the repository.

Color sample: light grayish blue #8AA4C8

Have changed descendants

If a file is modified, the IDE will recursively highlight all directories containing that file. This status is available if the Highlight directories that contain modified files in the Project tree option is enabled in Settings | Version Control | Confirmation.

Color sample: bright blue #3264B4

Have immediate changed children

If a file is modified, the IDE will highlight its parent directory. This status is available if the Highlight directories that contain modified files in the Project tree option is enabled in Settings | Version Control | Confirmation.

Color sample: light brown #B28C00

Hijacked

[Perforce, ClearCase, VSS] The file is modified without checkout.

Color sample: dark olive #727238

Ignored

A file is intentionally untracked by VCS.

Color sample: purple #7503DC

Merged

The file is merged by your VCS as a result of an update.

Color sample: red #FF0000

Merged with conflicts

During the last update, the file has been merged with conflicts.

Color sample: red #FF0000

Merged with property conflicts

During the last update, the IDE has detected differences between the properties of the local file and its server version.

Color sample: red #FF0000

Merged with text and property conflicts

Text and property conflicts happen when two or more developers modify the same lines of a file and the same file properties.

Color sample: bright navy #0032A0

Modified

The file has changed since the last synchronization.

Color sample: blue #0047E4

Modified in not active changelist

The file in an inactive changelist has been modified. This file status is available if the Highlight files from non-active changelists option is enabled in Settings | Version Control | Changelists.

Color sample: Olive #7C7C00

Obsolete

The file should no longer be in your working copy of the repository.

Color sample: teal #007C7C

Renamed

Since the last update, the file has been renamed.

Color sample: dark cyan #08978F

Switched

[SVN] The file is taken from a different branch than the whole project.

Color sample: brown #993300

(Unknown) Unversioned

The file exists locally but is not in the repository and is not scheduled for addition.

Color sample: black None (default color)

Up to date

The file hasn't been changed.

Color

File Status

Description

Color sample: dull green #629755

Added

The file in the active changelist is scheduled for addition to the repository.

Color sample: dull green #629755

Added in not active changelist

The file in an inactive changelist is scheduled for addition to the repository. This file status is available if the Highlight files from non-active changelists option is enabled in Settings | Version Control | Changelists.

Color sample: dull red #D5756C

Changelist conflict

The file in an inactive changelist has been modified in the active changelist. In this case, a new dialog will open, prompting you to resolve the changelist conflict. This file status is available if all options are enabled in Settings | Version Control | Changelists.

Color sample: green #0A7700

Copied

If a file is a copy of another file, its metadata is tracked, and such a file is marked as copied.

Color sample: grey #6C6C6C

Deleted

The file is scheduled for deletion from the repository.

Color sample: dull purple #6C6C6C

Deleted from file system

The file has been deleted locally but hasn't been scheduled for deletion, and it still exists in the repository.

Color sample: light blue #6897BB

Have changed descendants

If a file is modified, the IDE will recursively highlight all directories containing that file. This status is available if the Highlight directories that contain modified files in the Project tree option is enabled in Settings | Version Control | Confirmation.

Color sample: light blue #6897BB

Have immediate changed children

If a file is modified, the IDE will highlight its parent directory. This status is available if the Highlight directories that contain modified files in the Project tree option is enabled in Settings | Version Control | Confirmation.

Color sample: white None (default color)

Hijacked

[Perforce, ClearCase, VSS] The file is modified without checkout.

Color sample: light olive #848504

Ignored

A file is intentionally untracked by VCS.

Color sample: light purple #9876AA

Merged

The file is merged by your VCS as a result of an update.

Color sample: dull red #D5756C

Merged with conflicts

During the last update, the file has been merged with conflicts.

Color sample: dull red #D5756C

Merged with property conflicts

During the last update, the IDE has detected differences between the properties of the local file and its server version.

Color sample: dull red #D5756C

Merged with text and property conflicts

Text and property conflicts happen when two or more developers modify the same lines of a file and the same file properties.

Color sample: light blue #6897BB

Modified

The file has changed since the last synchronization.

Color sample: light blue #6897BB

Modified in not active changelist

The file in an inactive changelist has been modified. This file status is available if the Highlight files from non-active changelists option is enabled in Settings | Version Control | Changelists.

Color sample: white None (default color)

Obsolete

The file should no longer be in your working copy of the repository.

Color sample: strong cyan #3A8484

Renamed

Since the last update, the file has been renamed.

Color sample: white None (default color)

Switched

[SVN] The file is taken from a different branch than the whole project.

Color sample: soft red #D1675A

(Unknown) Unversioned

The file exists locally but is not in the repository and is not scheduled for addition.

Color sample: white None (default color)

Up to date

The file hasn't been changed.

Color

File Status

Description

Color sample: green #62CC47

Added

The file in the active changelist is scheduled for addition to the repository.

Color sample: green #62CC47

Added in not active changelist

The file in an inactive changelist is scheduled for addition to the repository. This file status is available if the Highlight files from non-active changelists option is enabled in Settings | Version Control | Changelists.

Color sample: dull red #FF6666

Changelist conflict

The file in an inactive changelist has been modified in the active changelist. In this case, a new dialog will open, prompting you to resolve the changelist conflict. This file status is available if all options are enabled in Settings | Version Control | Changelists.

Color sample: green #62CC47

Copied

If a file is a copy of another file, its metadata is tracked, and such a file is marked as copied.

Color sample: orange #ED864A

Deleted

The file is scheduled for deletion from the repository.

Color sample: orange #ED864A

Deleted from file system

The file has been deleted locally but hasn't been scheduled for deletion, and it still exists in the repository.

Color sample: vivid cyan #4FF0FF

Have changed descendants

If a file is modified, the IDE will recursively highlight all directories containing that file. This status is available if the Highlight directories that contain modified files in the Project tree option is enabled in Settings | Version Control | Confirmation.

Color sample: vivid cyan #4FF0FF

Have immediate changed children

If a file is modified, the IDE will highlight its parent directory. This status is available if the Highlight directories that contain modified files in the Project tree option is enabled in Settings | Version Control | Confirmation.

Color sample: white None (default color)

Hijacked

[Perforce, ClearCase, VSS] The file is modified without checkout.

Color sample: light olive #A9B837

Ignored

A file is intentionally untracked by VCS.

Color sample: light purple #ED94FF

Merged

The file is merged by your VCS as a result of an update.

Color sample: dull red #FF6666

Merged with conflicts

During the last update, the file has been merged with conflicts.

Color sample: dull red #FF6666

Merged with property conflicts

During the last update, the IDE has detected differences between the properties of the local file and its server version.

Color sample: dull red #FF6666

Merged with text and property conflicts

Text and property conflicts happen when two or more developers modify the same lines of a file and the same file properties.

Color sample: vivid cyan #4FF0FF

Modified

The file has changed since the last synchronization.

Color sample: vivid cyan #4FF0FF

Modified in not active changelist

The file in an inactive changelist has been modified. This file status is available if the Highlight files from non-active changelists option is enabled in Settings | Version Control | Changelists.

Color sample: white None (default color)

Obsolete

The file should no longer be in your working copy of the repository.

Color sample: vivid cyan #4FF0FF

Renamed

Since the last update, the file has been renamed.

Color sample: white None (default color)

Switched

[SVN] The file is taken from a different branch than the whole project.

Color sample: soft red D1675A

(Unknown) Unversioned

The file exists locally but is not in the repository and is not scheduled for addition.

Color sample: white None (default color)

Up to date

The file hasn't been changed.

File colors

Files that belong to different scopes (production files or test files, for example) can be highlighted in different colors in the Project tool window , search results, and editor tabs.

To each scope, you can assign its own color. For more information, refer to Associate scopes with colors.

Scope highlighting in Project view
Last modified: 08 August 2024