Services tool window
The Services tool window enables you to manage various services that help you during software development, such as run/debug configurations, database sessions, and Docker connections. Plugin developers can add other services through the IntelliJ platform API.
The main toolbar contains the following buttons and menus that are common for all service types:
Expand All Ctrl+NumPad +
Expand all items in the list.
Collapse All Ctrl+NumPad -
Collapse all items in the list.
Group By
Choose how you want to organize the list of services:
Group Services by Type: arrange services by type, such as Run Dashboard, Docker, or Database
Service Groups: arrange services by group, such as a build tool or a data source name
Filter
Choose how you want to filter the list of services.
Open in New Tab
Move the selected items to a separate tab.
Add Service Alt+Insert
Choose a service type to add.
Configure Services tool window
You can adjust the layout of the Services tool window by moving services to their own separate tool windows (right-click a service and select Open in New Tab).
You can also configure it in a dedicated dialog.
In the Services tool window, click and select Configure Services Tool Window.
Alternatively, press Ctrl+Shift+A and start typing Configure Services Tool Window.
Use the Exclude and Include buttons to move services from the Services tool window to a separate tool window and vice versa. Configurations from the Run/Debug section don't have their own tool windows — instead, they appear in the Run or Debug tool window when they are not included in the Services tool window.
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
Select
from the main menu or press Alt+8.In the Services tool window, click Add service, then select Run Configuration Type.
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 and can include the following:
Run Ctrl+Shift+F10
Run the selected configuration.
Debug ⌃ ⇧ D
Run the selected configuration in Debug mode.
Stop Ctrl+F2
Stop the selected configuration.
Rerun Ctrl+Shift+F10
Rerun the selected configuration.
Rerun in Debug Mode ⌃ ⇧ D
Rerun the selected configuration in Debug mode.
Filters
Filter the output for the selected configuration. For example, you can select to show warnings and successful steps.
More
Additional actions related to the configuration. For example, you can open and modify the settings of the selected configuration.
Database service
Left toolbar
Buttons on the toolbar depend on the selected item and can include the following:
Icon | Action and shortcut | Description |
---|---|---|
Jump to Query Console Ctrl+Shift+F10 | Open the Query Consoles popup. In the Query Consoles popup, you can select a query console that you want to open in the editor. | |
Deactivate Ctrl+F2 | Close the database connection for the selected data source or data sources. (The data sources with connected sessions are indicated with a green dot in the corner of their icon.) | |
| Transaction Mode and Transaction Isolation | Select the isolation level for database transactions and the way the transactions are committed.
For more information about database transaction modes and isolation, refer to Submit changes to a database. |
Commit | (For the Manual transaction mode.) Commit the current transaction. This button is available only for the manual transaction mode. See also, transaction mode and isolation. | |
| Roll back | (For the Manual transaction mode.) Roll back changes. This button is available only for the manual transaction mode. See also, transaction modes and isolation. |
Cancel Running Statements Ctrl+F2 | Terminate execution of the current statement or statements. |
Context menu
Actions of the context menu depend on the selected item and can include the following:
Icon | Action and shortcut | Description |
---|---|---|
Jump to Query Console Ctrl+Shift+F10 | Open the Query Consoles popup. In the Query Consoles popup, you can select a query console that you want to open in the editor. | |
Deactivate Ctrl+F2 | Close the database connection for the selected data source or data sources. (The data sources with connected sessions are indicated with a green dot in the corner of their icon.) | |
Close All Sessions | Close all opened sessions to a data source. | |
Open in New Tab | Move the selected items to a separate tab. | |
Open Each in New Tab | Split the selected items into separate tabs. | |
Open Each Type in New Tab | Create separate tabs for each type of service. | |
Delete Delete | Close all opened sessions to a data source. Identical to Close All Sessions. | |
| Transaction Mode and Transaction Isolation | Select the isolation level for database transactions and the way the transactions are committed.
For more information about database transaction modes and isolation, refer to Submit changes to a database. |
Commit | (For the Manual transaction mode.) Commit the current transaction. This button is available only for the manual transaction mode. See also, transaction mode and isolation. | |
| Roll back | (For the Manual transaction mode.) Roll back changes. This button is available only for the manual transaction mode. See also, transaction modes and isolation. |
Cancel Running Statements Ctrl+F2 | Terminate execution of the current statement or statements. | |
Close Session | Close the selected session. | |
Switch session | Attach the selected file to one of the available sessions. To detach the file from a session, open the file in the editor, click the <session> list and select Detach Session. | |
Open in New Tab | Move the selected items to a separate tab. | |
Open Each in New Tab | Split the selected items into separate tabs. | |
Open Each Type in New Tab | Create separate tabs for each type of service. | |
Delete Delete | Close all opened sessions to a data source. Identical to Close All Sessions. | |
Jump to Source F4 | Open the file in the editor. |
Output tab
Use the Output tab of Services tool window to view information about SQL statements and other operations that you performed in a query console. Also, the Output tab displays information about errors, timestamps, affected rows, query duration, the autocommit mode, and other operations.
Right toolbar
Item | Tooltip | Description |
---|---|---|
Soft-Wrap | Wrap long lines of text. | |
Scroll to End | Scroll the output log to the end. | |
Print a query console file, a selected text, or all the files in a directory. | ||
Clear All | Clear the Output tab. |
Context menu
Item | Description |
---|---|
Copy | Copy the selected text. |
Copy Path/Reference | Copy a reference link to a file or a line. |
Compare with Clipboard | Open the Clipboard vs Editor dialog where you can see the diff between the selected text and the text that you copied to a clipboard. |
Search with Google | Open a browser and run a search on Google for the selected text. |
Fold Lines Like This | Fold the lines that include the selected text. |
Pause Output | Pause the output logging. |
Clear All | Clear the output log. |
Result tab
Use the Result tab of Services tool window to see the data that was retrieved from the database in a table format. You can sort, add, edit, and remove data as well as perform other associated table tasks. For more information about working with tables, rows, columns, and cells, refer to Tables.
Most of the functions in the Result tab are accessed by using controls on the toolbar, context menu commands for the data cells, and associated keyboard shortcuts. You can see what other actions with tables you can perform in Tables.
Toolbar controls
Icon | Action and shortcut | Description |
---|---|---|
| First Page Previous Page Ctrl+Alt+Up Change page size Next Page Ctrl+Alt+Down Last Page | Use navigation icons and corresponding commands for switching between pages that show the retrieved data and change the page size. A number of rows that you see on the Result tab are referred to as a result set page. If this number is less than the number of rows that satisfy the query, only a subset of all the rows is shown at a time. If all the rows are currently shown, navigation icons and the corresponding commands are inactive. You can see the limit between the navigation buttons. You can change it here by clicking and selecting the necessary limit or in settings.
To change the size of a result set page, click the Change page size button and select the size. Alternatively, open settings (Ctrl+Alt+S) and navigate to . In the Limit page size to field, type a new size of a result set page. Alternatively, to disable the page size restriction, clear the Limit page size to checkbox. |
Reload Page Ctrl+F5 | Reload data for the table view to synchronize the data that you see in the editor with the contents of the database. Also, use the Reload Page button when you want to apply a new page size limit setting after its change. | |
Update Interval | Select, pause, or disable update interval for the current table. You can also set a custom one. | |
Cancel Running Statements Ctrl+F2 | Terminate execution of the current statement or statements. | |
Add Row Alt+Insert | Add a row to the table. To save a new row, click Submit button (). The Add Row button is disabled in the inappropriate context. For example, if the current table does not permit adding rows. For more information about working with rows, refer to Rows. | |
Delete Row Ctrl+Y | Delete the selected row or rows. To select multiple rows, click numbers in the gutter. Also, you can press Ctrl and click the necessary rows. The Delete Row button is disabled in the inappropriate context. For example, if the current table does not permit removing rows. | |
Revert Selected Ctrl+Alt+Z | Revert changes that you made to a cell value. You can select a scope of different cells and revert values in this scope. For more information about reverting changes, refer to Submit changes to a database. | |
Preview Pending Changes | Preview DML of changes that you made to the table. | |
Submit Ctrl+Enter | Submit local changes to the database server. For more information about submitting and reverting changes, refer to Submit changes to a database. | |
Transaction Mode and Transaction Isolation | Select the isolation level for database transactions and the way the transactions are committed.
For more information about database transaction modes and isolation, refer to Submit changes to a database. | |
Submit and CommitCtrl+Alt+Shift+Enter | (For the Manual transaction mode.) Submit and commit the current transaction. This button is available only for the manual transaction mode. See also, transaction mode and isolation. | |
| Roll Back | (For the Manual transaction mode.) Roll back changes. This button is available only for the manual transaction mode. See also, transaction modes and isolation. |
Pin Tab | Pin the tab to the tool window to keep the query result. For more information about pinning tabs, refer to Pin the tab with query results. | |
Data Extractors | Select an output format for your data. For the list of available formats and full information about data extractors, refer to the Data extractors topic. Also, you can configure the following options:
For more information about data extractors, refer to the Data extractors topic. | |
Export Data | Export the table data to the clipboard or save to a file. | |
Copy to Database | Copy the data to another table, schema or database. Select the target schema (a new table will be created) or table (the data will be added to the selected table). In the dialog that opens, specify the data mapping info and the settings for the target table. | |
Compare Data | Compare the current table with a table from the list. For more information about comparing tables, refer to Compare table data. | |
View as | Select the mode for browsing and editing table data.
For more information about viewing data, refer to View data. | |
Show Options Menu | The Show Options Menu list includes the following options:
|
Context menu
You can find all basic actions for working with cells under the context menu. To call the context menu, right-click the cell that you want to modify. The following table lists all the actions.
Action | Shortcut | Description | |
---|---|---|---|
Edit | Enter | Edit a value in the selected cell or cells. Alternatively, you can double-click the cell and start typing a value. The Edit command is unavailable for read-only values.
For more information about editing cells, refer to Cells. | |
Open in Value Editor | Shift+Enter | Open in a separate value editor where you can edit data that is stored in the cell. For more information about the editor, refer to Value editor. | |
Show Aggregate View | Open the aggregate view where you can select values of multiple cells and get a single summary value. For more information about the view, refer to Aggregate view. | ||
Revert Selected | Ctrl+Alt+Z | Revert changes that you made to a cell value. You can select a scope of different cells and revert values in this scope. For more information about reverting changes, refer to Submit changes to a database. | |
Set Highlighting Language | Select a language that the IDE should use to highlight data in a cell. | ||
Change Display Type | Select how the IDE should display binary data in the column. 16-byte data is displayed as UUID by default. | ||
Set DEFAULT | Ctrl+Alt+D | Set the current cell value to the default value or the value that you specified for the column. For more information about viewing or set a default value, refer to Manage default and NULL values for a cell. | |
Set NULL | Ctrl+Alt+N | Set the current cell value to NULL. For more information about allowing a NULL value, refer to Manage default and NULL values for a cell. | |
Generate UUID | Generates the UUID for the selected cell. | ||
Load File | Load a file into the field. | ||
Save LOB | For the cells that contain a binary large object (LOB). Save content of a cell into a file. | ||
Copy | Ctrl+C | Copy selection to the clipboard. | |
Copy Aggregation Result (SUM) | Copy a summary value for a range of cells. By default, PyCharm copies the | ||
Paste | Ctrl+V | Paste the contents of clipboard into the table. | |
Add Row | Add a row to the end of a table. | ||
Delete Row | Alt+Delete | Delete selected rows. | |
Clone Row | Create a duplicate of the selected row and adds the duplicate to the end of a table. | ||
Go To | Navigation Bar | Jump to a navigation bar. | |
Database | Open the selected object in the Database tool window. | ||
Related Symbol | Navigate to one of the related objects. | ||
DDL | Open an object definition (DDL). | ||
Row | Ctrl+G | Jump to a specified row. In the Go to Row dialog, specify the column and row number (use the | |
Related Rows | F4 | Navigates to the related records:
If more than one record is referenced or referencing the current one, select the target record in the popup that appears. The action is not available if there are no related records. For more information about related data, refer to Navigate between related rows. For more information about action behavior options, refer to Advanced Settings. | |
Open URL | F4 | Opens URL in OS default browser. Requires the links opening URL Click Settings enabled in the Tools | Database | Data Editor and Viewer page of settings Ctrl+Alt+S. | |
Open File | F4 | Open file URI in OS default file browser. For example, Requires the links opening URL Click Settings enabled in the Tools | Database | Data Editor and Viewer page of settings Ctrl+Alt+S. | |
Filter by | Select a filter that you want to a column. | ||
Full-Text Search | Ctrl+Alt+Shift+F | Open a search window where you can search for data in your database or a group of databases. For more information about full-text search, refer to Full-text search in databases. | |
Export Table to Clipboard | Copy the whole table to the clipboard. This action does not depend on Limit page size to setting. | ||
Switch Session | Open a window to select another session or create a new one. For more information about sessions, refer to Sessions. | ||
Quick Documentation | Ctrl+Q | Show information about selected objects. For different database objects, Quick Documentation shows corresponding information. For example, for a group of cells, you will see a summary for the selection. You can preview it in a regular or in a transposed view and also see the related records by their foreign keys. |
Docker
This type of service is available if you have configured connection settings for at least one Docker instance. For more information, refer to Connect to the Docker daemon.
Add a Docker connection
Click Add Service and select .
Configure the Docker connection settings and click OK.
For more information, refer to Docker connection settings.
Main Docker node
These are the main actions for working with the selected Docker connection:
- Connect Ctrl+Enter
Connect to the selected Docker daemon and list all available images and containers.
- Disconnect
Disconnect the selected Docker daemon.
- Edit Configuration Shift+F4
Edit the selected Docker connection settings.
- Delete Connections
Delete the connection to the selected Docker daemon.
- Pull Image
Pull an image from a Docker registry. For more information, refer to Pull a public image from Docker Hub.
- Clean Up
Remove all stopped containers, unused volumes and networks, dangling images, and all build caches.
Containers
This node lists all containers managed by the corresponding Docker daemon.
- Clean Up
Remove all stopped containers.
When you select a container, the following actions are available:
- Start
Run the selected container.
- Restart
Restart the selected container.
- Stop
Stop the selected container.
- Terminal
Open a tab with the Terminal in the selected container.
You can choose between creating a Terminal with the current container user privileges or log in with
root
user privileges.
More actions are available under the menu:
- Show Files
Open the Files tab to browse the file system of the container.
For more information, refer to Browse files in a container.
- Inspect
Open the Inspection tab with detailed information about the container in JSON format.
For more information, refer to View detailed information about a running container.
- Copy Image ID
Copy the ID of the image that was used to run this container.
- Copy Container ID
Copy the ID of the container.
Container dashboard
The Dashboard tab provides important information about the selected container:
Name and hash ID of the container. You can click the image name to highlight the image that was used to run the selected container.
Names and values of environment variables defined in the container.
Ports mappings between the container and the host.
Volume bindings between the container and the host.
Click Add to add a new variable, port binding, or volume binding, and recreate the container.
Click to open a menu with some additional actions:
Images
This node lists all images managed by the corresponding Docker daemon.
Type the image name in the Image to pull field and click Pull to pull a new image from a configured Docker registry. For more information, refer to Pull a public image from Docker Hub.
When you select an image, the following actions are available:
- Create Container
Create a Docker container from the selected image.
- Show Layers
Open the Layers tab that shows the layers (intermediate internal untagged images) from which the selected image consists.
- Push Image
Push an image to a Docker registry. For more information, refer to Push an image to a Docker registry.
More actions are available under the menu:
- Copy Image ID
Copy the hash ID of the selected image.
- Inspect
Open the Inspection tab with detailed information about the image in JSON format.
For more information, refer to the docker inspect command reference.
- Show Labels
Open the Labels tab with the image's labels.
Image dashboard
The Dashboard tab provides important information about the selected image:
Name, hash ID, date of latest changes, and size of the image.
List of tags that point to the image.
List of existing containers created from this image.
Networks
This node lists all networks managed by the corresponding Docker daemon.
- Create Network
Create a Docker network for your containers to operate in.
- Clean Up
Remove all unused networks.
Network dashboard
The Dashboard tab provides important information about the selected network:
Name and hash ID of the network.
List of containers connected to this network.
List of labels assigned to this network.
Click Inspect to run docker inspect
on the selected network and output it to a separate tab.
Volumes
This node lists all volumes managed by the corresponding Docker daemon.
- Create Volume
Create a Docker volume for your containers to use.
- Clean Up
Remove all unused volumes.
When you select a volume, the following actions are available:
- Inspect
Open the Inspection tab with detailed information about the volume in JSON format.
For more information, refer to the docker inspect command reference.
- Remove
Remove the selected volume.
Volume dashboard
The Dashboard tab provides important information about the selected volume:
Name or hash ID of the volume.
List of containers that use this volume.
List of this volume's labels.
Docker Compose
- Start All
Deploy your selected Docker Compose services using the associated run/debug configuration. For more information, refer to Docker Compose.
- Stop
Stop all containers in the selected Docker Compose services.
- Down
Stop and remove all containers in the selected Docker Compose services, including all related networks, volumes, and images.
Kubernetes
This type of service is available if:
The Kubernetes plugin is installed and enabled. For more information about the Kubernetes integration in PyCharm, refer to 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 theKUBECONFIG
environment variable. For more information about kubeconfig files, refer to Organizing Cluster Access Using kubeconfig Files.
By default, the Services tool window shows the current cluster context taken from the default kubeconfig file. You can add more clusters to this tool window.
Icon | Action | Description |
---|---|---|
Refresh | Refresh information from the Kubernetes cluster. | |
Namespace | Select a namespace to filter the resources available in the cluster. | |
New Kubernetes Contexts | Add a Kubernetes cluster as a node in the Services tool window. | |
Connect Telepresence | Connect to a cluster using Telepresence (available if a cluster is selected). | |
View YAML | In the opened file, the following actions are available:
| |
Describe Resource | Display detailed information about the selected resource, similarly to the | |
Delete Resource | Remove the selected resource from the cluster. | |
Follow Log | Output the log of a container in the selected pod. | |
Download 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 or open Settings | Build, Execution, Deployment | Kubernetes. | |
Open Console | Attach to the console of the process running inside a container of the selected pod. | |
Run Shell | Run an interactive shell for the container in the selected pod. By default, PyCharm runs | |
Forward Ports | Forward one or more local ports to remote ports in a pod. For example:
Fore more examples on port forwarding, refer to the Kubernetes documentation. |
Dev Containers
This service becomes available when you start a Dev Container from the opened IDE. For more information, refer to Create Dev Container from the IDE.
Besides the regular Services tool window actions, you can use the Dev Container specific ones to manage your containers.
Action | Description |
---|---|
Connect | After your Dev Container is built, you can use this action to connect to your created or existed container. |
Restart | Use this action to rebuild a Dev Container. |
Stop | Use this action to stop running the Dev Container. |
Click to open a menu with some additional actions:
Action | Description |
---|---|
Terminal | Use this option to open the terminal session inside the selected Dev Container. |
Show Files | Use this option to display a list of files and directories located in the selected Dev Container. |
Inspect | Use this option to display the information of the selected Dev Container. |
Copy Image ID | This option copies the ID of the selected Dev Container image. |
Copy Container ID | This option copies the ID of the selected Dev Container. |
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 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 and select Restore Hidden Configurations.