Eclipse vs IntelliJ IDEA
January 30, 2011 16 Comments
It’s official. This is just a rant. It always is, because even the most serious comparisons of these tools are always clear win for the one used originally and total dismiss of the newly adopted one. I’m Idea user – for almost 9 years or so. I remember a few let downs with Idea – the biggest one for me is clearly introduction of Modules and lack of some good Project view as a result. And also the need to reorganize your project because to get support for web you had to move sources out of the standalone java part of the application (for instance). And application.xml must go to another (module) directory too. And if you add module “All” with the real project root, you can’t see anything in module subdirectories. This was more or less fixed somehow after Idea 4, but still… However – most IDEs somehow forces you to do something with your project anyway. And if you start follow patterns like Maven (not a bad idea either) than you should be safe.
Another issue I have with Idea (and I reported it – but it’s probably not good idea for creators) is a new search bar (since 7? 8? not sure now). Thing is, Ctrl+F is ok, but Enter should work differently. When you write your search string, Enter works like F3 and arrow down – but focus stays in the bar. Not only too many keys do the same thing – but you’re also not in the code after Enter. You have to Enter and Escape to get there. Hell, you can even Ctrl+F, write the search string and Escape – that’s does what I want (and expect from Enter). However, highlighting is gone. So what you really need to do is Ctrl+F, write and click to the code – you have to touch the mouse! :-) Not to mention that if you press Ctrl+F, write, Enter, Enter… you go through your searches and then you need to do another search, Ctrl+F pulls down previous searches instead of giving you the fastest way how to start another search. Firefox selects all and you can search something else – great! Idea’s solution is just so silly that probably previous dialog using way worked better for me. But maybe I’m the only one here.
But that’s it – otherwise I just love Idea. When I’m in code I can just feel it.
And then Eclipse. I’ve read someone complaining about how contextual (hence smart) Eclipse is and how difficult Idea shortcuts are. I can just say, that I’m going crazy when Eclipse offers different search depending on the file I’m in (is there EASY way how to full-text search the whole project – Ctrl+Shift+F in Idea?). Idea’s three different completions might be a bit problematic at the start, but much faster when you know what they do. And then – comparing Ctrl+N with Ctrl+Shift+T… well, I think it’s clear what is easier. I can always get faster to editor in Idea (and that’s actually what I do a lot) while in Eclipse it’s a real finger exercise.
Or Mark Occurrences – they are not sticky! I can’t choose and highlight this… and that… and go somewhere else. It just blinks like disco music all over the screen – or you can turn it off. There are so many features that were copied in much better fashion from Idea do Eclipse, but this one is just ridiculous. Sure I have to click Ctrl+Shift+F7 in Idea – but then – I can highlight any text, not just a type. And more of them. And obviously – I don’t need this Christmas lights turned on all the time (not to mention that the default colour is hardly highlighting – I was rather confused whether I selected something or what).
I also found that in many cases where Idea happily completes, Eclipse wants me to fix some braces first (took me some time to realize that) before he is capable to do so. And Idea goes to the next line after (un)commenting one, Eclipse not (by default at least).
Or SVN support – how can anyone compare SVN support in Idea and Eclipse? In Idea it just works out of the box (even in community edition). And Quick diff (that’s how it’s called in Eclipse, never needed to know the name in Idea) – it’s just far superior (and working right away) in Idea. Also colours are much more distinct (by default!), items in the outline on the right are easier to recognize, etc. In Eclipse all these things are rather greyish, often coloured with pattern instead of solid colour and always outlined instead of being nice thin (yet thick enough) line like in Idea. Deleted stuff in Idea’s diff shows as a triangle, not line nearly impossible to hit with a cursor.
And then commit! Lately I had to do my first “synchronization” and I was shocked how inferior the commit is in terms of my control over the process. Files that are not yet added can’t be told from those that are added to SVN – you have to right click them and check if Add option is available. Not to mention I don’t want to add them by default at all! It was also not that easy to find option to ignore white-spaces in diff view, not to mention I like three options offered by Idea more.
Rename refactoring in Idea selects the whole identifier and I can just write a new one – in Eclipse you have this feature if you switch to rename dialog, not in editor, you have to remember to select the stuff. On the other hand, sometimes it indeed is useful to have cursor on a specific place of the identifier. In Idea I actually miss easy way how to deselect the word without moving the caret – so let’s call it a draw here. Ad selecting – with Idea I can select a word in a string or part of dot separated property name – and then go on to the whole string, line, and on. In Eclipse I can’t select word from its middle in an easy way.
Eclipse is just like this. I don’t see things there, I need more perspectives to use it (never needed that in Idea), Console contains too many… well actually consoles – and there is yet another mechanism to switch between them (funny drop-down button instead of more tabs for instance). I just like Changes window and Run window separate! And that’s probably the point. We all love different things. And while both Idea and Eclipse are customizable to some extent, they can’t satisfy all developers. Even when both do the job (unless you want to sticky highlight thingies ;-)).
What I can’t deny to Eclipse – their plugin ecosystem is just absolutely awesome. And all these things like EMF or Xtext… many companies use their own plugins built on Eclipse. For a reason. Whether it’s because Idea wasn’t for free (as is Community Edition now) or not – it’s hard to say. But that probably helped a lot.
I’m now stuck with Eclipse and will probably learn to overcome some of the problems. But I can smell it right now, it will hardly grow on me as Idea did.