A code editor is the place where a programmer spends most of his time.
There are two archetypes: IDE and lightweight editors. Many people feel comfortable choosing one tool of each type.
The term IDE (Integrated Development Environment) means a powerful editor with many features that usually operates on a “whole project”. As said, that’s not just an editor, but a full-scale “development environment”.
An IDE loads the project (can be many files), and then allows navigation between files, provides autocompletion based on the whole project, integrates with a version management system (like git), a testing environment and other “project-level” stuff.
If you haven’t considered selecting an IDE yet, look at the following variants:
- IntelliJ editors: WebStorm for frontend development and PHPStorm (PHP), IDEA (Java), RubyMine (Ruby) and other if you need additional languages.
- Visual Studio is fine if you’re a .NET developer, and a free version is available (Visual Studio Community)
- Eclipse-based products, like Aptana and Zend Studio.
- Komodo IDE and its lightweight free version Komodo Edit.
All of the IDEs listed above are available on both Windows and Mac, and the IDEs other than Visual Studio are also available on Linux.
Most IDEs are paid, but have a trial period. Their cost is usually negligible compared to a qualified developer’s salary, so just choose the best one for you.
“Lightweight editors” are not as powerful as IDEs, but they’re fast, elegant and simple.
They are mainly used to instantly open and edit a file.
The main difference between a “lightweight editor” and an “IDE” is that IDE works on a project-level, so it loads much more data on start, analyzes the project structure if needed and so on. A lightweight editor is much faster if we need only one file.
In practice, lightweight editors may have a lot of plugins including directory-level syntax analyzers and autocompleters, so there’s no strict border between a lightweight editor and an IDE.
The following options deserve your attention:
- Visual Studio Code (cross-platform, free).
- Atom (cross-platform, free).
- Sublime Text (cross-platform, shareware).
- Notepad++ (Windows, free).
- Vim and Emacs are also cool, if you know how to use them.
The personal preference of the author is to have both an IDE for projects and a lightweight editor for quick and easy file editing.
- WebStorm for JS, and if there is one more language in the project, then I switch to other Jetbrains editors like PHPStorm (PHP), IDEA (Java), RubyMine (Ruby). There are editors for other languages too, but I haven’t used them.
- As a lightweight editor – Sublime Text or Atom.
If you don’t know what to choose – you can consider these ones.
The editors in the lists above are those that me or my friends – good developers have been using for a long time and are happy with.
There are other great editors in our big world, please choose the one you like the most.
The choice of an editor, like any other tool, is individual and depends on your projects, habits, personal preferences.