PyCharm 2020.1 Help

Project tool window

View | Tool Windows | Project
Alt+1

This tool window lets you look at your project from various viewpoints and perform the tasks such as creating new items (directories, files, classes, and so on), 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 via associated shortcuts.

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

Views

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, and so on) . 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 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.

project tool window views

To configure a view, use the corresponding options in the title bar context menu. The necessary options can also be accessed by clicking Settings on the title bar.

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 Settings/Preferences Ctrl+Alt+S.

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
Alt+Down
These are the commands for switching between different views.
Edit Scopes

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.

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, PyCharm will automatically open the selected item in the editor. Otherwise, you need to double-click items to open them.
Always Select Opened File If this option is on, PyCharm automatically locates documents that you open in the editor in the current view of this window.
Sort by TypeIf 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.
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_excluded_files.png
File Nesting Opens the File nesting dialog where you can configure presentation of files that have same names but different extensions.
Group Tabs If 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 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.

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+EscapeUse this command to hide the tool window.

Title bar buttons

ItemShortcutDescription
Next tab Previous tabAlt+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.

If the first or the last of the available views is currently selected, this button is shown as Next or Previous.

Click this button to open the list of views, for example, to select a different view.

Select Opened File Click this icon to 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 Open Files with Single Click option is currently on.

collapse allCtrl+NumPad -Use this icon or shortcut to collapse all the nodes.
settings 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:

Hide tool windowShift+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.

Content pane

The content pane shows the project items such as directories, files, and so on.

The icons for the main categories (node types) are shown and briefly explained in the following table. The icons used for the main symbols (classes, fields, methods, and so on.), visibility modifiers, and bookmarks are shown in Symbols.

ItemDescription
PackageA package
Folder

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

  • A plain folder a plain folder

  • Excluded root an excluded root

LibraryExternal 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.

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 Use this command to create a new item (directory, file, or class) within the selected one. (project or directory).
Change Course Information

Choose this command to show the Change Course Information dialog, where you can change the course title, description and author.

Generate Course Archive

Choose this command to create a zip archive of your course in the specified location.

Upload Course to Stepic

Choose this command to share your course via Stepic. It is essential to have a Stepic account.

CutCtrl+XUse this command to move the selected item or items from the current location to the clipboard.
CopyCtrl+CUse this command to copy the selected item or items to the clipboard.
Copy Path(s)Ctrl+Shift+CUse this command to copy the full path(s) of the selected item or items to the clipboard.
PasteCtrl+VUse this command to insert the contents of the clipboard into the selected location.
Jump to SourceF4Use this command to open the selected file in the editor. If the file is already open, the corresponding editor tab will become active.
Find UsagesAlt+F7 Use this command to find the usages of the selected item. (The Find Usages dialog will open.)
Find in PathCtrl+Shift+FUse this command to perform a text search. (Find in Path dialog will open.)
Replace in PathCtrl+Shift+RUse this command to perform text search-and-replace. (Replace in Path dialog will open.)
Refactor

Use this command to perform one of the refactorings available for the selected item.

For example, you can rename, move and copy files and directories.

Add to FavoritesAlt+Shift+FUse this command to add the selected item to an existing or new list of favorite items. See Favorites.
Show Thumbnails${defaultShortcut}Use this command to view thumbnails for image files located in the selected directory. (The Thumbnails tool window will open.)
Reformat CodeCtrl+Alt+L

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, Reformat and rearrange code.

DeleteDelete

Use this command to delete the selected item. Use with care!

Run '<item_name>'Ctrl+Shift+F10Run a test configuration.
Debug '<item_name>'Ctrl+Shift+DDebug a test configuration.
Run '<item_name>' with CoverageUse this command to run a test configuration with coverage.py. To enable Coverage, select the Use bundle coverage.py checkbox in Settings/Preferences | Build, Execution, Deployment | Coverage.
Profile '<item_name>'With this command you can attach a Python profiler to the current run/debug configuration.
Concurrency Diagram for '<item_name>'With this command you can run the concurrency visualization session with the current run/debug 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.
Synchronize '<item_name>'

Use this command to synchronize the view in the tool window with the view saved in the file system.

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

