Battle of the IDE's

Published:
May 11th 2021


Reading Time:
6 minutes

blog Mike Jones Writer

What are we doing?

so i think in the world of IDE's today there is two that are top of the piles (Free & Paid).

You have PHP Storm and VScode, These two IDE's are incredible, the only difference is VScode is free and PHP Storm isn't (with some exceptions). I'm going to talk about the IDE's a little first and then go through installing them both on your machine.

JetBrains PHP Storm

I genuinely don't think i can do this IDE as much justice as it deserves in this post... its an IDE that has helped me look a lot better than i am with code corrections and hints and the auto including of classes as you type.

you have pretty much everything you need out of the box without the need for plugins.

  • Auto Imports
  • Code Completion
  • Auto Formatting
  • Code Suggestion
  • PHP Unit testing

And that's just to name a few.

Can PHP Storm use Plugins?

Absolutely! although you can quite literally start using PHP Storm "out of the box" there is a lot of extra things that can be installed to make you coding experience even better, and the great thing about PHP and its plugins is they are one click installs in most cases (you will see why that's important later) .

The plugins i have install are:

  • Material Theme UI
  • This plugin is a replication of the sublime text material theme and just "tarts up" the appearance of the IDE for you.
  • Atom Material Icons
  • Again another plugin to change the icons in your IDE to be the logo's of the files you're working with (PHP, Java, Ruby etc)
  • Laravel
  • Laravel is an incredible plugin for such an incredible Framework and this plugin will make your life so much easier with Laravel Controller Completion, Auto Class import/completion and a host of other stuff.
  • Collector
  • Another laravel plugin that makes using collections a breeze! (theres a pun in there)... It basically helps you refactor your collections so they are better to use in your application (removes messyness and simplifies for you.
  • .env files support
  • This one is just a nice to have. It breaks up your ENV so you can easily see your environment variables and their keys.

Pro's and Cons!

Pro's - PHP Storm is a tried and tested IDE that is incredibly powerful and can be customised to work with any php framework and more! you can add data sources (DB Connections) to the IDE to help you when writing your SQL or Eloquent Queries and so much more!

Con's - Its not free and some people may say the £6.90 per month is steep but if you can afford it i'd highly recommend it. There is one exception to this cost, if you are a student you can get the entire JetBrains IDE Libraries for free.... Yep... Free.... I'm currently using DataGrip, PHP Storm and PyCharm and no cost at all. You can apply for the Free Students Licences here. You can also buy the whole product Pack licence for 19.90 a month as an individual (goes up to £49 if its an organisation).

The second Con i came up with was the resources it uses... Now in modern days you don't often find developers working on machines with 8GB or less RAM.... unfortunately for me i was and JetBrains and Dbeaver open on my system as well as the Homestead Setup running my Machine struggled to cope and often froze or just took forever to do anything.

Installing PHP Storm (Linux Ubuntu / Pop!_OS)

So i already have Storm on my PC but i wanted it on my laptop which is running System76's Pop!_OS operating system which is built on Ubuntu so the instructions for Ubuntu will be exactly the same for Pop!_OS.

If you are using Ubuntu 16.04 or higher you can just use Snap Install's. If you are on an older version of Ubuntu please see the JetBrains install guide for it. (If like me your using Pop!_OS you will need to install snapd as well).

/** Optional for Pop!_OS 
You can also install storm from the Pop Shop **/
sudo apt install snapd

Now there is two versions of Storm you can install this way.... Stable or EAP (Early Access) and they can be installed like so.

/** Stable **/
sudo snap install phpstorm --classic

and

/** EAP Builds **/ 
sudo snap install phpstorm --classic --edge

PHP storm will now be available to run from the terminal with the following command phpstorm The first run will ask you to register or sign in with your account info.

Visual Studio Code (VS Code)

When Microsoft released this Application i think the development community was quite shocked..... it was actually quite good, So good in fact some people stopped paying for the IDE's they were using and moved to VScode and up until i got my free storm licence i was using this very happily.

Whats in the box!, well that's one of the things that make VScode so good. Once its installed you can just crack on similar to PHP Storm! as it comes with:

  • Syntax Highlighting
  • Snippets
  • Git integrated with the IDE
  • Basic Code Completion
  • Basic Code Refactoring.

Can VScode use plugins?

100% Yes! in most cases its probably a requirement to correctly set the application up to how you as a developer work.... Im going to screenshot my plugin list for VS code... as there is a few (Although install from a single extension pack). If you visit the VScode market place you can install the "Laravel Extension Pack" which gives you all of the following:

Most of these are the same as PHP Storm but just names something different.... they all just make your life when working with Laravel EASY!. The only other plugin i use is "Tailwind CSS IntelliSense" As i work a lot with TailwindCSS

Pro's and Cons!

Pro's - It's free!!! i remember when i first used VS Code i kept expecting the "your trial will run out in 12 days" messages of old to pop up.

There is a huge community of people who are constantly making extensions or themes for the Application, Like my friend @Mike_Andreuzza who builds themes for VScode for free here

Its very lightweight out of the box, when i was struggling for memory, i switched to VScode and had NO issues whatsoever.

Con's - For me i found that there was a lot of config to get the IDE how i liked it. Yes i got their in the end but it just took a while.

Installing VScode

Another very easy install to do on either Pop!_OS or Ubuntu.

Installing one Pop!_OS is incredibly simple, as this OS is geared at developers its on the POP Store home page, See Screenshot:

Click the Icon and then Click install.... and its done.... Yep that's it....

Installing on Ubuntu is just as simple you can either do it through the Ubuntu Software Center or again install it with Snap. Below is the command for Snap

/** Classic Code Is the stable version **/
sudo snap install --classic code

/** Classic Code-insiders is the experimental version **/
sudo snap install --classic code-insiders

And that's it! i hope i haven't waffled on too much and hope this has been helpful in some way shape or form.

If you want me to cover a topic please let me know!