IntelliJ IDEA 2021.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.

the Project tool window

Views

The tool window has several views:

  • Project view. This view displays all the project items along with their dependencies (SDKs and libraries). The emphasis is on the directory structure, although the packages are also shown.

  • Packages view. This view emphasizes the package structure of the project. Modules, SDKs, and libraries, are not displayed by default.

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

To switch between views, press Alt+Right/ Alt+Left or select the desired view from the list on the title bar. You can also display each view in a separate tab: click Settings and disable the Group Tabs option.

IntelliJ IDEA: choosing a view in the Project tool window

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 Show Options Menu button and select Enable Preview Tab.

Show file size and modification timestamp

The Project tool window allows you to see the size and modification timestamp for the files in the project tree. To display this information, select View | Appearance | Details in Tree Views from the main menu.

Descriptions in Tree Views option on and off

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. To display these lines, enable Show tree indent guides on the Appearance and Behavior | Appearance page of the IDE settings Ctrl+Alt+S.

Tree indent guides in the tool window

Title bar context menu

The context menu that appears by right-clicking the title bar or clicking Settings, provides settings for project views, viewing modes, as well as for switching between the views, resizing the tool window, and more.

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

ItemShortcutDescription

Select Next View or Tab

Select Previous View or Tab

Show List of Views or Tabs

Alt+Right
Alt+Left
These are the commands for switching between different views.
Edit Scopes

Open the Scopes dialog in which you can create and edit used-defined scopes.

Note that this command is available only if the current view is a scope view.

Flatten Modules

If this option is off, modules are shown as a hierarchy or in groups. If this option is on, all modules appear at the same level.

Flatten Packages

If this option is off, packages are shown as a hierarchy. If this option is on, all packages appear at the same level and are identified by their qualified names.

Flatten Packages
Hide Empty Middle Packages

This option lets you specify how or whether empty packages are to be shown. (Empty packages are ones that contain nothing but other packages.)

If the option is on, empty packages are shown compacted.

Empty packages are shown
Abbreviate Qualified Package Names

This option is available only if the Flatten Packages option is on.

If the option is on, most of the initial <name>. fragments in qualified package names are abbreviated.

Abbreviate qualified
pacakge names
Show Members

If this option is on, the files in the tree that contain classes turn into nodes. When such node is unfolded, the contained classes with their fields, methods, and other members of the selected item are shown.

Show class members in the Project tool window
Open Files with Single Click

If this option is on, IntelliJ IDEA will automatically open the selected item in the editor. Otherwise, you need to double-click items to open them.

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

Always Select Opened FileIf this option is on, IntelliJ IDEA automatically locates documents that you open in the editor in the current view of this window.
Sort by Type If the option is off, the items (files, classes, and so on) are sorted alphabetically. If the option is on, the files are sorted by their extensions. The java files appear in the following order: interfaces, classes, enumerations, and so on.
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.
Show Excluded Files

This option is available only in the Project view.

Turn this option on or off to show or hide excluded folders and files.

Show visibility icons

Display visibility modifiers for classes in the project tree:

  • Public: Public class modifier

  • Protected: Protected class modifier

  • Default: Default class modifier

  • Private: Private class modifier

File NestingOpens the File nesting dialog where you can configure presentation of files that have same names but different extensions.
Show Modules

This option is available only in the Packages and scope views. (In the Project view, modules are always shown.)

Turn this option on or off to show or hide modules.

Show Libraries Contents

This option is available only in the Packages view. (In the Project view, libraries are always shown; in the scope views, libraries are never shown.)

Turn this option on or off to show or hide libraries and their contents.

Note that within the Libraries category are the libraries included in module dependencies and also the SDKs associated with your modules.

Group TabsIf this option is on, there is a list in the left-hand part of the title bar from which you can select the necessary view. If this option is off, the views are represented by tabs which appear in the left-hand part of the title bar.
show views as tabs
View ModeThis option lets you control general appearance and behavior of the tool window. See Tool window view modes.
Move toTo 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.

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.

