PyCharm 2023.3 Help

Advanced Settings

Besides standard settings that you frequently use, PyCharm offers various advanced options that you can use to fine-tune the behavior of the specific product functionality.

Since the advanced settings consist of different sections, you can use the search field to quickly navigate to the section of interest or the needed option. You can also search for registry keys since some of the advanced options have associated registry keys.




Show only line bookmarks in popup

By default, PyCharm shows only line bookmarks in the bookmarks popup (Shift+F11 or Edit | Bookmarks | Show Line Bookmarks). Disable this option if you want to see other bookmarked items in the popup, for example, files or folders. For more information, refer to Bookmarks.

Build Tools. Gradle



Download sources

By default, PyCharm doesn't download sources for the project dependencies on the intial project sync.

Select this option to change the project's behaviour and always download sources for dependencies during the importing process.




Maximum number of recent expressions

The number of expressions to be saved in the Evaluate expression history.

Dev Containers



Enable Creating Dev Containers from the Gateway (Remote Development) Welcome screen

Use this option to create dev containers from the JetBrains Gateway or from PyCharm welcome screen.

For more information, refer to Dev Containers.




Connect to Docker automatically at restart

Select to connect to the configured Docker daemon after PyCharm starts.

Image registry entities loading limit

For performance reasons, by default, PyCharm shows only the first 100 images in a Docker registry. Increase this number if you need to list more. This will also increase the memory usage.

The log tab should be the first tab for the docker container

Show the Log tab as the first tab in the container overview pane.

Apply :z mount option to almost any bind volume for SELinux systems

Add :z configuration flags to Docker bind mounts in order to connect volumes to Docker containers on SELinux workstations.


Use this section to configure additional options for working in the editor.



Don't copy/cut the current line when invoking the Copy or Cut action with no selection

This option lets you override the default behavior of copying Control+C or cutting Control+X the whole current line when nothing is selected in the editor.

Don't select the copied line after invoking the Copy action with no selection

By default, when you use Control+C without selecting anything, the whole line gets copied. With this action, you can avoid that selection.

When pasting a line copied with no selection

You can change the default Paste above the caret line behavior, and select either Paste at the caret line that restores the old Copy / Paste behavior or Trim if pasted middle line that will remove the unnecessary spaces before and after the copied line if it is pasted in the middle of the line.

Render special characters, such as control codes, using their Unicode name abbreviations

When this option is selected, you can use the Unicode name abbreviations for special characters, such as control codes.

Show zoom indicator

Use this option to see an indicator that shows the current font size and the option to revert it back to default while zooming your code in or out in the editor.

Tab character rendering

You can select one of the following options:

  • Horizontal line

  • > symbol

  • Long arrow

Left margin in distraction free mode

This option lets you adjust the left editor margin in the distraction-free and zen viewing modes.

By default, the editor text in these viewing modes is centered vertically and the text column width corresponds to the Hard wrap at option on the Editor | Code Style page of the IDE settings Control+Alt+S. This means that if your code will be centered when formatted properly, but if there are long unwrapped lines, the text might go beyond the viewport while there is a large margin on the left. In such cases, you may want to decrease the left margin using this option.

Force soft wrap in documents with lines longer than n characters

The default number is 100000. Increasing this number might negatively affect the editor performance.

Move caret down after Comment with Line Comment action

This option lets you configure whether to move the caret to the next line if you comment a line with a line comment Control+/. Note that if there is a selection in the editor, the caret will not move regardless of this option.

Editor Tabs

Besides the standard editor tabs options that PyCharm offers when you work with tabs in the editor, this section contains extra options that are also available as internal registry actions.



When navigating to a file, prefer selecting existing tab in inactive split pane

When you navigate to a file that is already opened in the inactive split, use this option to activate the existing file in that split pane instead of opening a new copy of the file in the active split.

Open declaration source in the same tab

When you navigate to a method, class or variable, the source file that contains their declaration will replace the current tab if there are no changes.

Open declaration source called from a detached window in the main IDE window

When you navigate to a method, class, or variable from a detached window, PyCharm will open the source file containing the declaration in the main editor.

Perform 'Hide All Tool Windows' / 'Restore Windows' with double-click on editor tab

