This is one of the most common asked by young aspiring developers and one all developers have asked at least once in their career. This is a really great question with no simple answer. The answer to this question differs from one developer to another. It all depends on their preference, environment and platforms they are using. Yet it makes sense that there is an abundance of variety when it comes to text editors. It is, after all, a programmer’s most important tool.
To those who do not know what a text editor is here’s a simple explanation.
A text editor is a computer program that allows you to create and edit files that contain plain text. This is very different than a robust word processing program like Microsoft Word, Apple Pages, or Google Docs because they add special formatting that’s hidden to the user. When you’re writing computer code, you don’t need or want any special formatting. In fact, your code probably won’t work at all unless it was written and saved in a plain text environment.
And, No a text editor is not an IDE (integrated development environment). While most almost every IDE has the capability to create and edit plain text documents, they also include a variety of other features. Some do prefer these power tools, but they come at the expense of other factors like flexibility, ease of use, or code that is both lean and performant. IDE’s also take various screen spaces for all of their various features which is also a factor to the decision making for some people.
Now to answer the question of which text editor to use
As said before there is no definite answer to this question. There are so many text editors in the market nowadays that choosing one over the other is hard. So most developers suggest you try out a few of the text editors around and find the one you are most comfortable with. This way you get to weigh the pros and cons of most of the text editors in the market.
Once you are comfortable with your tool, it means that you are also able to get work done quickly. Since, everyone has slightly different preferences the text editor you choose to work with has you flying with your ideas, which most text editors aspire to this vague goal.
Now let’s check some of the most pros use on a daily basis.
Atom is described as A hackable text editor for the 21st century. It is relatively new to the world of text editors but has gained a huge momentum since it was released in 2014.
Ability to add additional features to a text editor is very important and is an area that Atom shines at. The package manager is installed by default and to make things even better, all packages are hosted on Github.
Editing and workflow
In general everything in Atom is rather smooth. The biggest pain is figuring out which additional packages to be installed when starting from scratch.
For example, people like using the minimap to help visually skip to parts of a file. Also, recommend to set up autocompletion using Auto Complete+. And for people who often work on multiple files simultaneously the ability to set up split pane editing is a must. It’s a feature atom supports nicely.
Another nice feature that I’ve found in an atom which is sorely lacking in sublime is the drag/drop file/folder support in a tree view. I’m so used to not having it in sublime that being able to shift things around is a real treat.
Finally, the git integration is great. It is made by Github after all!
If there’s a bone to pick with Atom is that it feels slow. Sometimes opening a file or switching between tabs has enough of a lag to feel painful. When I first tried atom performance was a big problem. It has gotten better since, but the frustration still remains.
Atom is a great tool, especially for those who want to customize their editor easily, and beyond what others provide. As a developer, the ability to add, tweak and extend your editor gives an incredible feeling of power. The atom flight manual provides a great starting point for new users.
2. Sublime Text
Sublime was released back in 2007, so it’s had more than a decade to mature. According to StackOverflow’s 2018 developer survey is the 4th most popular development environment.
Any sublime user will tell you the first package they install is Sublime Package Control Plugin. Like Atom, Sublime has many packages and themes. Some essentials are:
- SideBarEnhancements: without this renaming/moving/duplicating files are not supported.
- GitGutter: Shows git status on the left side next to line numbers.
There’s plenty more to choose from and a lot of helpful ones to boot. Overall sublime’s package support is very good.
Editing and Workflow
The use of projects is critical when working in sublime – it helps me stay focused on the relevant files for what I need. Being able to search file and across files is fast and easy.
As with Atom – the real power comes once you have some key plugins installed.
One downside that I’ve found is there’s no decent Git plugin that lets me do nice diffs and stage changes.
Here’s where Sublime outperforms Atom – opening, closing, searching is very fast and smooth and fast. The only issue I’ve ever faced with performance is from badly performing plugins – but even then you’ll get a warning message when a plugin seems to be taking too long.
Sublime is a flexible fast editor. There’s a reason it still makes the top 4 Development Environment in 2018
3. Visual Studio Code
VSCode is a relative newcomer to the world of text editor. It was only released in April of 2015 but has already been picking up a lot of traction. Microsoft has done a great job of creating a powerful and flexible cross-platform editor that’s piquing a lot of interest from developers.
It is not to be confused with Visual Studio IDE that Microsoft has.
As with our other editors, VScode has a nice plugin ecosystem. The extension management is built-in, and there’s already several thousand available. As with Atom, some come installed by default.
You’ll need to spend some time picking out plugins that are best for your workflow.
Editing and Workflow
Although VS code is built in a similar fashion to Atom using Electron, Node and Html/CSS, it is actually much faster without any real lags.
It has a very familiar feel to Atom and Sublime. The debugging feature was a treat to use. Also, do set up some of the IntelliSense type-ahead completion which will start to show its benefits in a day or so. You could literally whizz through typing out a function name without having to remember the arguments.
As an added bonus, the Git integration is very convenient. Not as powerful as what you get using Source tree, but for common operations like commits and diffs, it proved to be perfect and sped up the development time.
As mentioned before, although VSCode is built on Node.js, Electron, Html and CSS, it definitely feels fast. I did not experience any lags when opening/changing files. Searching was also fast. In any case, the performance is definitely on par with Sublime.
Overall the editor is very impressive, to the point that I’ve considered moving to it more permanently. I’m still yet to take that step to fully dive in. The Git integration and in-editor debugger are great features that many have struggled with in sublime but worked almost immediately in VScode.
The text editor’s mentioned above are currently the most used text editors currently by most developers and are among the most popular ones. Both Atom and VSCode are available to use free of cost and Sublime Text has a free trial version with full version cost of $70.