PhpStorm 2024.2 Help

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:

The Expand All button

Expand All Ctrl+NumPad +

Expand all items in the list.

The Collapse All button

Collapse All Ctrl+NumPad -

Collapse all items in the list.

The Group By menu

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

The Open in New Tab button

Open in New Tab

Move the selected items to a separate tab.

The Add Service menu

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.

  1. In the Services tool window, click and select Configure Services Tool Window.

    Alternatively, press Ctrl+Shift+A and start typing Configure Services Tool Window.

  2. 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

  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 and can include the following:

The Run button

Run Ctrl+Shift+F10

Run the selected configuration.

The Debug button

Debug ⌃ ⇧ D

Run the selected configuration in Debug mode.

The Stop button

Stop Ctrl+F2

Stop the selected configuration.

The Rerun button

Rerun Ctrl+Shift+F10

Rerun the selected configuration.

The Rerun in Debug Mode button

Rerun in Debug Mode ⌃ ⇧ D

Rerun the selected configuration in Debug mode.

The Filters menu

Filters

Filter the output for the selected configuration. For example, you can select to show warnings and successful steps.

The More menu

More

Additional actions related to the configuration. For example, you can open and modify the settings of 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, refer to Sessions.

Database services in the Services tool window

Left toolbar controls

Icon

Action and shortcut

Description

The Jump to Console button

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.

the Deactivate icon

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

Tx

Transaction Mode

and

Transaction Isolation

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

  • Auto: the current transaction is committed automatically when you submit your local changes to the database server.

  • Manual: the changes submitted to the database server are accumulated in a transaction that can either be committed or rolled back explicitly by means of the Submit and Commit (the Submit and Commit icon) or Roll Back (the Roll Back button) buttons on the toolbar.

For more information about database transaction modes and isolation, refer to Submit changes to a database.

the Commit icon

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.

the Roll back icon

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.

the Cancel Running Statements icon

Cancel Running Statements

Ctrl+F2

Terminate execution of the current statement or statements.

the Restore Default Layout button

Restore Default Layout

Restore default positions of visual elements in the tool window.

Context menu

Icon

Action and shortcut

Description

The Jump to Console button

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.

the Deactivate icon

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

Tx

Transaction Mode

and

Transaction Isolation

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

  • Auto: the current transaction is committed automatically when you submit your local changes to the database server.

  • Manual: the changes submitted to the database server are accumulated in a transaction that can either be committed or rolled back explicitly by means of the Submit and Commit (the Submit and Commit icon) or Roll Back (the Roll Back button) buttons on the toolbar.

For more information about database transaction modes and isolation, refer to Submit changes to a database.

the Commit icon

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.

the Roll back icon

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.

the Cancel Running Statements icon

Cancel Running Statements

Ctrl+F2

Terminate execution of the current statement or statements.

the Restore Default Layout button

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

Tx

Transaction Mode

and

Transaction Isolation

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

  • Auto: the current transaction is committed automatically when you submit your local changes to the database server.

  • Manual: the changes submitted to the database server are accumulated in a transaction that can either be committed or rolled back explicitly by means of the Submit and Commit (the Submit and Commit icon) or Roll Back (the Roll Back button) buttons on the toolbar.

For more information about database transaction modes and isolation, refer to Submit changes to a database.

the Commit icon

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.

the Roll back icon

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.

the Cancel Running Statements icon

Cancel Running Statements

Ctrl+F2

Terminate execution of the current statement or statements.

the Restore Default Layout button

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.

the Jump to Source button

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

  1. Click The Add Service menu Add Service and select Docker | Connection.

  2. 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:

The Connect button Connect Ctrl+Enter

Connect to the selected Docker daemon and list all available images and containers.

The Disconnect button Disconnect

Disconnect the selected Docker daemon.

The Edit Configuration button Edit Configuration Shift+F4

Edit the selected Docker connection settings.

The Delete Connections button Delete Connections

Delete the connection to the selected Docker daemon.

The Pull Image button Pull Image

Pull an image from a Docker registry. For more information, refer to Pull a public image from Docker Hub.

Delete Connections 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.

Delete Connections Clean Up

Remove all stopped containers.

When you select a container, the following actions are available:

The Start button Start

Run the selected container.

The Restart button Restart

Restart the selected container.

The Stop button Stop

Stop the selected container.

The Terminal button 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 More actions 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.

The Inspect button 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.

The Copy Image ID button Copy Image ID

Copy the ID of the image that was used to run this container.

The Copy Container ID button 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 the More button 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 The Pull button 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:

The Create Container button Create Container

Create a Docker container from the selected image.

The Show Layers button Show Layers

Open the Layers tab that shows the layers (intermediate internal untagged images) from which the selected image consists.

The Push Image button 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 More actions menu:

The Copy Image ID button Copy Image ID

Copy the hash ID of the selected image.

The Inspect button Inspect

Open the Inspection tab with detailed information about the image in JSON format.

For more information, refer to the docker inspect command reference.

The Show Labels button 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.

The Create Network button Create Network

Create a Docker network for your containers to operate in.

The Clean Up button 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.

The Create Volume button Create Volume

Create a Docker volume for your containers to use.

The Clean Up button Clean Up

Remove all unused volumes.

When you select a volume, the following actions are available:

The Inspect button Inspect

Open the Inspection tab with detailed information about the volume in JSON format.

For more information, refer to the docker inspect command reference.

The Delete Volume button 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

The Start All button Start All

Deploy your selected Docker Compose services using the associated run/debug configuration. For more information, refer to Docker Compose.

The Stop button Stop

Stop all containers in the selected Docker Compose services.

The Down button 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 PhpStorm, refer to Kubernetes.

  • PhpStorm 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, 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

The Refresh button

Refresh

Refresh information from the Kubernetes cluster.

The Namespace menu

Namespace

Select a namespace to filter the resources available in the cluster.

the Add Context action

New Kubernetes Contexts

Add a Kubernetes cluster as a node in the Services tool window.

Connect Telepresence

Connect Telepresence

Connect to a cluster using Telepresence (available if a cluster is selected).

The View YAML button

View YAML

In the opened file, the following actions are available:

  • the Apply icon: Apply changes to the current context and namespace.

  • the Delete icon: Delete the resource from the current context and namespace.

  • the Refresh icon: Reload the file content from the cluster

  • the Diff icon: Show the differences between the opened file and the corresponding cluster resource in the diff viewer.

  • Change Context: Change current cluster

The Describe Resource button

Describe Resource

Display detailed information about the selected resource, similarly to the kubectl describe command.

The Delete Resource button

Delete Resource

Remove the selected resource from the cluster.

The Follow Log button

Follow Log

Output the log of a container in the selected pod.

The Download Log button

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 The Show Settings button or open Settings | Build, Execution, Deployment | Kubernetes.

The Open Console button

Open Console

Attach to the console of the process running inside a container of the selected pod.

The Run Shell button

Run Shell

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

By default, PhpStorm runs /bin/bash. To run a different shell, open Settings | Build, Execution, Deployment | Kubernetes and, in the Command to run shell inside container field, specify the shell that your pods use.

The Run Shell button

Forward Ports

Forward one or more local ports to remote ports in a pod.

For example:

  • 7070 — listen on local port 7070 and forward data to/from remote port 7070.

  • :8080 — listen on a random local port and forward data to/from remote port 8080.

  • 8888:5000 — listen on local port 8888 and forward data to/from remote port 5000.

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 the More button 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 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: 11 October 2024