PyCharm 2021.1 Help

Services tool window

The Services tool window includes various services that help you during software development: run/debug configurations, database sessions, Docker connections, and so on. Plugin developers can add other services through the IntelliJ platform API.

Main toolbar

The main toolbar contains the following buttons and menus that are common for all service types:

IconActionDescription
The Expand All buttonExpand All Ctrl+NumPad +Expand all items in the list.
The Collapse All buttonCollapse All Ctrl+NumPad -Collapse all items in the list.
The Group By menuGroup By

Choose how you want to organize the list of services.

The Filter menuFilterChoose how you want to filter the list of services.
The Open in New Tab buttonOpen in New TabMove the selected items to a separate tab.
The Add Service menuAdd Service Alt+InsertChoose a service type to add.

Run/debug configurations

Run/debug configurations are not listed in the Services tool window by default. You need to explicitly specify the types of configurations you want to be available and create the corresponding configurations.

Add Run/Debug configurations to the Services window

  1. Select View | Tool Windows | Services from the main menu or press Alt+8.

  2. In the Services tool window, click Add service, then select Run Configuration Type.

    Services tool window: Add run configuration
  3. Select a run/debug configuration type from the list to add all configurations of this type to the window.

    Note that the tool window will only display the configuration types for which you have created one or more configurations.

Buttons on the toolbar depend on the selected type of the run/debug configuration.

IconActionDescription
The Run buttonRun Ctrl+Shift+F10Run the selected configuration.
The Debug buttonDebug Ctrl+Shift+DDebug the selected configuration.
The Stop buttonStop Ctrl+F2Stop the selected configuration.

Database service

In the database service, you can manage your sessions and connections. Connection is a physical communication channel and session is a state of information exchange. For example, if you surf a social network, your connection log might have thousands of connection entries between a client and a server while a session log might show you only a single log entry with the number of bytes transferred.

For more information about managing database sessions, see Run database code.

Left toolbar

IconActionDescription
TxTx Mode and Tx Isolation

Choose the isolation level for database transactions and the way transactions are committed.

  • Auto: each statement is executed in its own transaction that is implicitly committed.

  • Manual: transactions are committed and rolled back manually.

The Commit buttonCommit Ctrl+Alt+Shift+EnterCommit the current transaction.
The Rollback buttonRollbackRoll back the last transaction.
The Cancel Running Statements buttonCancel Running Statements Ctrl+F2Terminate the execution of the current statement.
The Restore Default Layout buttonRestore Default Layout Ctrl+F2Restore default positions of visual elements in the Service view.
The Jump to Console buttonJump to Console Ctrl+Shift+F10

Open the Consoles popup. In the Consoles popup, you can select a query console that you want to open in the editor.

The Disconnect buttonDisconnect Ctrl+F2

(For data sources) Close a connection to the selected data source.

The Disconnect buttonCancel Running Statements Ctrl+F2

(For sessions and attached files) Close a connection to the selected data source.

Data sources

IconActionDescription
The Jump to Console buttonJump to Console Ctrl+Shift+F10

Open the Consoles popup. In the Consoles popup, you can select a query console that you want to open in the editor.

The Disconnect buttonDisconnect Ctrl+F2

Close a connection to the selected data source.

Close All Sessions

Close all opened sessions to a data source.

The Show in New Tab buttonShow in New TabMove the selected items to a separate tab.
Open Each in New TabSplit the selected items into separate tabs.
Open Each Tab in New TabCreate separate tabs for each type of service.
Delete Delete

Close all opened sessions to a data source. Identical to Close All Sessions.

Sessions

IconActionDescription
TxTx Mode and Tx Isolation

Choose the isolation level for database transactions and the way transactions are committed.

  • Auto: each statement is executed in its own transaction that is implicitly committed.

  • Manual: transactions are committed and rolled back manually.

The Commit buttonCommit Ctrl+Alt+Shift+EnterCommit the current transaction.
The Rollback buttonRollbackRoll back the last transaction.
The Disconnect buttonCancel Running Statements Ctrl+F2

Stop execution of running statements.

The Restore Default Layout buttonRestore Default Layout Ctrl+F2Restore visual elements of are arranged.
Rename SessionDisplay the Rename dialog where you can specify a name for a session.
Close SessionClose the selected session.
The Show in New Tab buttonShow in New TabMove the selected items to a separate tab.
Open Each in New TabSplit the selected items into separate tabs.
Open Each Tab in New TabCreate separate tabs for each type of service.
Delete Delete

Close all opened sessions to a data source. Identical to Close All Sessions.

SQL files

IconActionDescription
TxTx Mode and Tx Isolation

Choose the isolation level for database transactions and the way transactions are committed.

  • Auto: each statement is executed in its own transaction that is implicitly committed.

  • Manual: transactions are committed and rolled back manually.

The Commit buttonCommit Ctrl+Alt+Shift+EnterCommit the current transaction.
The Rollback buttonRollbackRoll back the last transaction.
The Disconnect buttonCancel Running Statements Ctrl+F2

Stop execution of running statements.

The Restore Default Layout buttonRestore Default Layout Ctrl+F2Restore visual elements of are arranged.
Switch SessionDisplay the Sessions popup where you can select or create a new session and connect to it.
Detach Session

Detach the selected file from the current session. To attach the file to a session, open the file in the editor, and select the session in the sessions list.

Detach a session
The Show in New Tab buttonShow in New TabMove the selected items to a separate tab.
Open Each in New TabSplit the selected items into separate tabs.
Open Each Tab in New TabCreate separate tabs for each type of service.
Delete Delete

Close all opened sessions to a data source. Identical to Close All Sessions.

the Jump to Source buttonJump to Source F4

Open the file in the editor.

