Project tool window | PyCharm (original) (raw)

The Project tool window Alt+1 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.

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

The view also contains the Scratches and Consoles folder that lets you manage created scratch files, query consoles, and extension scripts.

Views

The tool window has several views:

To switch between views, press Alt+Right/Alt+Left or select a view from the list on the header.

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

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

Appearance and behavior

Quickly add files and folders

You can create a new file or folder from the tool window toolbar. The available options depend on the node selected in the tool window.

Preview files

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

Show file size and modification timestamp

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

Details in Tree Views option is ON

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. Press Ctrl+Alt+S to open settings and then select .
  2. In the Tree Views section, enable the Show indent guides option.

The context menu that appears by right-clicking the header or clicking the Options button the Options icon 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.

Item Shortcut Description
Select Next View or Tab Alt+Right Use this option to switch between different views.The option is only available when Group Tabs is disabled.
Select Previous View or Tab Alt+Left Use this option to switch between different views.The option is only available when Group Tabs is disabled.
Show List of Views or Tabs Alt+Down Use this option to switch between different views.The option is only available when Group Tabs is disabled.
Behavior
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, PyCharm automatically locates documents that you open in the editor in the current view of this window.
Appearance
Members If this option is on, the files in the tree that contain classes turn into nodes. When such a node is unfolded, the contained classes with their fields, methods, and other members of the selected item are shown.Members: ONMembers: OFFShow members enabledShow members disabled
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.Excluded Files: ONExcluded Files: OFFShow members enabledShow members disabled
Scratches and Consoles Hide or display the Scratches and Consoles node.This node contains your scratch files and query consoles.
File Details Select this option to have the size and modification timestamp of files displayed.
File Nesting Opens the File nesting dialog where you can configure presentation of files that have same names but different extensions.
Customize Tree Views Navigate to to configure options for tree views.
Sort By
Name Sort files alphabetically by their names.The option does not affect the order of folders, they are always sorted alphabetically.
Type Sort files by their extensions.The option does not affect the order of folders, they are always sorted alphabetically.
Modification Time (Newest First/Oldest First) Sort files by the time they were modified. To display this information, select 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.
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.
Speed Search Ctrl+F Search for an item. Learn more from Speed Search in tool windows
Group Tabs If this option is on, there is a list in the left part of the header from which you can select the necessary view.If this option is off, the views are represented by tabs which appear in the left part of the header.Group Tabs: ONGroup Tabs: OFFGroup Tabs enabledGroup Tabs enabled
View Mode This option lets you control general appearance and behavior of the tool window. For full information, refer to 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). 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: or press Alt+1.
Help This command opens the description of the Project tool window in the PyCharm online help.

Title bar actions

Item Shortcut Description
Select Next View or TabSelect Previous View or Tab Alt+RightAlt+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 Alt+1. This icon is not available if the Always Select Opened File option is currently on.
expand all Ctrl+NumPad + Expand all nodes.
collapse all Ctrl+NumPad - Collapse all 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 header context menu items.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.Edit ScopesShow MembersOpen Files with Single ClickAlways Select Opened FileSort by TypeFolders Always on TopShow Excluded FilesPinned Mode, Docked Mode, Floating Mode, Windowed Mode, Split ModeRemove from SidebarGroup TabsMove toResize
Hide tool window HideShift+Escape Hide the tool window Shift+Escape.To hide all the tool windows, press Ctrl+Shift+F12.

Content pane

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

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.

Item Description
Package A package
Folder A folder (directory). Different folder categories have different colors. A directory a plain folderExcluded 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.

Context menu commands for the content pane items

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

Item Shortcut Description
New Alt+Insert 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.
Cut Ctrl+X Move the selected item or items from the current location to the clipboard.
Copy Ctrl+C Copy the selected item or items to the clipboard.
Copy Path/Reference Use this command and one of the following options to copy the selected item(s) to the clipboard:Absolute Path: copies the full path(s) of the selected item or items.File Name: copies only the file name to the clipboard.Path From Content Root: copies the path relative to the directory that contains the application content files.Path From Source Root: copies the path relative to the Sources Root.Path From Repository Root: copies the path relative to the project repository.GitHub Repository URL: copies the path relative to the project repository on GitHub.Toolbox URL: if you have PyCharm Toolbox installed, you can insert the copied path in the browser to open the Toolbox application with the selected project.Copy Reference (Ctrl+Alt+Shift+C): copies the reference of the selected item including the line number.
Paste Ctrl+V Insert the contents of the clipboard into the selected location.
Jump to Source F4 Open the selected file in the editor. If the file is already open, the corresponding editor tab will become active.
Find Usages Alt+F7 Search for the usages of the selected item. (The Find Usages dialog will open.)
Find in Files Ctrl+Shift+F Perform a text search. (Find in Files dialog will open.)
Replace in Files Ctrl+Shift+R Perform text search-and-replace. (Replace in Path dialog will open.)
Rename Shift+F6 Rename the selected item.
Refactor Perform one of the refactorings available for the selected item.For example, you can rename, move and copy files and directories.
Bookmarks Add the selected item to an existing or new list of bookmarks.
Reformat Code Ctrl+Alt+L Reformat the source code in the selected file or in all files in the current directory.See also, Reformat and rearrange code.
Delete Delete Delete the selected item. Use with care!
Run '<item_name>' Ctrl+Shift+F10 Run a test configuration.
Debug '<item_name>' ⌃ ⇧ D Debug a test configuration.
Run '<item_name>' with Coverage Use this command to run a test configuration with coverage.py. To enable Coverage, select the Use bundle coverage.py checkbox in Settings | 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.
Open in Right Split Shift+Enter Split the editor into two parts and show the file in the right section. For more information, refer to Split screen.
Open in Open a file in your system file manager or in Terminal.
Open in terminal Use this command to open the directory corresponding to the selected item in the terminal.
Local History View local history for the selected file or directory, or 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, PyCharm, under certain circumstances, may not be aware of the corresponding changes unless you use this command.
Compare With Ctrl+D Compare the selected file or directory with another file or directory. See Compare files, folders, and text sources and Diff Viewer for folders.
Compare File with Editor Compare the selected file with the file open on an active editor tab. See Compare files, folders, and text sources and Diff Viewer for files.
External Tools Launch a third-party tool.
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.For more information about the categories for directories, refer to Content root.
Diagrams Ctrl+Alt+Shift+U or Ctrl+Alt+U 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.

You can configure VCS file status colors on the Version Control | File Status Colors settings page 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 .
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 .
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: gray #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 has not 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 .
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 .
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 .
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 has not 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 .
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 .
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: gray #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 has not 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 .
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 .
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 .
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 has not 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 .
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 .
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 has not 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 .
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 .
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 .
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 has not 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 the editor tabs and search results

Last modified: 14 April 2025