HideShift+EscapeHide the tool window.

Title bar buttons

ItemShortcutDescription

Select Next View or Tab

Select Previous View or Tab

Alt+Right
Alt+Left

If the views are currently shown as tabs (the Group Tabs option is off), this button appears to the right of the last visible tab.

Open the list of views, for example, to select a different view.

Select Opened File Navigate from a file in the editor to the corresponding node (file, class, field, method, and so on) in the Project tool window.

This icon is not available if the Always Select Opened File option is currently on.

collapse allCtrl+NumPad -Collapse all the nodes.
settings

Open the menu for configuring the current view and changing the tool window viewing modes. The available options are a subset of the title bar context menu items.

Hide tool windowShift+Escape

Hide the tool window Shift+Escape.

To hide all the tool windows, press Ctrl+Shift+F12.

Context menu commands for the content pane items

The context menu of an item provides access to all the functions available for this item.

ItemShortcutDescription
NewAlt+Insert Create a new item (module, package, directory, file, class, and so on.) within the selected one. (project, module, directory or package) In the Scratches view, this command also lets you create a query console.
Add Framework SupportFor a module: use this option to add support for certain frameworks and technologies in the selected module.
CutCtrl+XMove the selected item or items from the current location to the clipboard.
Copy

Use this command and one of the following options to copy the selected item(s) to the clipboard:

  • Copy (Ctrl+C ): copies the selected item or items to the clipboard.

  • Copy as Plain Text: copies item as plain text.

  • Copy Path (Ctrl+Shift+C ): copies the relative path(s) of the selected item or items to the clipboard.

  • Copy Reference (Ctrl+Alt+Shift+C ): copies the reference of the selected item including the line number.

  • Absolute Path: copies the full path(s) of the selected item or items to the clipboard.

  • File Name: copies only the filename to the clipboard.

  • Path from Content Root: copies the full path of the directory that contains the application content files.

  • Toolbox URL: if you have IntelliJ IDEA toolbox installed, you can insert the copied path in the browser to open the toolbox with the selected project.

PasteCtrl+VInsert the contents of the clipboard into the selected location.
Open Module SettingsF4Open the settings for the selected module. These will be shown on the Modules page in the Project Structure dialog.
Find UsagesAlt+F7Search for the usages of the selected item. (The Find Usages dialog will open.)
Find in FilesCtrl+Shift+FPerform a text search. (Find in Files dialog will open.)
Replace in FilesCtrl+Shift+RPerform text search-and-replace. (Replace in Path dialog will open.)
AnalyzeAccess the functions related to code inspections and analysis.
Refactor

Perform one of the refactorings available for the selected item.

Add to FavoritesAlt+Shift+FAdd the selected item to an existing or new list of favorite items.
Show ThumbnailsView thumbnails for image files located in the selected directory. (The Thumbnails tool window will open.)
Browse Type HierarchyCtrl+H

For a file (normally, a class): open the class hierarchy for the selected file (class). The Hierarchy tool window will open.

For more information, refer to Source code hierarchy.

Reformat CodeCtrl+Alt+L

Reformat the source code in the selected file or in all files in the current directory. (The Reformat Code dialog will open.)

See also, Reformat and rearrange code.

Optimize ImportsCtrl+Alt+OOptimize imports in the selected file or in all files in the current directory. This feature removes unused imports and rearranges import statements.
DeleteDelete

Delete the selected item. Use with care!

Change Dialect (<CurrentDialect>)For SQL files and database consoles, change the SQL dialect associated with the file or console.
Remove ModuleDeleteRemove a module from your project. Note that the files that make up the module are not physically removed from the disk.
Build Module '<name>'Build the current module.
Rebuild '<name>'Ctrl+Shift+F9Compile the selected source file or all the source files in the selected directory.
Mark as Plain TextExclude the selected file from project, so it is ignored by inspections, code completion, navigation, and so on. The file will be indicated with a special icon plain text and shown as plain text in the editor. For more details, see Exclude files.
Run '<item_name>'Ctrl+Shift+F10For an SQL file or query console: execute all the statements contained in the selected file or console.
Local HistoryView local history for the selected file or directory, or to create a label for the current version of your project.
Synchronize '<item_name>'