When this option is enabled, you can double-click editor tabs to hide and restore all tool windows. Alternatively, you can do that by pressing Control+Shift+F12 or by choosing Window | Active Tool Window | Hide All Windows/Restore Windows from the main menu.

Perform 'Maximize Editor' / 'Normalize Splits' with double-click on editor tab

When this option is enabled, you can double-click tabs in split editor tab groups to change relative size of the tab group: the first double click will extend the tab and its group to the maximum and shrink all other groups to the minimum width/height; the second double click will allocate the same width and height for each tab group.

Alternatively, you can choose Window | Editor Tabs | Maximize Editor/Normalize Splits from the main menu or pick these actions from the Find Action popup Control+Shift+A.

This option can work together with Perform 'Hide All Tool Windows' / 'Restore Windows' with double-click on editor tab, but be prepared to have multiple changes in the IDE layout every time you double-click a fie tab.

Equalize proportions in nested splits

Use this option to even the size of multiple horizontal or vertical splits in the editor.

Keep pinned tabs on the left

Always move pinned tabs to the left side of the editor tabs bar. Otherwise, the location of pinned tabs is not defined, and you can move them on the tab bar as necessary.

Find / Replace

Use this section to configure extra options when working with Find and replace in project.



Enable similar usages clustering in Find Usages view

PyCharm analyzes search results, detects the most common usage patterns, and categorizes all found usages into groups based on their structural similarity. These usage clusters appear in the Preview tab.

Maximum number of results to show in Find in Files/Show Usages preview

The default maximum number of results is 100. Increasing this limit might significantly increase memory usage.


Use this section to configure extra options on storing different entities of your project.



Maximum number of recent projects

Use this option to change the default number of stored recent projects, which is 50.

Maximum number of recent files

Use this option to change the default number of stored recent files, which is 50.

Maximum number of recent locations

Use this option to change the default number of stored recent locations, which is 25.

Duration of storing changes in Local History

Use this option to specify the number of days for which you want to keep changes in the local history.




Hide floating toolbar

When you select some text in a Markdown file, PyCharm shows a floating toolbar with various formatting options. Select this checkbox if you don't want to see the floating toolbar, then reopen the tab to apply the changes.

Project View

Use this section to configure additional options for working in Project tool window.



Move focus to editor when Enter is pressed

When this option is selected, you can press Enter while in the Project view to switch focus to the editor.

When collapsing a node, also collapse all expanded nodes under it

When this option is selected, PyCharm collapses subnodes as well as the parent node.

When navigating to a library class, do not select it in the project tree

Do not automatically navigate to library files in the Project tool window even if the Always Select Opened File option is enabled.

You can navigate to library files in the tool window manually: use the Select Opened File App client expui general locate button on the Project tool window toolbar or press Alt+F1 to open the Select In popup.

Increase font size in Project view

Select this option if you want to change the size of font in the Project view. You need to restart PyCharm.




Swap the order of actual and expected assertions in Pytest

By default, PyCharm provides the expected == actual pytest assertion. Select this checkbox to change the order of the assertion parameters to actual == expected.

Pytest: do not add "--no-header --no-summary -q"

Use this checkbox to manage the test output generated by pytest. Select it to keep rendering the header and summary.




Temporary configurations limit

Use this option to change the default number of stored temporary run/debug configurations, which is 5.

Confirm rerun with process termination

When you call rerun for a running process, PyCharm prompts you to confirm the action of terminating the existing process and launching a new one. You can change the default behavior by clearing this checkbox.

Make configurations pinned by default

Select this option to automatically pin tabs that open in the Run tool window after you run configurations.

Maximum number of recent run configurations in the new UI

Specify the number of recent run/debug configurations that will be displayed in the Run widget.




Configuration files parser

Select a parser:

  • Legacy: use the legacy parser for ~/.ssh/config.

  • OpenSSH: use the parser based on ssh -G. OpenSSH must be installed on your computer.

Custom path to an OpenSSH tool

Specify the path to OpenSSH if you have selected the OpenSSH parser.

Search Everywhere



Show text search results in Search Everywhere

Enable text search in Search Everywhere. Results will be displayed on the new Text tab and on the All tab at the bottom of the list.

