Since talking about making the switch to PhpStorm, I’ve gotten feedback:

  • from “the first thing you need to do is to change your theme,”
  • to “what’s one of the first things I should learn.”

And I think all of that’s great because the whole point of starting off with a post about PhpStorm in general – as I have with other editors – is simply start from the ground up and show others how I’ve opted to setup my environment.

Obviously, this doesn’t mean that I think that choices I make are the ones others should make. But, at the very least, it gives an idea as to some of the tweaks I’ve made and as to why.

Over time, I’ll get into more technical things that I’ve chosen to do but, for now, I thought talking about the theme – a PhpStorm WordPress Theme, perhaps? – that I’ve been using as a place to start.

A PhpStorm WordPress Theme

For those immediately interested, I’ve been using the Material Theme UI. It’s available in the JetBrains plugin repository.

A PhpStorm WordPress Theme: Material Theme UI

It’s the Material Theme UI, but it looks pretty good, IMHO.

Yes, it’s a lot less white (which seems to be a major point of contention among many developers – myself included 🙂).

So this particular theme works well. Plus, it’s put together as a plugin meaning that you don’t have to download any files, move them into a directory on your file system, and then hope it works.

A PhpStorm WordPress Theme: My Current Setup

Beyond that, though, there are a few other customizations I’ve made:

  • For the color scheme, I prefer Material Theme Darker,
  • I’m using Fira Code as my font of choice (though I’ve historically liked Source Code Pro it doesn’t look so hot in PhpStorm),
  • I like to show both leading and trailing whitespaces (as you can see in the screenshot above)
  • And I often have both a terminal and inspection scopes open at the same time (which I’ll be covering in another post).

With that said, I’m far from having my setup exactly as I’d like it but I thought to start with the basic setup would help some of the comments I’ve received both on this blog and on Twitter.

So if you have a configuration, feature, or something you like and that you think is worth installing not out of subjectivity, but out of productivity, let me know!

Category:
Resources
Tags:
,

Join the conversation! 5 Comments

  1. Since switching to PHPStorm a couple years ago, I haven’t looked back since … and being a full time WordPress dev, I can’t understand how I used Sublime Text for so long without switching to an actual IDE.

    Few plugins I strongly recommend (for productivity):

    Key Promoter – learn your keyboard shortcuts, that will increase productivity 10 fold

    Code Stats – track analytics on code you write, help to see when you’re most/least productive during the day, etc

    GitToolBox – Adds additional git integration

    GoogleIt – Use ctrl+shift+g to search selected text

    Some other plugins I also recommend:

    PHP Annotations

    PHP Inspections (Extended)

    Realigner

    Scratch

    Copy & Browse as Github

    Really what it comes down to is making sure you set everything up in the IDE correctly the first time, and once you get that done, learning the keyboard shortcuts to avoid moving your hand to the mouse.

    Setup/Configure XDEBUG — one of the best things about this IDE is the amazing integration with xdebug, spend the time to set it up you will thank me later!

    Setup/Configure Version Control — there is also pretty good integration for version control, specifically I use git, but this allows me to commit, push, pull, rebase, and more, directly from inside the IDE

    I’ve also been through a ton of themes, and the Material UI is the best IMO, but you can find tons more here: http://www.phpstorm-themes.com/

  2. Hey Tom, so glad you joined the Jetbrains PHPStorm community with us.

    I have some plugins that I use that are very helpful for productivity.

    BashSupport – which helps with syntax highlighting if you are building shell scripts.

    Bootstrap 3 – which provides emmit like syntax for quick building boostrap web components.

    GitToolBox – one of my favorites, which displays a little status bar ui with how far ahead or behind your current branch is plus a few extra features.

    Grep Console – which lets you color code a tailing log file in a custom tool window area (another favorite, use everyday).

    Open in Git Host – which ads a right click command in files that opens that files line number in your current commit/branch right on github, awesome for sharing with co-developers.

    I also use the material theme but I prefer the Operator Mono font.

    Also worth noting, that you can easily setup CodeSniffer in PHPStorm to run with the other standard code inspections (takes about 5 minutes), very similar to how you setup Visual Code in that tutorial you made. They just updated Codesniffer stable to V3, which is not compatible with the WordPress ruleset, but you can get a general idea of how to set it up from our guide here:

    https://github.com/WordPress-Phoenix/local-wordpress-development/blob/master/codesniffer.md

    I’ll be updating the guide soon to reflect how to obtain version 2.9 using brew so that you can properly CodeSniff with the WordPress ruleset.

    I’d also recommend going into Editor > Code Style and unchecking the “Detect and use existing file indents for edit”, so that you can enforce tabs instead of spaces. Also of note is setting the “WordPress” Scheme in code style so that your CMD+Option+L code formatting shortcut always fixes your tabs properly to validate CodeSniffing rules from the core teams ruleset.

    Another gotcha if you are new to PHPStorm is that the SFTP browser does not show up as a toolbar button automatically. You need to activate it by going to Menu Bar > Tools > Deployment > Browse Remote Host. After you open it the first time, it will remain.

    Another thing to check out is the “Favorites” Tool button section (typically on the left side by project). If you open VVV as your root project like I do, you can drag your “plugin” and “theme” folders into the favorites section. This allows you to debug and operate on the entire local dev environment while limiting what you “browse through” to just your plugins and themes.

    Lastly, one of those hidden little features is the target icon in the projects tool button window. From any open file you can click that button and it will navigate you to that file in the projects tool window. Really great for navigating your project when you have tons of plugins and files.

    I have a lot of little tricks like this from using PHPStorm over the years. Happy to share more of them or write a “guest blog” if thats ever of interest.

  3. Hey, Tom!

    Thanks for sharing! Your first post about PHP Storm actually led me to download a trial and now I am heavily considering purchasing it as I’ve found it to be very powerful.

    This article is really helpful as far as some of the simple settings you use, but I’m really curious as to how you handled shortcuts?

    I’m coming from Sublime Text and unless I’m missing something, I am going to have to set up all of the shortcuts I’m used to by hand! Definitely a bummer. Just wondering if you knew of some way to import Sublime Text key bindings?

    Thanks! Looking forward to future PHP Storm Posts!

  4. I was going to say I’d been liking PHPStorms default dark theme + solarized dark, but in PHP it renders variable in dark red on dark blue and I can’t read them so I went looking for my long time favorite Cobalt2 by Wes Bos. IntelliJ isn’t “officially” supported, but I finally found someone that had created one:

    https://github.com/lucien144/cobalt2-phpstorm

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.