Ridiculous attention to detail. It isn't the big things, mostly, that draw me to IDEA (though some of them, like the way it handles projects and that Maven Just Works, help a lot), but the thousand little things that someone, somewhere, got right that you don't think about. Unless I think about it, I just notice that the overall experience is somehow more pleasant.
Stuff like what comes first in autocomplete (Eclipse's quality in this regard has been somewhat inconsistent). Refactor suggesting intelligent names for variables based on their types.
And then there's the theming. Normally, Swing apps are somewhat ugly and generally obnoxious. The JetBrains folks have put together a Swing LaF that's beautiful and compact, which also contributes to the overall experience just being pleasant.
For example; for some reason Flash pretty much always crashes when you're pausing the VM (stepping through commands) for too long, but it's impossible for the IDE to detect that.
That meant that every time this happened you would need to first stop the debugger and start it again. In IntelliJ IDEA 12, only for Flash, the debugger's start button now turns into a 'restart' button which does just that in one click.
It might be a tiny detail, but somebody actually looked at my specific use case and added an improvement for it which is quite an amazing level of attention to detail.
Well, it is a Swing app and Swing apps on Linux look atrocious. Especially the font rendering looks like taken from Linux distributions from 10 years ago.
When you see this on the first run, it kind of successfully undermines the argument about ridiculous attention to detail. I know that Swing is not under JetBrains' control, but Eclipse looks fine.
IntelliJ used to look quite a bit like a Swing app. At least on OS X, going from 10 to 11 was a major visual improvement. You can tell it's not native, but it's MUCH closer than it used to be.
Hmm, I don't use Linux myself so I can't really be 100% sure. But I found the info here. Maybe they don't mean "platform rendering engine" when they say "system fonts"?
Stuff like what comes first in autocomplete (Eclipse's quality in this regard has been somewhat inconsistent). Refactor suggesting intelligent names for variables based on their types.
And then there's the theming. Normally, Swing apps are somewhat ugly and generally obnoxious. The JetBrains folks have put together a Swing LaF that's beautiful and compact, which also contributes to the overall experience just being pleasant.
I'm happier using IntelliJ.