View | Tool Windows | Project
The Project tool window lets you to look at your project from various viewpoints and perform the tasks such as creating new items (directories, packages, files, classes, etc.), opening files in the editor, navigating to the code fragment of interest, and more.
- Title bar context menu
- Title bar buttons
- Content pane: main items
- Content pane: context menu commands
- Content pane: file status highlights
The tool window provides a number of views.
Different views emphasize different project aspects and, generally, define which items are shown and how:
- 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).
- Packages view. The emphasis is on the package structure of the project. The modules, SDKs and libraries, by default, are not shown.
- Scope 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 or the Packages view.
The necessary view is selected from the list in the left-hand part of the title bar or, if the views are represented by tabs, by clicking the corresponding tab.
To configure a view, use the corresponding options in the title bar context menu. The necessary options can also be accessed by clicking on the title bar.
Title bar context menu
The title bar context menu provides the options that let you control every aspect of the tool window appearance and behavior.
The options that are on, have a check mark to the left of their names.
The menu also includes commands for switching between the views, resizing the tool window, and more.
To access the menu, right-click the list of views in the left-hand part of the title bar, or, if the views are represented by tabs, right-click the tab of interest.
The following table lists and briefly explains the available commands and options.
|Select Next View or Select Next Tab||Alt+RightAlt+RightAlt+RightAlt+RightAlt+Right, Ctrl+X, N or Ctrl+X, OAlt+Right or Ctrl+Shift+F6Alt+RightCtrl+Page DownCtrl+F6, Ctrl+Alt+Left or Ctrl+Page DownShift Command Close Bracket or Control RightControl RightCommand F6 or Alt Command Right||
Use this command to select the view which is next in the list of available views.
If the views are currently shown as tabs, the tab to the right of the current one will be selected.
|Select Previous View or Select Previous Tab||Alt+LeftAlt+LeftAlt+LeftAlt+LeftAlt+Left or Ctrl+X, PAlt+Left or Ctrl+F6Alt+LeftCtrl+Page UpCtrl+Shift+F6, Ctrl+Alt+Right or Ctrl+Page UpShift Command Open Bracket or Control LeftControl LeftShift Command F6 or Alt Command Left||
Use this command to select the view which is previous in the list of available views.
Note that previous in this case doesn't mean previously selected.
If the views are currently shown as tabs, the tab to the left of the current one will be selected.
|Show List of Views or Show List of Tabs||Alt+DownAlt+DownAlt+DownAlt+DownAlt+DownAlt+DownAlt+DownAlt+DownAlt+DownControl DownControl DownControl Down||Use this command to show the list of available views (e.g. to select a different view).|
Use this command to 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 Packages||If this option is off, the packages are shown as a hierarchy.
If this option is on, all the packages appear at the same level
and are identified by their qualified names.
|Compact Empty Middle Packages or Hide Empty Middle Packages||If the Flatten Packages option is off,
the option is called Compact Empty Middle Packages;
if the Flatten Packages option is on,
the option name is 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 or not shown at all (hidden).
|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.
If this option is on, the class members (fields, methods, etc.) are shown.
|Autoscroll to Source||If this option is on, IntelliJ IDEA automatically navigates from a file (or a class member) selected in the Project tool window to the corresponding source file (or its fragment) in the editor. If the corresponding file is not currently open, it will open automatically.|
|Autoscroll from Source||If this option is on, IntelliJ IDEA automatically navigates
from a file in the editor to the corresponding node (file, class, field, method, etc.)
in the Project tool window.
Note that selecting this option makes the Scroll to Source button unavailable.
|Sort by Type||If the option is off, the items (files, classes, etc.) 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, etc.|
|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.
|Pinned, Docked, Floating, Split Mode||These options let you control general appearance and behavior of the tool window, see Viewing Modes.|
|Show Views as Tabs||If this option is off, 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 on, the views are represented by tabs which appear in the left-hand part of the title bar.
|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 in the floating mode.
|Hide||Shift+EscapeShift+EscapeShift+EscapeShift+EscapeShift+EscapeShift+EscapeShift+EscapeShift+EscapeShift+EscapeShift EscapeShift EscapeShift Escape||Use this command to hide the tool window.|
Title bar buttons
Alt+RightAlt+RightAlt+RightAlt+RightAlt+Right, Ctrl+X, N or Ctrl+X, OAlt+Right or Ctrl+Shift+F6Alt+RightCtrl+Page DownCtrl+F6, Ctrl+Alt+Left or Ctrl+Page DownShift Command Close Bracket or Control RightControl RightCommand F6 or Alt Command Right
Alt+LeftAlt+LeftAlt+LeftAlt+LeftAlt+Left or Ctrl+X, PAlt+Left or Ctrl+F6Alt+LeftCtrl+Page UpCtrl+Shift+F6, Ctrl+Alt+Right or Ctrl+Page UpShift Command Open Bracket or Control LeftControl LeftShift Command F6 or Alt Command Left
|If the views are currently shown as tabs
(the Show Views as Tabs option is on),
this button appears to the right of the last visible tab.
If the first or the last of the available views is currently selected, this button is shown as or .
Click this button to open the list of views, for example, to select a different view.
Click this button to navigate from a file in the editor to the corresponding node
(file, class, field, method, etc.) in the Project tool window.
Note that this button is not available, if the Autoscroll from Source option is currently on.
|Ctrl+NumPad - or Ctrl+MinusCtrl+NumPad - or Ctrl+MinusCtrl+NumPad - or Ctrl+MinusCtrl+NumPad - or Ctrl+MinusCtrl+NumPad - or Ctrl+MinusCtrl+NumPad -Ctrl+NumPad - or Ctrl+MinusCtrl+NumPad - or Ctrl+MinusCtrl+NumPad - or Ctrl+MinusCommand NumPad - or Command MinusCommand NumPad - or Command MinusCommand NumPad - or Command Minus||Click this button to collapse all 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+EscapeShift+EscapeShift+EscapeShift+EscapeShift+EscapeShift+EscapeShift+EscapeShift+EscapeShift+EscapeShift EscapeShift EscapeShift Escape||Click this button to hide the tool window .
When used in combination with the Alt key, clicking this button hides all the tool windows attached to the same tool window bar.
Content pane: main items
The content pane shows the project items such as modules, packages, directories, files, classes, libraries, 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 IntelliJ IDEA; the icons for the main symbols (classes, fields, methods, etc.) are shown in Symbols.
A folder (directory). Different folder types have different colors:
For more information on folder types, see Content Root.
Libraries, a category for grouping the SDKs associated with your modules and
the libraries included in module dependencies.
When the Project view is selected, there is one such node for the whole project which is labeled External Libraries.
The subcategories in this case are the SDKs (for example, JSDKs ) and individual libraries ().
When the Packages view is selected, the corresponding node or nodes are labeled Libraries. If the Show Modules and the Show Libraries Contents options are selected, there is an individual Libraries node for each of the modules. The main subcategory in this case is a package ().
Content pane: context menu commands
When you right-click an item in the content pane, the context menu for this item is shown. This menu provides access to all the functions available for the selected item.
The following table lists and briefly explains the most frequently used context menu commands.
|New||Alt+InsertAlt+InsertAlt+InsertAlt+InsertAlt+InsertAlt+InsertAlt+InsertAlt+Insert or Ctrl+NAlt+InsertCommand N or Control EnterControl N or Control EnterCommand N or Control Enter||Use this command to create a new item (module, package, directory, file, class, etc.) within the selected one (project, module, directory or package) Select the new item type from the submenu.|
|Add Framework Support||For a module: use this command to add support for certain frameworks and technologies in the selected module. (The Add Frameworks Support dialog will open.)|
|Cut||Ctrl+X or Shift+DeleteCtrl+X or Shift+DeleteCtrl+X or Shift+DeleteCtrl+X or Shift+DeleteShift+Delete or Alt+XCtrl+X or Shift+DeleteCtrl+X or Shift+DeleteCtrl+X or Shift+DeleteCtrl+X or Shift+DeleteCommand X or Shift DeleteCommand X or Shift DeleteCommand X or Shift Delete||Use this command to move the selected item or items from the current location to the clipboard.|
|Copy||Ctrl+C or Ctrl+InsertCtrl+C or Ctrl+InsertCtrl+C or Ctrl+InsertCtrl+C or Ctrl+InsertCtrl+Insert, Alt+C or Escape, WCtrl+C or Ctrl+InsertCtrl+C or Ctrl+InsertCtrl+C or Ctrl+InsertCtrl+C or Ctrl+InsertCommand C or Command InsertCommand C or Command InsertCommand C or Command Insert||Use this command to copy the selected item or items to the clipboard.|
|Copy Path(s)||Ctrl+Shift+CCtrl+Shift+CCtrl+Shift+CCtrl+Shift+CCtrl+Shift+CCtrl+Shift+CCtrl+Shift+CCtrl+Shift+CCtrl+Shift+CShift Command CShift Command CShift Command C||Use this command to copy the full path(s) of the selected item or items to the clipboard.|
|Copy Reference||Ctrl+Shift+Alt+CCtrl+Shift+Alt+CCtrl+Shift+Alt+CCtrl+Shift+Alt+CCtrl+Shift+Alt+CCtrl+Shift+Alt+CCtrl+Shift+Alt+CCtrl+Shift+Alt+CCtrl+Shift+Alt+CShift Alt Command CShift Alt Command CShift Alt Command C||Use this command to copy a reference to the selected item to the clipboard.|
|Paste||Ctrl+V or Shift+InsertCtrl+V or Shift+InsertCtrl+V or Shift+InsertCtrl+V or Shift+InsertAlt+P, Shift+Insert or Ctrl+YCtrl+V or Shift+InsertCtrl+V or Shift+InsertCtrl+V or Shift+InsertCtrl+V or Shift+InsertCommand V or Shift InsertCommand V or Shift InsertCommand V or Shift Insert||Use this command to insert the contents of the clipboard into the selected location.|
|Jump to Source||F4F4F4F4F4F4F4F4F12 or Ctrl+Shift+ECommand Down or F4F4F3||Use this command to open the selected file in the editor and make this file active. If the file is already open, it will just become active.|
|Open Module Settings||F4F4F4F4F4F4F4F4F12 or Ctrl+Shift+ECommand Down or F4F4F3||Use this command to see the settings for the selected module. These will be shown on the Modules page in the Project Structure dialog.|
|Find Usages||Alt+F7Shift+Alt+7Shift+Alt+7Alt+F7Alt+F7 or Shift+Alt+SAlt+F7 or Ctrl+Shift+EnterShift+Alt+F7Alt+F7Ctrl+GAlt F7Alt F7Shift Command G||Use this command to find the usages of the selected item. (The Find Usages dialog will open.)|
|Find in Path||Ctrl+Shift+FCtrl+Shift+FCtrl+Shift+FCtrl+Shift+FCtrl+Shift+FCtrl+Shift+F or Ctrl+PCtrl+Shift+FCtrl+Shift+FCtrl+HShift Command FControl Shift FControl H||Use this command to perform a text search. (The Find in Path dialog will open.)|
|Replace in Path||Ctrl+Shift+RCtrl+Shift+RCtrl+Shift+RCtrl+Shift+RCtrl+Shift+RCtrl+Shift+RCtrl+Shift+RCtrl+Shift+HCtrl+Shift+RShift Command RControl Shift RShift Command R||Use this command to perform text search-and-replace. (The Replace in Path dialog will open.)|
|Analyze||Use this command to access the functions related to code inspection and analysis.|
|Refactor||Use this command to perform one of the refactorings available for the selected item. The necessary refactoring is selected from the submenu.|
|Add to Favorites||Use this command to add the selected item to an existing or new list of favorite items. See Managing Your Project Favorites.|
|Show Thumbnails||Ctrl+Shift+TCtrl+Shift+TCtrl+Shift+TCtrl+Shift+TCtrl+Shift+TCtrl+Shift+TCtrl+Shift+TCtrl+Shift+TCtrl+Shift+TShift Command TShift Command TShift Command T||Use this command to view thumbnails for image files located in the selected directory. (The Thumbnails tool window will open.)|
|Browse Type Hierarchy||Ctrl+HCtrl+HCtrl+HCtrl+HCtrl+HCtrl+HAlt+HShift+Alt+F12F4Control HControl HF4||For a file (normally, a class): use this command to see the class hierarchy for the selected file (class). (The Hierarchy tool window will open.)|
|Reformat Code||Ctrl+Alt+LCtrl+Alt+LShift+Alt+LCtrl+Alt+LCtrl+Alt+LCtrl+Alt+LAlt+F8 or Ctrl+Alt+FShift+Alt+FCtrl+Alt+L or Ctrl+Shift+FAlt Command LAlt Command LShift Command F||Use this command to reformat the source code in the selected file or in all files in the current directory.
(The Reformat Code dialog will open.)
See also, Reformatting Source Code.
|Optimize Imports||Ctrl+Alt+OCtrl+Alt+OCtrl+Alt+OCtrl+Alt+OCtrl+Alt+OCtrl+Alt+O or Ctrl+ICtrl+Alt+OCtrl+Shift+ICtrl+Alt+O or Ctrl+Shift+OControl Alt OAlt Command OShift Command O||Use this command to optimize imports (i.e. to remove unnecessary import statements)
in the selected file or in all files in the current directory.
(The Optimize Imports dialog will open.)
See also, Optimizing Imports.
|Delete||DeleteDeleteDeleteDeleteDelete or Ctrl+DDeleteDeleteDeleteDeleteDelete or BackspaceDeleteDelete or Backspace||Use this command to delete the selected item. Use with care!|
|Remove Module||DeleteDeleteDeleteDeleteDelete or Ctrl+DDeleteDeleteDeleteDeleteDelete or BackspaceDeleteDelete or Backspace||Use this command to remove a module from your project. Note that the files that make up the module are not physically removed from the disk.|
|Make Module '<name>'||Use this command to make the current module. See Compilation Types and Reviewing Compilation and Build Results.|
|Compile '<name>'||Ctrl+Shift+F9Ctrl+Shift+F9Ctrl+Shift+F9Ctrl+Shift+F9Ctrl+Shift+F9Ctrl+Shift+F9Ctrl+F7F9Ctrl+Shift+F9Shift Command F9Shift Command F9Shift Command F9||Use this command to compile the selected source file or all the source files in the selected directory. See Compilation Types and Reviewing Compilation and Build Results.|
|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. See Local History and Using Local History.|
|Synchronize '<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, IntelliJ IDEA, 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||Ctrl+Alt+F12Ctrl+Shift+Alt+2Ctrl+Shift+Alt+2Ctrl+Shift+Alt+2Ctrl+Alt+F12Ctrl+Alt+F12Ctrl+Alt+F12Ctrl+Alt+F12Ctrl+Alt+F12Alt Command F12Alt Command F12Alt Command F12||Use this command to open the File Path menu.
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 Directory with||Ctrl+DCtrl+DCtrl+DCtrl+DCtrl+DCtrl+DCtrl+DCtrl+DCtrl+DCommand DCommand DCommand D||Use this command to compare the contents of the selected directory with the contents of some other local directory. The other directory is selected in the corresponding dialog. See Comparing Folders and Differences Viewer for Folders and DB Objects.|
|Compare File with Editor||Use this command to compare the contents of the selected file with the contents of the file active in the editor. See Comparing Files and Differences Viewer.|
|Mark Directory As||
Use this command to make the selected directory a source root or a test source root,
to make the directory excluded, etc.
The necessary category for the directory is selected from the submenu.
For more information on the categories for directories, see Content Root.
|Mark as Plain Text||Use this command to exclude the selected file from project, so it is ignored by inspections, code completion, navigation, etc. The file will be indicated with a special icon and shown as plain text in the editor. For more details, see Excluding Files from Project .|
|Diagrams||Ctrl+Shift+Alt+UCtrl+Shift+Alt+UCtrl+Shift+Alt+UCtrl+Shift+Alt+UCtrl+Shift+Alt+UCtrl+Shift+Alt+UCtrl+Shift+Alt+UCtrl+Shift+Alt+UCtrl+Shift+Alt+UShift Alt Command UShift Alt Command UShift Alt Command U or Ctrl+Alt+UCtrl+Alt+UCtrl+Alt+UCtrl+Alt+UCtrl+Alt+UCtrl+Alt+UCtrl+Alt+UCtrl+Alt+UCtrl+Alt+UAlt Command UAlt Command UAlt Command U||Use this command to open a diagram (e.g. a UML diagram) for the selected item. For more information, see Diagram Reference.|
|Update Copyright||Use this command to update the copyright notice for the selected files and folders. See Configuring Copyright Profiles and Generating and Updating Copyright Notice.|
|WebServices||Use this command to access the functions related to developing Web services. See Web Services and Web Service Clients.|
Content pane: file status highlights
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.
|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||Unknown||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.
|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
|Dark cyan||Switched||The file is taken from a different branch than the whole project. This status is valid for CVS and