Wait for all contributors to finish before showing results

Wait for all search contributors to finish their jobs before showing the final search results. This option fixes the position of an item in search results, preventing it from jumping in the list. In case there are slow search contributors, this option might slow down the operation of Search Everywhere.

In the Contributors waiting timeout (ms) field, specify how much time to wait for search contributors to finish their jobs.

Sort results in the Actions tab based on machine learning

By default, the search results on the Actions tab are sorted using machine learning instead of the standard ranking mechanism.

Sort results in the Files tab based on machine learning

By default, the search results on the Files tab are sorted using machine learning instead of the standard ranking mechanism.

Sort results in the All tab based on machine learning

Sort search results on the All tab using machine learning instead of standard ranking mechanism.




Open file if there are no open files on project startup

If you select this option, PyCharm will open a file if there aren't any opened files when you start your project.


Configure advanced settings related to working with the embedded terminal emulator.



Terminal scrollback buffer size

Use this option to increase the buffer size in the terminal.

Move focus to the editor with Escape

When this option is selected, you can use Escape to switch focus from the terminal to the editor.


Enable typeahead in the terminal, which can be useful for remote connections when you expect the typing latency.

Typeahead latency threshold

Turn typeahead on when the terminal latency exceeds the specified value (in milliseconds).

Show application title

Name terminal tabs automatically based on the commands that you run.

Tests Indexing Task

Show indexing of tests as background task

You can monitor and pause/cancel test indexing as any other background task in the Progress bar. This option is enabled by default.

Show tests indexing as a background task after a specified timeout in milliseconds

This option sets the amount time after which test indexing will appear in the Progress bar as a background task.

Tool Windows



Always show tool window header icons in the new UI

By default, the icons in tool window headers (for example, Hide and Options) are displayed only when you hover over a tool window or when a tool window is in focus.

Disable the option to display tool window header icons all the time.

Allow dragging tool windows by header to move to another location

Move tool windows by dragging the title bar.

When the option is disabled, you can move tool windows by dragging tool window bars, using the Move to context menu option or the tool window settings located under the The tool window options menu / Options icon.

User Interface



Show file type icon in IDE frame header

On macOS, the icon can be used to drag a file to a different application.

Use words instead of symbols for macOS keyboard shortcuts

Select this option if you want to see shortcuts with words instead of symbols.

Cyclic scrolling in lists and trees

Select the last element when pressing Up on the first element, and vice versa.

Position mouse cursor on default button in dialogs

When this option is selected, the mouse pointer is placed on the default button (usually it is OK) in a dialog.

Disable double modifier key shortcuts

You can disable shortcuts where a double key is used. For example, Shift or Control.

Version Control



Open Diff as Editor Tab

When this option is selected, the Diff Viewer is displayed as the editor tab.

Load file annotations from VCS when file is opened in editor

When this option is selected, PyCharm loads annotations when you open a file in the editor.

Highlight ignored files

When this option is selected, PyCharm shows the list of ignored files from VCS and displays their status in the editor.

Enable Commit tool window

When you select this option, PyCharm displays the Local Changes and Shelf tabs in a separate tool window.

Toggle commit controls

When this option is selected, PyCharm hides the commit panel and checkboxes after the commit is performed and lets you toggle them in the Commit Changes dialog.

Select all repositories with new commits for push

When this option is selected, PyCharm selects all commits that will be pushed by default.

Version Control. Git



Recursively clone submodules in the project

When this option is selected, during the checkout from Git, git clone --recurse-submodules is used that clones the main repository with all available submodules.

Apply content transformation when reading from Git

When this option is selected, PyCharm will use the --filters or --textconv flags for the git cat-file command when reading the file content from Git.

Use Safe Force Push

When this option is selected, PyCharm uses --force-with-lease when force push is called from the IDE instead of just --force.

Check for incoming and outgoing commits

When this option is selected, PyCharm updates the information on the branches that have incoming or outgoing commits in the Branches popup.

Use Windows certificate store

When this option is selected, it forces Git to use Windows certificate store to verify SSL connections. This works for Git 2.14 and later versions.

Last modified: 10 January 2024