I’ve been using PhpStorm for about ten years now. Before that, I used Zend Studio, and before that I used Netbeans. I guess it has a lot to do with the fact that I was a Windows application programmer before I switched to web development, so I’ve always preferred feature-full IDEs to lightweight code editors when I’m coding. I like having built-in support for things like autocomplete, function lookups, and auto-formatting baked right into the IDE, as opposed to having to choose between different extensions that add these functionalities.
However, when I present Learn WordPress Online Workshops, I generally tend to prefer to use a free or open-source code editor. The main reason for this is that not everyone attending will want to pay for a fully-fledged IDE, so I use whatever is the most popular open-source/free code editor, and configure it to resemble the features I need from the IDE I’m using.
At the moment, that code editor is Visual Code Studio, and so I’ve had to install and configure a bunch of extensions for Visual Code Studio to emulate some of the functionality in PhpStorm that I need the most. Often, workshop attendees will ask what that list of extensions is, so instead of repeating it again and again, I’m going to list it in a blog post here and share it in my workshops if anyone asks.
Extensions for PHP development
PHP Sniffer & Beautifier: I probably use this the most, as it helps me to auto-format my PHP code to match the WordPress coding standards (or any other coding standard for that matter). It requires having phpcs and phpcbf installed and configured.
PHP Intelephense: this extension adds auto-complete and function lookups.
PHP DocBlocker: support for writing PHP doc blocks.
Path Intellisense: this one is very handy for auto-completing path names.
HTML CSS Support: Intellisense (auto-complete etc) for HTML and CSS.
GitHub Copilot: Provides autocomplete-style suggestions from an AI pair programmer as you code. Requires a GitHub Copilot account, which I managed to get for free via their “open source maintainers” offering.
Markdownlint: Because I write in Markdown a lot.