Synchronize the view in the tool window with the view saved in the file system.

If you change a file or directory contents externally, IntelliJ IDEA, under certain circumstances, may not be aware of the corresponding changes unless you use this command.

Open in Right SplitSplit the editor into two parts and show the file in the right section. For more information, refer to Split screen.
Open inOpen a file in your system file manager or in Terminal.
File Path / Directory PathCtrl+Alt+F12

This menu shows the path from the file system root to the selected element with individual directories as the menu items.

file path menu

When you select an item in this menu (for example, a directory), a file browser (for example, Windows Explorer or Finder) opens, and the selected item is shown there.

Compare WithCtrl+DCompare the selected file or directory with another file or directory. See Compare files, folders and text sources and Differences viewer for folders.
Compare File with EditorCompare the selected file with the file open on an active editor tab. See Compare files, folders and text sources and Differences viewer for files.
Load/Unload ModulesTemporarily ignore unused modules
Mark Directory As Make the selected directory a source root or a test source root, to make the directory excluded, and so on.

The necessary category for the directory is selected from the submenu.

DiagramsCtrl+Alt+Shift+U or Ctrl+Alt+UOpen a diagram (for example, a UML diagram) for the selected item.
Update CopyrightUpdate the copyright notice for the selected files and folders. See Copyright.
WebServicesAccess the functions related to developing Web services. See Web services and Web service clients.

File status highlights

If VCS integration is enabled for the current project, IntelliJ IDEA uses colors to denote VCS file status in the Project tool window. The following table presents information about the meaning of the colors.

