Translated by Núria Adell.
Every professional needs tools to work and, as you can imagine, WordPress programmers and developers couldn’t be less. One of the essential tools to carry out our profession is the code editor: the program that helps us write lines and lines of code to achieve the perfect plugin or theme.
Choosing the right editor to program is crucial. At the end of the day, you’re going to spend hours with it, right? The problem is that there is a wide range of options and, if you’re a beginner, you might not even know what features it should offer to be truly useful. Well then, in today’s post I’ll hopefully clear up some of your doubts so that you can make a well-informed decision.
IDEs and Editors of Text/Code
The first thing we need to talk about is the difference between text editors (with add-ons or not) and integrated development environments (IDEs). In the category of editors we have programs such as Atom or Sublime text, which are very popular lately and of which I will talk about today. We also have some classic programs (suitable only for geeks) such as Vim and Emacs. They have a similar style to the classic Windows block of notes that you have surely seen, but with much more potential thanks to their plugin systems.
On the other side of the scale we have IDEs such as Eclipse or PHPStorm. IDEs tend to be the first experience with dedicated editors of the majority of novel programmers. They’re always recommended in all development courses of applications and websites, and almost always for the same reason: they’re very powerful and bring together everything necessary to execute the program the user writes on their interface. (…) [However], their power can overwhelm the user.
IDEs combine all the tools you need to complete the development of a product. Thus, you have syntax highlighting, autocomplete, errors detector, debugging, compiling and packaging…. In other words, they’re the Swiss Army knife of the programming world.
Therefore, what type of program should you use? What features should you not give up? The best way to answer to these questions is by looking in detail at some of the options we have today.
Our 5 favorite IDEs and Editors
Choosing the right program to write code is not easy, mainly because it’s a personal decision and so it depends on the way one works. However, if you don’t know where to start from, you will find a lot of posts that compare different options. For instance, Nathan B. Weller shares The 11 Best Code Editors Available in 2015 post.
Nevertheless, as I was saying, I don’t want to limit myself to offering a simple list of generic programs and features; I want to list the best editors in WordPress and justify why. Shall we begin then?
Eclipse is an IT Integrated Development Environment based on Java, and so ideal for this programming language. To give you an idea of its importance, for several years (until about a year ago) it was the main development environment of Android, the phone operating system of Google.
Given its open source nature and the great community of users behind it, the number of extensions and support that you can find is huge. This is why it’s one of the best IDEs with which to start programming, especially if you will focus on developing in Java…
…¿Java? But weren’t we meant to talk about developing in WordPress? Indeed! If you want to program in PHP, Eclipse can also help you: you just have to install an extension called PHP Development Tools. Once this is configured you will have the following features:
- Syntax highlighting and validation.
- Content assistant.
- Code formatter.
- Summary of properties and methods.
- Debugging tools of PHP.
The reason why I have decided to start the list with Eclipse is because I am aware that many people have planted their first seeds with it. If you’re amongst them, you might be more or less used to this environment and so it might be worth continuing with a program you know and feel comfortable with, while you learn everything you need to develop in WordPress.
On the other hand, I consider Eclipse to be an excellent option if you don’t develop for WordPress only. Many developers work with different technologies (for instance, implementing products for WordPress and Android), so using the same tool for all allows them to be more productive, since they don’t have to master more than one program. They learn how to use Eclipse in depth and get the most of out it at all times.
4. Sublime Text
Sublime Text is one of the most complete editors that we can find nowadays, besides being very popular lately. In contrast with Eclipse, this is a much lighter and more flexible program, without a thousand features that you might never need.
In the same way as it happens with Atom and Vim (of which I will talk about later on), Sublime Text is a simple text editor that doesn’t offer much at first: syntax highlighting, and little more. The power and magic of the program, as you can imagine, lies on the enormous quantity of extensions it has behind. With them, we can do true wonders. For instance, if you want to develop in WordPress, WPMayor has a list of the packs that you should instal. These will offer advanced features, such as direct access to Codex to consult the documentation, debugging of code or validation of code according to the style guides of WordPress.
Sublime Text is available for Linux, Windows and Mac. In any case, keep in mind that this is a paid application ($70) and not free, I believe. It contains a trial version with no time limit, but theoretically you should buy to use it continuously:
Sublime Text may be downloaded and evaluated for free, however a license must be purchased for continued use.
Licenses are per-user, rather than per-machine, so you can enjoy Sublime Text on as many computers and operating systems as you wish with your license.
If your budget is tight or you feel like trying free good quality alternatives, you might be more interested in the following program: Atom!
Atom defines itself as the “hackable editor”:
Atom is a text editor that’s modern, approachable, yet hackable to the core—a tool you can customize to do anything but also use productively without ever touching a config file.
The quickest summary I can give you of Atom is the following: in essence, it offers the same as Sublime, but it includes two ingredients that make it special:
- it’s a free software and
- its internal architecture is amazing for web developers.
Atom is a program written in Node.js/Coffeescript, but its extensions are in Coffeescript and it’s executed above the webkit motor. The use of these technologies make the program one of the favorite tools for web developers, who feel completely comfortable to tune and adapt it to their needs. However, the fact that it’s written in Node.js makes its performance slightly inferior to that which we can find in editors written in C such as Sublime or Vim… but nothing to worry about anyway.
My partner Antonio is preparing a post on Atom in which he will explain how he has configured it in order to adapt it to his needs and what extensions he recommends to install. Don’t miss it!
This is a classic, within the classics, and above all, one of the most geek programs you can find. Vim recently had its 25th anniversary, so don’t be surprised by its retro style (to put it nicely). Just as Sublime or Atom, Vim has a very strong community of programmers behind it and a lot of extensions with which to adapt it to your needs. So, if you’re up for some fun, this is an option you should definitely try.
The most surprising thing about this program for the beginners is the way it works. When you open any editor, you usually start writing and the words come up on the screen. This is not what happens with Vim. Vim has “modes” of working, the most common ones being normal, command and insert.
When you open Vim, it is on normal mode by default. But don’t let the word mislead you; this doesn’t mean that it behaves like a normal editor, but that each keystroke in this mode is interpreted as a command (
w to move the cursor to the next word,
y to copy,
p to paste, etc.)
The easiest thing to do is press the letter
i and Vim will change to the insert mode, with which now you can write normally, as you would with any other editor. Once you’re done, press
Esc (to go back to normal mode) and finish with
ZZ (the letter Z in capitals twice) to save the changes and leave.
Why so weird? Why can we not stay on the insert mode, but we have to keep jumping between normal and insert? Because the power of Vim lies precisely on the normal mode, where a few taps can do true wonders.
On today’s post I don’t intend to give an introduction about this editor (which by the way, is the one I use daily), but I would still like to share a few links with which you can learn how to use it, if you’re curious:
- Vim Adventures is a fun graphic adventure with which you will learn all the features of the editor.
- Open Vim is an interactive tutorial by Vim.
- Tutorial to learn Vim as first contact, contains a lot of information.
Do you need any more incentives to learn Vim? The majority of servers UNIX/Linux have it installed, so if you need to connect to any server via SSH to fix something, the good Vim will be waiting to help you out with your editions.
1. PHPStorm by JetBrains
The last program I want to talk about is PHPStrom, an IDE specifically designed to work in PHP and with an exquisite integration with WordPress. I used it for a while and the truth is I I felt very comfortable with it and thought it was very user friendly, especially for beginners. The following video offers a good introduction to this tool and its configuration with WordPress:
As you can read on the application’s documentation itself, PHPStorm includes complete support for the development of WordPress, with autocomplete features and hooks, quick access to the font code of WordPress, style control, integration of the official documentation of the editor itself, etc. In short, all the advanced features we have seen on the previous examples, but with the advantage of being easier to configure and thus, easier to start using.
All the tools that I have showed today offer a combination of similar features, perfectly integrating (some of them in an easier way than others) with WordPress. In my opinion, the minimum requirements you need from an editor are the following:
- Syntax highlighting.
- Error control.
- Validation of the programming guides of WordPress.
- Autocomplete (especially of the functions and hooks of WordPress).
and then any extra toy you may want (some of which, as I mentioned before, will be soon explained by Toni).
The perfect tool doesn’t exist; selecting one or another depends on your taste and style. For example, I love the philosophy of Vim, its different modes, speed, lightness, and the amount of extensions it has. Someone might prefer a tool with an environment which is basically ready for WordPress from the installation, such as PHPStorm.
And you, have you decided which one to use? Are you a fan of Emacs and you don’t know how to tell us? Share you opinion with us and help our readers decide!
Featured image by Luis Llerena.