Oliver Davies

Quick Project Switching in PhpStorm

4th September 2018

Following a recent conversation on Twitter with socketwench about project switching in PhpStorm, I thought I’d document my workflow here.

Here is the original tweet and my initial response. I also have a lot of PhpStorm projects, and as I’m always working on multiple projects I regularly need to switch between them.

On the PhpStorm welcome screen that displays when you first open it, your recent projects are displayed on the left-hand side of the screen, and are filterable. That means that I can start typing a project name, e.g. oli, and I will only see projects that start with that input.

The PhpStorm welcome screen with filters applied to the project list

That’s great when opening a project from scratch, but what about when we’re already within a project and just want to be able to switch to another?

There’s also a way to access this list once PhpStorm is open, by clicking 'Open Recent' within the File menu. The issue here though is that this list is not filterable.

You can also access this list using the keyboard, though the 'Search everywhere' or 'Find action' panes, and these are filterable.

Using the 'find action' pane to find 'Open Recent'

Once the 'Open Recent' option is selected, you see the same project list as on the welcome screen, which is filtered in the same way by starting to type potential project names.

The filtered project list

Adding a Keyboard Shortcut

We can make this easier by adding a new keyboard shortcut. Within the Keymap preferences, you can search for 'Open Recent' and right-click it to add a new keyboard shortcut and define the key combination.

Finding the 'Open Recent' shortcut in the Keymap preferences

Assigning a keyboard shortcut

This this shortcut added, you can now use it to instantly bring up your recent projects list, filter it and switch project.

Questions? Comments? I’m @opdavies on Twitter, or send me an email.

Tags

About the Author

Picture of Oliver

Oliver Davies is a full-stack Web Developer and System Administrator based in the UK. He is a Senior Developer at Microserve and a part-time freelancer specialising in Drupal, Symfony and Laravel development and Linux systems administration.