Introduction to your next generation Text Editor
We believe that smart tools enable creative work with any project, no matter how big or small it is, be it a fresh startup or something that’s been in development for a long time.
– Max Shafirov, CEO of JetBrains, makers of IntelliJ IDEA
Brief Overview of the IDE landscape
If you’re just joining the conversation, then you probably know quite well that IDE stands for Integrated Development Environment, and is most likely one the first tools you learned how to use (unless vi was more your style). IDEs emerged in order to give developers working on more complex applications more of a feature-rich experience. At least, more than a glorious notepad capable of opening multiple documents at the same time.
As you can see in the image from Java Tools and Technologies Landscape 2014 (below), in Java we have about a dozen (or maybe more) options for developers to give their gorgeous code life: Eclipse, IntelliJ IDEA, NetBeans, Spring Tool Suite, IBM RAD, MyEclipse, JBoss Dev Studio and Codenvy (formerly “eXo IDE”) are some products designed to fulfill our IDE requirements, but predecessors to what many consider “modern IDEs” – such as vi/vim, Emacs and Notepad++ – are still in use by small segments of hardcore fans.
These days, IDEs are more or less ubiquitous, with 97% of developers surveyed in a 2013 RebelLabs survey reportedly using one. In modern IDEs, opening multiple projects, figuring out dependencies between them, integrating the build systems, navigating type systems, and even the plain automatic compilation on save is something so common in the Java world that we don’t even consider these actions as features. They are must-haves that are basically non-negotiable. Indeed, many developers don’t even consider using a programming language for any serious work if the IDE support for it is lacking.
Considering that over 90% of Java devs out there are using Eclipse, IntelliJ IDEA or NetBeans, and Spring Tool Suite is an implementation of Eclipse with mostly the same shortcuts, we’ve decided to focus on these three IDEs.
This report is ultimately a quick guide for learning the shortcuts and, to an extent, a bit more about the features, of Eclipse, IntelliJ IDEA and NetBeans. Our goal here is to help you learn your current IDE better, so that you can be more fluent or learn new features. We also hope you’ll get a decent snapshot of other IDEs and how things are done elsewhere, in case you decide to ever switch some day.
So, let’s find out a little bit more about each of them, starting with our market leader, Eclipse…