Show in ExplorerUse this command to open a file browser (for example, Windows Explorer or Finder) and show the selected item there.
Open in terminal Use this command to open the directory corresponding to the selected item in the 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.

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+D Use this command to compare 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 EditorUse this command to compare the selected file with the file open on an active editor tab. See Compare files, folders and text sources and Differences viewer for files.
Mark Directory As Use this command to 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.

For more information on the categories for directories, see Content root.

DiagramsCtrl+Alt+Shift+U or Ctrl+Alt+UUse this command to open a diagram (for example, a UML diagram) for the selected item.
Create Gist Use this command to share code by using gists.

File status highlights

If VCS integration is enabled for the current project, PyCharm 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 #0A7700 #0A7700Added The file in the active changelist is scheduled for addition to the repository.
Color sample: green #0EAA00 #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 #FF0000 #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 #0A7700 #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 #616161 #616161Deleted The file is scheduled for deletion from the repository.
Color sample: dull purple #773895 #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 #8AA4C8 #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 #3264B4 #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 #B28C00 #B28C00Hijacked [Perforce, ClearCase, VSS] The file is modified without checkout.
Color sample: dark olive #727238 #727238IgnoredA file is intentionally untracked by VCS.
Color sample: purple #7503DC #7503DCMerged The file is merged by your VCS as a result of an update.
Color sample: red #FF0000 #FF0000Merged with conflicts During the last update, the file has been merged with conflicts.
Color sample: red #FF0000 #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 #FF0000 #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 #0032A0 #0032A0Modified The file has changed since the last synchronization.
Color sample: blue #0047E4 #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 #7C7C00 #7C7C00Obsolete The file should no longer be in your working copy of the repository.
Color sample: teal #007C7C #007C7CRenamed Since the last update, the file has been renamed.
Color sample: dark cyan #08978F #08978FSwitched [SVN] The file is taken from a different branch than the whole project.
Color sample: brown #993300 #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 #629755 #629755Added The file in the active changelist is scheduled for addition to the repository.
Color sample: dull green #629755 #629755Added 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: dull red #D5756C #D5756CChangelist 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: green #0A7700 #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 #6C6C6C #6C6C6CDeleted The file is scheduled for deletion from the repository.
Color sample: dull purple #6C6C6C #6C6C6CDeleted 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 #6897BBHave 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: light blue #6897BB #6897BBHave 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: white None (default color)Hijacked [Perforce, ClearCase, VSS] The file is modified without checkout.
Color sample: light olive #848504 #848504IgnoredA file is intentionally untracked by VCS.
Color sample: light purple #9876AA #9876AAMerged The file is merged by your VCS as a result of an update.
Color sample: dull red #D5756C #D5756CMerged with conflicts During the last update, the file has been merged with conflicts.
Color sample: dull red #D5756C #D5756CMerged 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 #D5756CMerged 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 #6897BBModified The file has changed since the last synchronization.
Color sample: light blue #6897BB #6897BBModified 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: white None (default color)Obsolete The file should no longer be in your working copy of the repository.
Color sample: strong cyan #3A8484 #3A8484Renamed 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 #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 dateThe file hasn't been changed.
ColorFile StatusDescription
Color sample: green #62CC47 #62CC47Added The file in the active changelist is scheduled for addition to the repository.
Color sample: green #62CC47 #62CC47Added 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: dull red #FF6666 #FF6666Changelist 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: green #62CC47 #62CC47Copied 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 #ED864ADeleted The file is scheduled for deletion from the repository.
Color sample: orange #ED864A #ED864ADeleted 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 #4FF0FFHave 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: vivid cyan #4FF0FF #4FF0FFHave 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: white None (default color)Hijacked [Perforce, ClearCase, VSS] The file is modified without checkout.
Color sample: light olive #A9B837 #A9B837IgnoredA file is intentionally untracked by VCS.
Color sample: light purple #ED94FF #ED94FFMerged The file is merged by your VCS as a result of an update.
Color sample: dull red #FF6666 #FF6666Merged with conflicts During the last update, the file has been merged with conflicts.
Color sample: dull red #FF6666 #FF6666Merged 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 #FF6666Merged 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 #4FF0FFModified The file has changed since the last synchronization.
Color sample: vivid cyan #4FF0FF #4FF0FFModified 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: white None (default color)Obsolete The file should no longer be in your working copy of the repository.
Color sample: vivid cyan #4FF0FF #4FF0FFRenamed 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 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 dateThe file hasn't been changed.
Last modified: 17 July 2020