PhpStorm 2022.3 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:

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.

The Filter menu Filter

Choose how you want to filter the list of services.

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.

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.

Icon

Action

Description

The Run button

Run Ctrl+Shift+F10

Run the selected configuration.

The Debug button

Debug Ctrl+Shift+D

Debug the selected configuration.

The Stop button

Stop Ctrl+F2

Stop 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 Managing connection sessions.

Left toolbar

Item

Tooltip 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 Commit (Commit button) or Rollback (Rollback button) buttons on the toolbar.

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

Commit

Commit Ctrl+Alt+Shift+Enter

Commit the current transaction. See also, transaction modes and isolation.

Rollback button

Roll Back

Roll back changes. This button is available only for the manual transaction mode. See also, transaction modes and isolation.

The Cancel Running Statements button

Cancel Running Statements Ctrl+F2

Terminate the execution of the current statement.

The Restore Default Layout button

Restore Default Layout Ctrl+F2

Restore default positions of visual elements in the Service view.

The Jump to Console button

Jump 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 button

Disconnect Ctrl+F2

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

The Disconnect button

Cancel Running Statements Ctrl+F2

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

Data sources

Icon

Action

Description

The Jump to Console button

Jump 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 Deactivate button

Deactivate 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 button

Show 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 Tab 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.

Sessions

Icon

Action

Description

Tx

Tx 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 button

Commit Ctrl+Alt+Shift+Enter

Commit the current transaction.

The Rollback button

Rollback

Roll back the last transaction.

The Disconnect button

Cancel Running Statements Ctrl+F2

Stop execution of running statements.

The Restore Default Layout button

Restore Default Layout Ctrl+F2

Restore visual elements of are arranged.

Rename Session

Display the Rename dialog where you can specify a name for a session.

Close Session

Close the selected session.

The Show in New Tab button

Show 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 Tab 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.

SQL files

Icon

Action

Description

Tx

Tx 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 button

Commit Ctrl+Alt+Shift+Enter

Commit the current transaction.

The Rollback button

Rollback

Roll back the last transaction.

The Disconnect button

Cancel Running Statements Ctrl+F2

Stop execution of running statements.

The Restore Default Layout button

Restore Default Layout Ctrl+F2

Restore visual elements of are arranged.

Switch Session

Display 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 button

Show 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 Tab 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, see Connect to the Docker daemon.

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

These are the main actions for working with the selected Docker connection:

Icon

Action

Description

The Connect button

Connect

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

The Disconnect button

Disconnect

Disconnect from the Docker daemon.

The Edit Configuration button

Edit Configuration

Edit the Docker connection settings.

The Deploy button

Deploy

Select an existing Docker run configuration or create a new one. For more information, see Docker containers

Delete Connections

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, see Pull an image from a Docker registry.

The Clean Up button

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

The Clean Up button

Clean Up

Remove all stopped containers.

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

Icon

Action

Description

The Start Container button

Start Container

Run the selected container.

The Stop Container button

Stop Container

Stop the selected container.

The Delete Container button

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 the More button to open a menu with some additional actions:

Action

Description

Show Log

Open a tab with the log messages from the container's standard output streams: STDOUT and STDERR.

For more information, see the docker logs command reference.

Show Files

Open a tab with the file browser for the running container.

Select any file and click The View in Editor button to open it remotely in the editor or click The Download to Scratches button to create a copy of the file as a scratch.

Inspect

Run docker inspect on the container and output it to a separate tab.

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

The Pull Image button

Pull Image…

Pull an image from a Docker registry. For more information, see Pull an image from a Docker registry.

The Clean Up button

Clean Up

Remove all unused images.

When you select an image, the following actions are available:

Icon

Action

Description

The Create Container button

Create Container

Create a Docker container from the selected image.

The Delete Image button

Delete Image

Remove the selected image.

The Copy Docker Image button

Copy Docker Image

Copy an image from one Docker daemon to another. For more information, see Copy image to another Docker daemon.

The Push Image button

Push Image…

Push an image to a Docker registry. For more information, see 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

The Create Container button Create Container

Create a Docker container from the selected image.

The Push Image button Push Image

Push an image to a Docker registry. For more information, see Push an image to a Docker registry.

The Show Layers button Show Layers

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

Click the More button to open a menu with some additional actions:

Action

Description

Copy Image ID

Copy the hash ID of the selected image.

Inspect

Run docker inspect on the selected image and output it to a separate tab.

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

The Create Network button

Create Network

Create a Docker network for your containers to operate.

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.

Icon

Action

Description

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:

Icon

Action

Description

The Delete Volume button

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

The Inspect button Inspect

Run docker inspect on the selected image and output it to a separate tab.

The Delete Volume button Remove

Remove the selected volume.

Click the More button 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

The Deploy button

Deploy

Deploy your selected Docker Compose services using the associated run/debug configuration. For more information, see 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.

The Edit Configuration button

Edit Configuration

Edit the selected Docker Compose run configuration.

The Filter button

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

The Start button

Start

Start all containers for the selected service.

The Stop button

Stop

Stop all containers for the selected service.

The Scale button

Scale

Change the number of containers for the selected service.

The Delete Container button

Delete Container

Delete the selected container.

The Filter button

Filter

Choose 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 PhpStorm, see 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, 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.

Icon

Action

Description

The Refresh button

Refresh

Refresh information from the Kubernetes cluster.

The Namespace menu

Namespace

Select a namespace to filter the listed resources of the cluster.

The Context menu

Context

Select the Kubernetes context displayed in the Services tool window. This does not change the context of the running Kubernetes cluster.

The Refresh Configuration button

Refresh Configuration

Read the Kubernetes cluster configuration from the kubeconfig file.

The Show Settings button

Show 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 View YAML button

View YAML

Open the configuration file of the selected resource.

In the opened file, you can click the Edit Resource icon (Edit Resource) to open it for editing or the Refresh icon (Reload Content) to update the file with the latest changes from the 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, click The Show Settings button or open Settings | Build, Execution, Deployment | Kubernetes and 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.

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: 17 March 2023