I’ve been a committed Sublime Text user for a while. I’ve spent a lot of time looking for the right mix of packages, learning the keyboard commands, auditioning LOTS of different themes and color schemes, and constantly playing with the user config (i.e., “trim_trailing_white_space_on_save”: true). Since I’m still fairly new to the PHP world and OOP specifically, I really didn’t want my editor doing any of the work for me either – code completion, auto-importing namespaces, handling Vagrant and Git commands in-app being some examples. As a result, I’ve resisted using a true IDE up to now.
Every time I’ve installed PHPStorm in the past to play around with it, I always disliked it’s lack of customizability in terms of the UI (which is surprising given it’s ridiculously complex Preferences/Settings). In spite of all of this, I keep giving PHPStorm a go every couple of months just to see what’s changed and I think I’ve had a breakthrough with the latest attempt.
“Fixing” the UI
The first challenge for me is to make it not ugly. I usually don’t even make it past this step before giving up and going back to Sublime, but this time I was able to get it just about right (for me).
- Switch to Darcula theme.
- Install the “total-conversion” of the UI by Shawn McCool.
- Install the ColorIDE plugin.
- Install the Dayle Rees color schemes for Jetbrains (I used one of his themes as a base to create my own color scheme). - Remove some of the annoying UI elements like the horizontal line above classes and between functions (“method separator color”). Hint:** you can’t remove it, but you can make it the same color as your background so it’s not visible. - Tone down the color of files that have been modified (VCS).
- Remove the browser icons that show up in the upper-right.
- Replace the ugly app icon with this...
Making it work like Sublime Text
This is all about matching up the keyboard shortcuts with Sublime’s. Basically, all of the stuff you might be used to doing with Sublime via the keyboard is there (find anything, project switching, etc.). It’s just a matter of tracking them down. So now I’m going to give PHPStorm a workout for a few days exclusively. I’m really not that interested in it’s Git and Vagrant integration. I’d prefer to keep that in the Terminal for now, but I can already see some benefits with auto-importing and code completion that actually works. For Laravel, the lack of Blade highlighting is a problem (I’ve tried installing Textmate bundles for this unsuccessfully), but it’s apparently in the works.