Terminal settings
Use this page to customize the settings of the embedded terminal emulator.
Enable the Terminal plugin
This functionality relies on the Terminal plugin, which is bundled and enabled in PyCharm by default. If the relevant features are not available, make sure that you did not disable the plugin.
Press Ctrl+Alt+S to open settings and then select
.Open the Installed tab, find the Terminal plugin, and select the checkbox next to the plugin name.
New Terminal
Starting with the 2024.1 release, a beta version of the new terminal is available in PyCharm.
- Enable New Terminal
Select it to enable the new terminal.
- Prompt style
Select a prompt style for the new terminal:
IDE single-line prompt: show the input at the same line as the prompt.
IDE double-line prompt: show the input below the prompt (default behavior).
Shell prompt (PS1): use the prompt style configured in your shell.
Project Settings
These settings affect the terminal only for the current project:
- Start directory
Specify the working directory where every new shell session should start. By default, it starts in the root directory of the current project.
- Environment variables
Specify custom environment variables for every new shell session.
Application Settings
These settings affect the terminal in any project that you open with the current PyCharm instance:
- Shell path
Specify the shell that will run by default. PyCharm should automatically detect the default shell based on your environment. Here are some examples of different shells:
Bash:
/bin/bash
Z shell:
/bin/zsh
Bash for Windows:
bash.exe
WSL:
wsl.exe
PowerShell:
powershell
Command Prompt:
cmd.exe
Cygwin:
"C:\cygwin\bin\bash.exe" --login -i
- Default tab name
Specify the default name for new tabs.
- Audible bell
Play the bell sound on various events.
- Close session when it ends
Close the current session when the corresponding process ends (for example, by
kill
).- Mouse reporting
Enable the mouse pointer support in the embedded local terminal.
- Copy to clipboard on selection
Copy text selected in the terminal to the clipboard.
- Paste on middle mouse button click
Paste clipboard contents by clicking the middle mouse button.
- Override IDE shortcuts
Use shell-specific shortcuts instead of IDE shortcuts when the Terminal tool window is active.
Click Configure terminal keybindings to open the Keymap settings page and configure the shortcuts that are available in the Terminal tool window under Plugins | Terminal. For example, Switch Focus to Editor is mapped to Escape by default, which means that if you don't override the IDE shortcuts, Escape will switch focus from the terminal to the editor.
- Shell integration
Integrate the terminal with the system shell to properly keep track of your command history for sessions and load a custom config file with required environment variables.
Shell integration works for
sh
,bash
,zsh
, andfish
shells.- Highlight hyperlinks
Highlight HTTP links in the terminal and make them clickable.
- Use Option as Meta key
On macOS, use the Option key as the Meta key.
- Run Commands using IDE
Detect and highlight commands that can be used as IDE features instead of running them in the terminal and reading console output.
When enabled, instead of pressing Enter, which runs the command in the terminal, press Ctrl+Enter to open the corresponding GUI element.
- Cursor shape
Select the shape of the cursor: block, underline, or vertical.
- Activate virtualenv
For the Python interpreter being a virtual environment, with this checkbox selected, the virtual environment is automatically activated (
activate
is performed automatically).
The embedded terminal emulator also inherits the following IDE settings:
On the Keymap settings page, you can configure the copy Ctrl+C and paste Ctrl+V shortcuts.
On the Terminal does not inherit the Use block caret option because there is a separate option for that: Cursor shape.
page, you can configure blinking frequency for the caret. TheOn the
page, you can configure line spacing and fonts.On the
page, you can configure font colors.On the
page, you can configure the selection foreground and background colors.