Project Tool Window
The Project tool window lets you look at your project from various viewpoints and perform the tasks such as creating new items (directories, files, classes, etc.), opening files in the editor, navigating to the code fragment of interest, and more.
Most of the functions in this tool window are accessed as context menu commands in the content pane and associated shortcuts.
The tool window provides you with the following views:
- Project view. In this view, all the project items along with their dependencies (SDKs and libraries) are shown. The emphasis is on the directory structure (though the packages are also shown).
- Scopes views (Project Files, Problems, etc.). What is shown in the content pane is limited to the corresponding predefined or user-defined scope. In other respects, depending on the currently selected view options, a scope view may resemble the Project view.
The elements of the views are highlighted following the scope-color associations defined in the File Colors dialog and the scope-associated overlay icons, for example:
Title bar context menu
The context menu that appears by right-clicking on the title bar, provides settings for project views.
The following table lists and briefly explains the available commands and options.
|Autoscroll to Source||If this option is on, CLion will automatically open the selected item in the editor.|
|Autoscroll from Source||If this option is on, CLion automatically locates documents that you open in the editor in the Project tool window.|
|Folders Always on Top||If the option is on, all the folders are shown before the files. Otherwise, all the items are sorted alphabetically, and the files and folders appear intermixed.|
|Pinned, Docked, Floating, Windowed, Split Mode||These options let you control general appearance and behavior of the tool window. See Tool Windows Viewing Modes.|
|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 ( or). |
To open the tool window again (and restore the associated features), use the main menu:.
|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).|
|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.
|Hide||Shift+Escape||Use this command to hide the tool window.|
Title bar buttons
| Click this icon to navigate from a file in the editor to the corresponding node (file, class, field, method, etc.) in the Project tool window. |
This icon is not available if the Autoscroll from Source option is currently on.
|Ctrl+NumPad -||Use this icon or shortcut to collapse all the nodes.|
| Click this button to open the menu for configuring the current view and changing the tool window viewing modes. |
Note that most of the menu items are options that you can turn on or off. An option which is on has a check mark to the left of its name.
The available options are a subset of the title bar context menu items. Depending on the current view, the menu may include the following options:
|Shift+Escape|| Use this icon or shortcut to hide the tool window. |
When used in combination with the Alt key, clicking this icon hides all the tool windows attached to the same tool window bar.
The content pane shows the project items such as directories, files, etc.
The icons for the main categories (node types) are shown and briefly explained in the following table. The icons used for the main file types are listed in File Types Recognized by CLion; the icons for the main symbols (classes, fields, methods, etc.) are shown in Symbols.
A folder (directory). Different folder categories have different colors.
|External Libraries, a category for grouping third party software associated with the project. The node is only shown when the Project view is selected.|
Context menu commands for the content pane items
The context menu of an item provides access to all the functions available for this item.
|New||Alt+Insert||Use this command to create a new item (directory, file, or class). within the selected one (project or directory).|
|Reload CMake Project||Use this command to reload the CMake project. See details in Reloading Project procedure description.|
|Cut||Ctrl+X||Use this command to move the selected item or items from the current location to the clipboard.|
|Copy||Ctrl+C||Use this command to copy the selected item or items to the clipboard.|
|Copy Path(s)||Ctrl+Shift+C||Use this command to copy the full path(s) of the selected item or items to the clipboard.|
|Copy Relative Path||Ctrl+Shift+Alt+C||Use this command to copy a relative path to the selected item to the clipboard.|
|Paste||Ctrl+V||Use this command to insert the contents of the clipboard into the selected location.|
|Find Usages||Alt+F7||Use this command to find the usages of the selected item. (The Find Usages dialog will open.)|
|Inspect Code||Use this command to run code inspection for the selected file or folder.|
|Refactor||Use this command to perform one of the refactorings available for the selected item.|
|Add to Favorites||Use this command to add the selected item to an existing or new list of favorite items. See Adding to Favorites.|
|Delete||Delete||Use this command to delete the selected item. Use with care!|
|Run '<item_name>' |
|Ctrl+Shift+F10||Run a test configuration.|
|Local History||Use this command to view local history for the selected file or directory, or to create a label for the current version of your project. SeeLocal History.|
|Synchronize '<item_name>'||Use this command to synchronize the selected item with its version saved in the file system. |
(If you change a file or directory contents externally, CLion, under certain circumstances, may not be aware of the corresponding changes unless you use this command.)
|Show in Explorer||Use this command to open a file browser (e.g. Windows Explorer or Finder) and show the selected item there.|
|File Path / Directory Path||Ctrl+Alt+F12|| |
This menu shows the path from the file system root to the selected element with individual directories as the menu items.
When you select an item in this menu (e.g. a directory), a file browser (e.g. Windows Explorer or Finder) opens, and the selected item is shown there.
|Compare With||Ctrl+D||Use this command to compare the selected file or directory with another file or directory. Select the other file or directory the dialog that opens. See Comparing Files and Folders and Differences Viewer for Folders.|
|Compare File with Editor||Use this command to compare the selected file with the file open on an active editor tab. See Comparing Files and Folders and Differences Viewer for Files.|
|Mark Directory As|| Use this command to make the selected directory a source root or, to make the directory excluded, etc. |
The necessary category for the directory is selected from the submenu.
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. The following table presents information about the meaning of the colors.
|Black||Up to date||File is unchanged. |
|Gray||Deleted||File is scheduled for deletion from the repository. |
|Blue||Modified||File has changed since the last synchronization. |
|Green||Added||File is scheduled for addition to the repository. |
|Violet||Merged||File is merged by your VCS as a result of an update. |
|Brown||Unversioned||File exists locally, but is not in the repository, and is not scheduled for adding. |
|Olive||Ignored||File will be ignored in any VCS operation. |
|Light brown||Hijacked||File is modified without checkout. This status is valid for the files under Perforce, ClearCase and VSS. modified without checkout. |
|Red||Merged with conflicts||During the last update, file was merged with conflicts. |
|Lilac||Externally deleted||File is deleted locally, but was not scheduled for deletion, and still exists in the CVS repository. |
|Dark cyan||Switched||The file is taken from a different branch than the whole project. This status is valid for CVS and SVN. |