ColorFile StatusDescription
Color sample: dark green #0A7700Added The file in the active changelist is scheduled for addition to the repository.
Color sample: green #0EAA00Added 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/Preferences | Version Control | Changelists.
Color sample: red #FF0000Changelist 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/Preferences | Version Control | Changelists.
Color sample: dark green #0A7700Copied If a file is a copy of another file, its metadata is tracked, and such a file is marked as copied.
Color sample: grey #616161Deleted The file is scheduled for deletion from the repository.
Color sample: dull purple #773895Deleted 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 #8AA4C8Have changed descendants If a file is modified, the IDE will recursively highlight all directories containing that file. This status is available if the Show directories with changed descendants option is enabled in Settings/Preferences | Version Control.
Color sample: bright blue #3264B4Have immediate changed children If a file is modified, the IDE will highlight its parent directory. This status is available if the Show directories with changed descendants option is enabled in Settings/Preferences | Version Control.
Color sample: light brown #B28C00Hijacked [Perforce, ClearCase, VSS] The file is modified without checkout.
Color sample: dark olive #727238Ignored A file is intentionally untracked by VCS.
Color sample: purple #7503DCMerged The file is merged by your VCS as a result of an update.
Color sample: red #FF0000Merged with conflicts During the last update, the file has been merged with conflicts.
Color sample: red #FF0000Merged 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 #FF0000Merged 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 #0032A0Modified The file has changed since the last synchronization.
Color sample: blue #0047E4Modified 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/Preferences | Version Control | Changelists.
Color sample: Olive #7C7C00Obsolete The file should no longer be in your working copy of the repository.
Color sample: teal #007C7CRenamed Since the last update, the file has been renamed.
Color sample: dark cyan #08978FSwitched [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 dateThe file hasn't been changed.
ColorFile StatusDescription
Color sample: dull green #629755AddedThe file in the active changelist is scheduled for addition to the repository.
Color sample: dull green #629755Added in not active changelistThe 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/Preferences | Version Control | Changelists.
Color sample: dull red #D5756CChangelist conflictThe 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/Preferences | Version Control | Changelists.
Color sample: green #0A7700CopiedIf a file is a copy of another file, its metadata is tracked, and such a file is marked as copied.
Color sample: grey #6C6C6CDeletedThe file is scheduled for deletion from the repository.
Color sample: dull purple #6C6C6CDeleted from file systemThe file has been deleted locally, but hasn't been scheduled for deletion, and it still exists in the repository.
Color sample: light blue #6897BBHave changed descendantsIf a file is modified, the IDE will recursively highlight all directories containing that file. This status is available if the Show directories with changed descendants option is enabled in Settings/Preferences | Version Control.
Color sample: light blue #6897BBHave immediate changed childrenIf a file is modified, the IDE will highlight its parent directory. This status is available if the Show directories with changed descendants option is enabled in Settings/Preferences | Version Control.
Color sample: white None (default color)Hijacked[Perforce, ClearCase, VSS] The file is modified without checkout.
Color sample: light olive #848504IgnoredA file is intentionally untracked by VCS.
Color sample: light purple #9876AAMergedThe file is merged by your VCS as a result of an update.
Color sample: dull red #D5756CMerged with conflictsDuring the last update, the file has been merged with conflicts.
Color sample: dull red #D5756CMerged with property conflictsDuring the last update, the IDE has detected differences between the properties of the local file and its server version.
Color sample: dull red #D5756CMerged with text and property conflictsText 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 #6897BBModifiedThe file has changed since the last synchronization.
Color sample: light blue #6897BBModified in not active changelistThe 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/Preferences | Version Control | Changelists.
Color sample: white None (default color)ObsoleteThe file should no longer be in your working copy of the repository.
Color sample: strong cyan #3A8484RenamedSince 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) UnversionedThe file exists locally, but is not in the repository, and is not scheduled for addition.
Color sample: white None (default color)Up to dateThe file hasn't been changed.
ColorFile StatusDescription
Color sample: green #62CC47AddedThe file in the active changelist is scheduled for addition to the repository.
Color sample: green #62CC47Added in not active changelistThe 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/Preferences | Version Control | Changelists.
Color sample: dull red #FF6666Changelist conflictThe 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/Preferences | Version Control | Changelists.
Color sample: green #62CC47CopiedIf a file is a copy of another file, its metadata is tracked, and such a file is marked as copied.
Color sample: orange #ED864ADeletedThe file is scheduled for deletion from the repository.
Color sample: orange #ED864ADeleted from file systemThe file has been deleted locally, but hasn't been scheduled for deletion, and it still exists in the repository.
Color sample: vivid cyan #4FF0FFHave changed descendantsIf a file is modified, the IDE will recursively highlight all directories containing that file. This status is available if the Show directories with changed descendants option is enabled in Settings/Preferences | Version Control.
Color sample: vivid cyan #4FF0FFHave immediate changed childrenIf a file is modified, the IDE will highlight its parent directory. This status is available if the Show directories with changed descendants option is enabled in Settings/Preferences | Version Control.
Color sample: white None (default color)Hijacked[Perforce, ClearCase, VSS] The file is modified without checkout.
Color sample: light olive #A9B837IgnoredA file is intentionally untracked by VCS.
Color sample: light purple #ED94FFMergedThe file is merged by your VCS as a result of an update.
Color sample: dull red #FF6666Merged with conflictsDuring the last update, the file has been merged with conflicts.
Color sample: dull red #FF6666Merged with property conflictsDuring the last update, the IDE has detected differences between the properties of the local file and its server version.
Color sample: dull red #FF6666Merged with text and property conflictsText 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 #4FF0FFModifiedThe file has changed since the last synchronization.
Color sample: vivid cyan #4FF0FFModified in not active changelistThe 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/Preferences | Version Control | Changelists.
Color sample: white None (default color)ObsoleteThe file should no longer be in your working copy of the repository.
Color sample: vivid cyan #4FF0FFRenamedSince 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) UnversionedThe file exists locally, but is not in the repository, and is not scheduled for addition.
Color sample: white None (default color)Up to dateThe file hasn't been changed.
Last modified: 15 June 2021