Published on January 15th, 2020

It's been a long time. I've been using PhpStorm for almost 8 years now. More precisely from 2012. Version 3 back then. A lot has happened in that time. A lot has changed. Of course, you learn more and more every day. This article is the result of my 8 years of experience with PhpStorm and my best settings that make you a faster developer and let you focus more on the important things.

If you don't care about the exact settings and what they are used for, you can download my snapshot (including my personal GitHub and Material Theme) and just import it into PhpStorm via File > Import Settings . Just scroll to the end of this post and you'll find anything you need.

My Best Settings

I'll show you only the settings you've to change that are different from the default. Either I'm gonna show you a [ ] for unselect or [x] for select.

General

Hide everything you don't need.

View > Appearance

[ ] Toolbar

[ ] Tool Window Bars

[ ] Status Bar

[ ] Navigation bar

Settings

Appearance & Behaviour > Appearance

[ ] Animate windows

Doesn't improve anything but decreases performance

Doesn't improve anything but decreases performance [x] Show memory indicator

If you are using the status bar to give you better insights into your memory usage

If you are using the status bar to give you better insights into your memory usage [ ] Show tool window bars

Removes some more bars

Removes some more bars [ ] Show tool window numbers

Removes some more bars

Appearance & Behaviour > System Settings

[ ] Reopen last project on startup

I work on several projects, so I want to choose which project should be opened at the beginning

I work on several projects, so I want to choose which project should be opened at the beginning [ ] Confirm application exit

If I want to exit the application it just should close without any confirmation

If I want to exit the application it just should close without any confirmation [x] Open project in new window

PhpStorm gives you the possibility to open a project in the same window as the current one. This is in 99% not the thing you want.

Appearance & Behaviour > File Colors

[ ] Enable File Colors



[ ] Use in Editor Tabs



[ ] Use in Project View



Maybe you like it or not. I don't. These options remove the file colors and background colors from the tabs and project tree for some special folders like node_modules or tests .

Keymap

I just changed some of the keymaps. Basically I'm using the default ones.

Ctrl + V Split Vertically



Split Vertically Ctrl + H Split Horizontally

Split Horizontally Cmd + T Run...

If you are in a test file you just press this keymap within a method and then this method will be tested.

Run... If you are in a test file you just press this keymap within a method and then this method will be tested. Shift + Cmd + T Run

This keymap can be used anywhere in the application. It just runs that last test again.

Run This keymap can be used anywhere in the application. It just runs that last test again. Ctrl + W Hide Active Tool Window

When you run tests, the test window opens. If you're using the terminal in PhpStorm, this can be useful too. With this shortcut, you can close that at any time.

Hide Active Tool Window When you run tests, the test window opens. If you're using the terminal in PhpStorm, this can be useful too. With this shortcut, you can close that at any time. Cmd + 2 Select in Project View

You might now know this. With Cmd + 1 you can toggle the sidebar. What I still often need is to jump into the sidebar project tree. I often use Shift + Shift that lets you search for everything or Cmd + O to search for classes. So I never use the sidebar. But if you would like to jump into that with the file that is currently open, this shortcut is awesome.

Editor > General

[ ] Enable Drag'n'Drop functionaliy in editor

This option actually sucks. If you don't disable it, you can move code around with your mouse which quite often happens, even if you don't want it.

This option actually sucks. If you don't disable it, you can move code around with your mouse which quite often happens, even if you don't want it. [ ] Show notification after reformat code action

[ ] Show notification after optimize imports action

[x] Soft-wrap-files

This is a very cool functionality. When you edit for instance markdown files, lines never wrap. With this option, you can change that. They wrap now.

This is a very cool functionality. When you edit for instance markdown files, lines never wrap. With this option, you can change that. They wrap now. Strip trailing spaces on Save: All

This one strips all trailing spaces on every single save command (PhpStorm saves automatically if you don't use tabs)

This one strips all trailing spaces on every single save command (PhpStorm saves automatically if you don't use tabs) [ ] Always keep trailing spaces on caret line

[x] Ensure line feed at file end on save

With this option, your file is guaranteed to have an empty line at the end of the file.

Editor > General > Appearance

[ ] Show hard wrap and visual guides

[ ] Show code lens on scrollbar hover

This removes the "preview" of the code when you hover at a specific position on the scrollbar

Editor > General > Breadcrumbs

[ ] Show Breadcrumbs

We don't need breadcrumbs. So let's disable it. We love clean UIs.

Editor > General > Code Completion

[x] Show full method signatures

We want to see everything when code completion for methods starts

Editor > General > Code Folding

Personally, I don't like any code folding, because I would like to see what I edit.

[ ] Show coding folding outline

[ ] File header

[ ] Imports

[ ] HTML 'style' attribute

[ ] XML entities

[ ] Data URIs

[ ] Imports

Editor > General > Editor Tabs

Appearance: None

If you are not used to having any tabs I can highly recommend it. You can always the shortcut Cmd + E to get the recent files and Shift + Shift to search for any other file. There is no need for tabs.

Editor > General > Smart Keys > PHP

[ ] Enable smart function parameters completion

[ ] Select variable name without '$' sign on double click

If I double click on a variable, I don't want it to select the '$', that's why I disable it.

Editor > General > Font

This is very personal and up your own preference. This fits best for me.

Font: Menlo

Size: 15

Line spacing: 1.9

Editor > General > Color Scheme > General

If you're like me and you don't want all these method separators, you can disable them. What you can't disable yet are the separators for the imported use statements. But there is a workaround. Just unset the foreground color for the following entry.

[ ] Method separator color, Foreground

Editor > General > Code Style

Line Seperator: Unix and macOS

Editor > General > Inspections

You might be wondering why I don't say anything here. Listing the inspections is pretty elaborate. I've made a few adjustments here specific to Laravel. So you have a clean environment without those annoying underlings. My Inspections can also be found in the download package. If you have any questions, let me know.

Editor > General > Inlay Hints

[ ] Show hints for:

I don't need this.

Languages & Frameworks > PHP > Debug

[ ] Force break at first line when no path mapping specified

[ ] Force break at first line when a script is outside the project

You should untick both when using Laravel Valet. Otherwise, xdebug starts debugging in Valet itself.

Tools > Web Browsers

[ ] Show browsers popup in the editor

Do you remember this little preview with browser icons all the time? You can disable it.

Conclusion



The result is a very clean and intuitive IDE that remembers of Sublime with the only difference that it's a fully integrated IDE. You can download my complete PhpStorm settings package. Just import into PhpStorm via File > Import Settings .

What's included?

This package contains also my customized GitHub Theme and customized Material Theme. My Material Theme is not that colorful as the original is. That makes it cleaner and you can focus more. As a bonus there is a Laravel specific inspections rule included. If you don't use it, most of the time everything is underscored with orange or red lines because of Laravels Facade architecture, it's hard for the IDE to follow everything along.

I am very interested in whether I have forgotten something? Or if you have any other practical tips to help me make PhpStorm even better. Let me know.