Docker

This type of service is available if you have configured connection settings for at least one Docker instance. For more information, see Enable Docker support.

Add a Docker connection

  1. Click the New Service menu and select Docker Connection.

  2. Configure the docker connection settings in the New Docker Connection dialog.

Main Docker node

IconActionDescription
The Connect buttonConnectConnect to the Docker daemon and list all available images and containers.
The Disconnect buttonDisconnectDisconnect from the Docker daemon.
The Edit Configuration buttonEdit ConfigurationEdit the Docker connection settings.
The Deploy buttonDeploySelect an existing Docker run configuration or create a new one. For more information, see Running containers
The Pull Image buttonPull ImagePull an image from a Docker registry. For more information, see Pull an image from a Docker registry.
The Filter buttonFilterChoose whether you want to show or hide containers that are not running and images with no tags.

Containers

IconActionDescription
The Start Container buttonStart ContainerRun the selected container.
The Stop Container buttonStop ContainerStop the selected container.
The Delete Container buttonDelete ContainerDelete the selected container.
The Filter buttonFilterChoose whether you want to show or hide containers that are not running and images with no tags.

Images

IconActionDescription
The Pull Image buttonPull ImagePull an image from a Docker registry. For more information, see Pull an image from a Docker registry.
The Create Container buttonCreate ContainerCreate a Docker container from the selected image.
The Delete Image buttonDelete ImageRemove the selected image.
The Push Image buttonPush ImagePush an image to a Docker registry. For more information, see Push an image to a Docker registry.
The Filter buttonFilterChoose whether you want to show or hide containers that are not running and images with no tags.

Main Docker Compose node

IconActionDescription
The Deploy buttonDeployDeploy your selected Docker Compose services using the associated run/debug configuration. For more information, see Docker Compose
The Stop buttonStopStop all containers in the selected Docker Compose services.
The Down buttonDownStop and remove all containers in the selected Docker Compose services, including all related networks, volumes, and images.
The Edit Configuration buttonEdit ConfigurationEdit the selected Docker Compose run configuration.
The Filter buttonFilterChoose whether you want to show or hide containers that are not running and images with no tags.

Docker Compose services

IconActionDescription
The Start buttonStartStart all containers for the selected service.
The Stop buttonStopStop all containers for the selected service.
The Scale buttonScaleChange the number of containers for the selected service.
The Delete Container buttonDelete ContainerDelete the selected container.
The Filter buttonFilterChoose whether you want to show or hide containers that are not running and images with no tags.

Kubernetes

This type of service is available if:

  • The Kubernetes plugin is installed and enabled. For more information about the Kubernetes integration in PyCharm, see Kubernetes.

  • PyCharm detects a Kubernetes cluster configuration file. By default, this is a file named config in the $HOME/.kube directory. You can specify other kubeconfig files by setting the KUBECONFIG environment variable. For more information about kubeconfig files, see Organizing Cluster Access Using kubeconfig Files.

The Kubernetes node in the Services tool window lists the resources of the Kubernetes cluster in the selected context.

For more information, see Configure Access to Multiple Clusters.

IconActionDescription
The Refresh buttonRefreshRefresh information from the Kubernetes cluster.
The Namespace menuNamespaceSelect a namespace to filter the listed resources of the cluster.
The Context menuContextSelect the Kubernetes context displayed in the Services tool window. This does not change the context of the running Kubernetes cluster.
The Refresh Configuration buttonRefresh ConfigurationRead the Kubernetes cluster configuration from the kubeconfig file.
The Show Settings buttonShow Settings

Open the Kubernetes cluster settings where you can change the path to the kubeconfig file.

You can select the Set this path only for the current project checkbox on the settings page to use different configuration files in different projects.

The Load YAML buttonLoad YAML

View the read-only configuration file of the selected resource from the cluster.

The Delete Resource buttonDelete Resource

Remove the selected resource from the cluster.

The Follow Log buttonFollow LogOutput the log of a container in the selected pod.
The Download Log buttonDownload Log

Save the log of a container in the selected pod to a scratch file and open it in the editor.

Instead of using a scratch file, you can set the path for saving logs or choose the location every time. To configure the download location for pod logs, click The Show Settings button or open Settings/Preferences | Build, Execution, Deployment | Kubernetes.

The Open Console buttonOpen ConsoleAttach to the console of the process running inside a container of the selected pod.
The Run Shell buttonRun Shell

Run an interactive shell for the container in the selected pod.

By default, PyCharm runs /bin/bash. To run a different shell, click The Show Settings button or open Settings/Preferences | Build, Execution, Deployment | Kubernetes and specify the shell that your pods use.

Productivity tips

Use tabs

The Services tool window can include a lot of services, which you can group according to their type or create separate tabs for your own custom grouping. For example, you can create a tab that will include the following: the run configuration for the application that you are developing, the Docker container that runs the database used as a backend for your application, and a console for accessing the database.

Hide the services tree

Click The Show Options Menu button in the right part of the Services tool window toolbar and then click Show Services Tree to remove the checkbox. You can also press Ctrl+Shift+T to toggle the services tree.

If you hide the services tree, it is replaced by a services navigation bar. Press Alt+Home to focus the services navigation bar.

Hide, remove, and delete services

Right-click any service and select Delete Delete to completely remove the corresponding run configuration, Docker connection, and so on.

If you don't want to show run/debug configurations of a certain type in the Services tool window, right-click the corresponding configuration and select Remove Configuration Type from Services. This will not remove the actual configuration.

To hide a specific run configuration from the Services tool window, right-click the corresponding configuration and select Hide Configuration. To see all hidden run configurations, click the Add Service menu and select Restore Hidden Configurations.

Last modified: 19 May 2021