Why we dropped Eclipse in favour of IntelliJ

As a background – all of us in Plumbr have all been using Eclipse for as long as we can possibly remember. But when I just looked around in the office I saw our whole team being converted to IntelliJ IDEA users. So what made us to jump the old free-to-ride warhorse and go with something we need to pay up to $600 per seat? If you bear with me I give you several reasons why you could also consider the move.

For years, our friend Anton Arhipov has tried to convince us. He kept failing until he demoed something as simple as ALT+ENTER. Based on the documentation it is not doing much – just using the suggested quick fix. But this feature is backed by something that makes many other IntelliJ features so much more pleasing to use.

Indexing. Whatever the JetBrains guys are doing under the hood, their indexing is blazingly fast and supports different content. This benefits of the fast indexing are paying off in several different usability features:

  • As-you-type code smells and warnings. In Eclipse you have to launch the analyzing manually, in IntelliJ you will have the feedback on those immediately.
  • Code completion and code generation support offered is orders of magnitude better due to the very same indexes.  I guess you all remember the infamous java.awt.List autoimport on Lists which took years to be removed from the “top recommendation”. No such annoyances when using IntelliJ.

    alt-enter-intellij

  • The fixes offered by the ALT+ENTER make sense in so many occasions that it already starts to frighten me. On some cases I have suspected they have an Amazon Mechanical Turk watching me as I type – the recommendations are just so good.

Language support. They way IntelliJ is behaving on different content type feels just natural and uniformed. Whether I am editing a Java, Javascript, HTML or a JPA query – the syntax support is really good and the operations I perform are uniformed across languages. I do not need to learn a set of new shortcuts each time I switch away from Java. And the code completion support, especially in Javascript is something I failed to see in Eclipse. It just wasn’t there.

Perspectives. Or actually, lack of the perspectives. Eclipse tried to offer “the best perspective” for me while I was dealing with different issues at hand. For me it meant that my screen layout got mangled each time I switched from development to debugging or refactoring. It always annoyed me and now having just one extra context-dependent window for the additional operations I feel I have a solution I am actually enjoying

Debugger. It is blazingly fast. And I will not even start with the Eclipse debugging perspective, which has to be someone’s evil joke driving me nuts every time I recall using it. And the feature set is also more pleasant, my favourite being the “Smart step into” which allows me to select which method to step into, if I have a code line with multiple method calls.

Support. Eclipse is built by a foundation. This is not bad per se, but the different interest groups in this foundation make the governing and execution somewhat difficult. For me as a developer it results in support tickets disappearing into a void for weeks. No such problems with IntelliJ where I always have my questions answered in time and without bouncing the topics between different areas of responsibility.

Several minor things I only list some of the recent favourable discoveries:

  • JPA query syntax correctness is being checked as you type. Has saved me a day or two already not having to discover the errors in runtime.
  • Property files integration. While in a property file, I can see where in the source code this property is being used and detect unused properties immediately.
  • Integration with different browsers. To test my HTML, I can launch different browsers right from the IDE itself, so I do not have to go the extra mile (ok, an inch) and open them by myself.
  • CSS colors are visible right from the IDE, so I do not even have to check the browser for this.

IntelliJ-property-file-support

So I can only ensure that after your monthly trial will end there is no going back. But to be fully honest, there is one thing I do miss from the Eclipse as well – the “Save Actions”. If you haven’t used it, this is a possibility to create triggers being launched when you press CTRL+S. So for example I can have the imports organized, code formatted and @Override annotations added without any effort from my side. Haven’t found the IntelliJ equivalent for this one so far.

So, even though we cannot actually measure if we are more productive after the conversion, we are somewhat happier with the tools at hand. And we do believe that a good craftsman has to have the best possible tools in order to create the best possible craft.
 

Reference: Why we dropped Eclipse in favour of IntelliJ from our JCG partner Nikita Salnikov Tarnovski at the Plumbr Blog blog.

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

JPA Mini Book

Learn how to leverage the power of JPA in order to create robust and flexible Java applications. With this Mini Book, you will get introduced to JPA and smoothly transition to more advanced concepts.

