Services tool window
The Services tool window enables you to manage various services that help you during software development, such as run/debug configurations, application servers, 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:
Service 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.
Application servers
All types of application server run/debug configurations are available in the Services tool window by default. Create an application server configuration, and it will be available in the list of services.
Icon | Action | Description |
---|---|---|
Run Ctrl+Shift+F10 | Run the selected application server configuration. | |
Rerun Ctrl+Shift+F10 | Restart the selected application server configuration. | |
Debug ⌃ ⇧ D | Debug the selected application server configuration. | |
Stop Ctrl+F2 | Stop the selected application server configuration. | |
Deploy All | Deploy all artifacts of the selected application server configuration. | |
Artifacts | Configure which artifacts to deploy for the selected application server configuration. | |
Update Running Application Ctrl+F10 | Update a running application after modifying the source code. |
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, refer to Sessions.
![Database services in the Services tool window Database services in the Services tool window](https://resources.jetbrains.com/help/img/idea/2024.2/db_services_tool_window_database_services.png)
Left toolbar controls
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.) |
Icon | Action and shortcut | Description |
---|---|---|
| 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. | |
Restore Default Layout | Restore default positions of visual elements in the tool window. |
Context menu
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. |
Icon | Action and shortcut | Description |
---|---|---|
| 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. | |
Restore Default Layout | Restore default positions of visual elements in the tool window. | |
Rename Session Shift+F6 | Display the Rename Session '<session_name>' dialog where you can specify a name for a session. | |
Close Session | Close the selected 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. |
Icon | Action and shortcut | Description |
---|---|---|
| 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. | |
Restore Default Layout | Restore default positions of visual elements in the tool window. | |
Attach 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. |
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
and select Docker Connection.
Configure the docker connection settings in the New Docker Connection dialog.
Main Docker node
These are the main actions for working with the selected Docker connection:
Icon | Action | Description |
---|---|---|
Connect | Connect to the Docker daemon and list all available images and containers. | |
Disconnect | Disconnect from the Docker daemon. | |
Edit Configuration | Edit the Docker connection settings. | |
Deploy | Select an existing Docker run configuration or create a new one. For more information, refer to Docker containers | |
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.
Icon | Action | Description |
---|---|---|
Clean Up | Remove all stopped containers. |
When you select a container, the following actions are available:
Icon | Action | Description |
---|---|---|
Start Container | Run the selected container. | |
Stop Container | Stop the selected container. | |
Delete Container | Delete the selected 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:
- Show Files
Open a tab with the file browser for the running container.
For more information, see Browse files in a container.
- Inspect
Run
docker inspect
on the container and show the output on a separate tab.For more information, see View detailed information about a running container.
- Copy Image ID
Copy the hash ID of the image used to run this container
- Copy Container ID
Copy the hash ID of the container.
Images
This node lists all images managed by the corresponding Docker daemon.
Icon | Action | Description |
---|---|---|
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 unused images. |
When you select an image, the following actions are available:
Icon | Action | Description |
---|---|---|
Create Container | Create a Docker container from the selected image. | |
Delete Image | Remove the selected image. | |
Copy Docker Image | Copy an image from one Docker daemon to another. For more information, refer to Copy image to another Docker daemon. | |
Push Image | Push an image to a Docker registry. For more information, refer to Push an image to a Docker registry. |
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.
It also includes some useful actions for the selected image:
Action | Description |
---|---|
| Create a Docker container from the selected image. |
| Push an image to a Docker registry. For more information, refer to Push an image to a Docker registry. |
| Open a tab that shows the layers (intermediate internal untagged images) from which the selected image consists. |
Click to open a menu with some additional actions:
Action | Description |
---|---|
Copy Image ID | Copy the hash ID of the selected image. |
Inspect | Run |
Show Labels | Open a tab with the image's labels. |
Networks
This node lists all networks managed by the corresponding Docker daemon.
Icon | Action | Description |
---|---|---|
Create Network | Create a Docker network for your containers to operate. | |
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.
Icon | Action | Description |
---|---|---|
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:
Icon | Action | Description |
---|---|---|
Delete Volume | 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.
It also includes some useful actions for the selected volume:
Action | Description |
---|---|
| Run |
| Remove the selected volume. |
Click to open a menu with some additional actions:
Action | Description |
---|---|
Show Labels | Open a tab with the volume's labels. |
Main Docker Compose node
Icon | Action | Description |
---|---|---|
Deploy | 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. | |
Edit Configuration | Edit the selected Docker Compose run configuration. | |
Filter | Choose whether you want to show or hide containers that are not running and images with no tags. |
Docker Compose services
Icon | Action | Description |
---|---|---|
Start | Start all containers for the selected service. | |
Stop | Stop all containers for the selected service. | |
Scale | Change the number of containers for the selected service. | |
Delete Container | Delete the selected container. | |
Filter | Choose whether you want to show or hide containers that are not running and images with no tags. |
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, cloud provider, 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.