Introduction: Why IntelliJ IDEA?
Coffee or Tea? Mac vs. PC? iPhone OS or Android? Eclipse or IntelliJ IDEA (or NetBeans)? Believe it or not, software developers argue as much about their IDE as any of these other hotly-debated topics. And for a good reason…
Confessions of an IntelliJ addict
My name is Anton, and I’m an IntelliJ IDEA addict. Whew, it feels good to say it out loud. The choice of IDE for developers is one of the most contentious debates in the software game. Unless you have a darn good reason, you don’t often use more than one IDE, let alone all three of the major IDEs in the Java world: Eclipse, IntelliJ IDEA and NetBeans.
The truth is that I have been a happy IntelliJ IDEA (for the sake of brevity and laziness, you’ll see IntelliJ IDEA referred to in full, as well as simply “IntelliJ” and “IDEA” as well from here on) user since 2004—a full decade. Over the last 10 years, I have always been discovering the new aspects of the IDE and I’m always waiting for the new version release with an excitement.
But why? After all, aren’t all IDEs more or less the same? (BOOO! HISSSSS!) Was there something that happened in my past to make me so dedicated to this particular IDE?
Well, before settling on IDEA, I had worked with Eclipse and NetBeans, even championing Eclipse at one point in my former job. But by using IDEA and Eclipse almost side by side for some time I realized that IDEA supports the work I was doing much better. Eventually, I dodged other IDEs and decided to become a full-time IDEA user. When I joined ZeroTurnaround, my new role required me to learn all IDEs in-depth due to the fact that our flagship product, JRebel, ships as an IDE plugin for Eclipse, NetBeans, IDEA, and JDeveloper. My primary IDE is IntelliJ IDEA and my teammates think of me as of an IntelliJ IDEA addict.
Now it might be only my impression, but back then IDEA had the best refactoring capabilities. These days, I think it still is more consistent in terms of UX, and there are shortcuts for almost every action. Not to mention it understands the source code context better than others. Subjectively, it made me more productive, but this kind of depends on the set of features that you, as a developer, need and want. If the IDE matches what you actually use then it is probably the best IDE for you :)
The Java IDE market landscape
Here you can see a recent breakdown of the IDE landscape (as of 2012). We are planning to survey developers again in 2014 for new stats, but most likely, things haven’t changed that drastically. Note: Answers were non-exclusive and asked developers to select IDEs in use, not single selections only).
As you can see, I’m not alone. Close to 1/3 of Java developers that we surveyed in 2012 use IDEA on at least some projects. However, neither IDEA nor third-place NetBeans compare to Eclipse, which clearly dominates the scene. Understandably, Eclipse is an advanced tool that is completely free and open source (as is NetBeans), whereas you have to pay to get the most out of IDEA. Wait, what?
Yep. What makes IDEA different is that was a commercial-only tool until 2009, when IntelliJ IDEA 9 was released. Now we have both Ultimate and Community editions. Community Edition is free and open source and Ultimate Edition is a commercial product and builds on top of Community Edition and offers more features and support.
A number of features are provided only in the commercial distribution and in this guide we assume that you will try Ultimate Edition when evaluating the IDE. The community edition is enough for Java and even for Android development, but you will miss a lot of cool features. See the full comparison of the two IDEA versions at the official product page: http://www.jetbrains.com/idea/features/editions_comparison_matrix.html
What you’ll see in this report
My main purpose in writing this report is to show Eclipse users, specifically, how to get started using IDEA faster and with less headaches.
Perhaps you are Eclipse users who are interested in trying out IntelliJ IDEA, or perhaps considering the migration. Moving from Eclipse to IDEA can be quite overwhelming. People usually neither have patience nor time to learn new IDE with its own set of shortcuts. Even more – in some cases it requires changing your mindset about how you use your IDE. With this guide, my goal is to point out the main differences when moving from Eclipse to IDEA so that the path wouldn’t be as painful.
I have seen a lot of my colleagues going from Eclipse to IntelliJ IDEA. They struggled initially, but survived. In a few days or weeks they didn’t want to come back to their previous IDE. Naturally, I have tried to help a lot of my friends to migrate to IDEA and with this guide I’d like to help YOU as well.
So, I’ve broken it down into a few chapters. In Chapter I, we’ll talk about getting your project set up right, Chapter II looks at keymap, navigation and editor settings, and Chapter III covers more advanced things like testing, deploying and artifacts. So, let’s get started!
Download the PDF