JVM Troubleshooting Guide

The Java virtual machine is really the foundation of any Java EE platform. Learn how to master it with this advanced guide!

Given email address is already subscribed, thank you!
Oops. Something went wrong. Please try again later.
Please provide a valid email address.
Thank you, your sign-up request was successful! Please check your e-mail inbox.
Please complete the CAPTCHA.
Please fill in the required fields.

22 Responses to "Why we dropped Eclipse in favour of IntelliJ"

  1. Valdir Castaldelli Jr says:

    My impression about eclipse is that this IDE stoped in time… recently i’ve changed my IDE to NetBeans and despite my initial resistance now turned my favorite IDE.

  2. Henrique Carvalho says:

    About the save actions, you can use a macro to execute all actions that you need
    and bind it to the ctrl+s. It’s not the best solution, but works.

  3. Alex says:

    I’ll pretend you are joking…
    In eclipse you can do all these writing an RCP Plugin. The control+s I did in 5 minutes or so…
    I prefer control+s for my local history!!!
    Eclipse is my religion!

    • Kiryl says:

      At my work they don’t pay me for writing plugins. They pay me for doing the job.

    • Jim C says:

      What IntelliJ lacks most is a side by side Utube demo of why it’s better so people can actually see it. It’s the most wonderful thing since sliced bread but it doesn’t sell itself well.

      IntelliJ is now the official dev platform for Android, I’ve heard.

  4. Stephan herrmann says:

    Reasons like “drives me nuts” are hard to defeat, but I can tell you my favorite debugging feature:
    Ctrl-Alt-Click = “I want to step into that exact method call” – guess which IDE has it…

    Leaves us with the observation that many of the differences may simply relate to how you *discover* a particular feature.

    Same goes for many of the warnings which JDT issues as you type, IFF enabled (off-by-default).

    Etc.pp.

  5. Minor correction: Dali (part of the Eclipse JavaEE package) provides JPA JPQL syntax (and semantic) validation and code assist. The validation is not “as you type”, but upon “save”. This is performed for queries in both Java annotations and orm.xml mapping files. Also upon “save”, Dali will validate your JPA annotations and orm.xml files against your database schema, notifying you of, for example, invalid table or column names. Dali will also provide you with content assist within your Java annotations and orm.xml files, supplying you with a list of the appropriate database elements to choose from (tables, columns, etc.).

  6. smas says:

    The main question is: who would use Eclipse if it was not free? I’ve noticed that all Intellij users had been using Eclipse before, but it doesn’t work in the opposite way. I don’t know a single developer who came back to Eclipse from Intellij.

    For me, the strongest Intellij points are:
    – User experience,
    – Performance,
    – Beautiful UI.

    Simply, It allows me doing what I want in the most effective way, it’s worth spending money. I encourage you guys to spend one weekend with Intellij just to test it. And if you switch, give me $1 – I would be a millionaire :)

  7. Mickael says:

    Too bad you didn’t report some of these nice ideas as bugs at http://bugs.eclipse.org . They may have been resolved, and you may have saved 600 $ ;)

  8. developer says:

    If you have some new technology (or not enough support for something already existing) that is not currently supported by any IDE you can:

    – in case of Eclipse – you can simple prepare proper plugin and use it privately or share with others by sending it to the community to review and when it is interesting it will be merged to the Eclipse stream

    – in case of IntelliJ – you have to open the “request for change” (or pay for it) and wait, hoping that it gets proper priority to become the part of one of the incoming releases

  9. Noopur Gupta says:

    > Debugger: “Smart step into” which allows me to select which method to step into, if I have a code line with multiple method calls.

    The Eclipse Java debugger allows you to step into a single method within a series of chained or nested method calls. Simply select the method you wish to step into and select “Step into Selection” from the Java editor context menu. Or, use the shortcut Ctrl+F5.

  10. Manju Mathew says:

    Regarding “Integration with different browsers.” : Eclipse do have this feature. Go to preferences -> Web Browser. Choose “Use external web browser”. Here add all the browser you want to test your HTML with. Now select the browser you want your HTML file to be opened with. Now on opening the HTML file from within Eclipse, the selected browser will be used. You can change the browser selection to open the HTML file in a different browser.

  11. Noopur Gupta says:

    > Property files integration: While in a property file, I can see where in the source code this property is being used.
    In Eclipse, Ctrl+Click on a property key in the *.properties file shows the places in source code where it is being used and takes you to the referencing code.

  12. wim says:

    Thanks for blogging. It was an interesting read, and indeed, I have heard about some excellent nuggets in IntelliJ. It is a great IDE.

    However, your conclusion,

    “we are somewhat happier with the tools at hand”

    does not really fulfill the big promise you imply in the blog title. And I am sure you could have summed up some more points in favor of Eclipse if you really tried ;)

    Your blog is being discussed here:

    http://dev.eclipse.org/mhonarc/lists/ide-dev/msg00048.html

  13. developer says:

    Have anyone mentioned about performance of IntelliJ? Maybe Eclipse lacks of some cool shining stuffs, but it works considerably faster. Maybe writing simple application it doesn’t matter, but when you have project consisting of tons of classes, several jvms runing on your local system, some JEE container running on the machine or some DBMS (I’m not thinking about MySQL) to manage data then it starts to be major factor.

    Btw. don’t forget about MineRuby here

  14. Triguna says:

    I am an Eclipse user from past 10 years and the one you paid for 600$ all those features are available at eclipse as plugins.. its a matter of patience and search for which you paid 600$ like as if you don’t need to spend time in doing some research to get what you want at Eclipse…
    Anyways IDE is individual choice.. however when there are things for free available, I would rather don’t pay but pay some time… :-)

    All the best bro with your new frame of mind.. hope you still love it never come back to Eclipse…
    Lots of people I know had come back to Eclipse after experiencing Netbeans, IntelliJ etc.,.

  15. Ian Schumacher says:

    I find the autocomplete advantage of IDEA to be completely overstated. I use both Eclipse and IDEA and maybe I’m blind, but I don’t really see that big a difference Eclipse autocomplete is good and fast.

    I’m using IDEA recently for three fairly trivial reasons:
    1.) A decent dark theme.
    2.) Java 8 support
    3.) Search for configuration settings

    One thing that does mildly annoy me about IDEA is that formatting a document is Ctrl-Alt-L and it pops up a dialog every time. When I code I just type and don’t worry about formatting. That’s one of the advantages of using an IDE. This process ‘friction’ is annoying.

    I do agree with others that Eclipse seems stranded in time.

  16. Oto says:

    If someone show me how to use the same option “display” in debug mode in IntelliJ I will change my mind about the powerfull of eclipse.

    For me, this is the most important “extension” by eclipse ide.

    Thanks

  17. Stephen McConnell says:

    IDE wars….. mmm haven’t I heard this in soooo many forums?

    I love IntelliJ, but the new job uses Eclipse. I’ll go work on Eclipse until I can convert them to IntelliJ. But probably won’t be able to.

    So, I use the tool the shop is using. Or program in IntelliJ until they have an SDK tool for Eclipse that I can’t translate to IntelliJ.

    It depends upon which IDE you are comfortable with. NetBeans, Eclipse, IntelliJ… heck I have a friend that still uses VIM…… It’s all about religion…..

  18. Stephen McConnell says:

    Oh, I will add a point that maybe has not been mentioned.

    When I have a problem with IntellIJ, I write an email and I get a POSITIVE answer within less than 30 minutes. And the person or group stays with me until I get the problem solved.

    With Eclipse, I have to post to a forum and then I get surly people that treat you like your are stupid for asking the question.

    That’s worth the price of admission any day.

  19. Jonathan says:

    Anyone tried Netbeans before migrating to IDEA ? I’ve been using it for years……

Leave a Reply


9 − seven =



Java Code Geeks and all content copyright © 2010-2014, Exelixis Media Ltd | Terms of Use | Privacy Policy | Contact
All trademarks and registered trademarks appearing on Java Code Geeks are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries.
Java Code Geeks is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
Do you want to know how to develop your skillset and become a ...
Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

Get ready to Rock!
You can download the complementary eBooks using the links below:
Close