Praise to Idea (and to hell with Eclipse)
By andre
I gave Eclipse its fair chance. To be honest, I gave it more than one chance over the years. Each and every time it was a disappointment. It is actually amazing how broken the beast is. I tried various version and every time I tried to do anything that was even slightly out of simple Java editing using Eclipse’ own project format, the thing failed in the most miserable way. For example, I tried repeatedly to install Android plugin so that I could write code for the platform. Occasionally it would succeed, only to be broken later by deployment of some other harmless plugin, which would not play along. And recently I was not able to install ADT plugin at all.
Scala support for Eclipse is miserable, despite many iterations of Scala IDE plugin. The main areas are code formatting/indentation (still broken) and unexplained error messages in the Scala console, which seem to mean nothing, but still look scary.
The last straw came when I wanted to debug an issue with a new Android application I was writing at the time. I tried to deploy ADT plugin once again, only to fail yet again. At that moment I was prepared to revert to command line debugging, when I recalled that there were other Java IDEs in the world. I decided to give IntelliJ Idea a try, thinking that they would have a trial version for at least a few days. I would use it for the trial period, fix the issue at hand and, if everything worked fine, even buy the damn thing.
Imagine my surprise when I discovered, that not only there was a free version of Idea, but that it was also free (and open source, if you care)! The community edition is available for download online immediately and free of charge. It’s functionality is somewhat limited, compared to the commercial version, but not by much. So far I haven’t hit any of them anyway. You most certainly can write, debug, test etc. all standard Java/Scala code. I have been using version 14.02.
I was pleasantly surprised by how much better was Idea’s Scala support compared to Eclipse. Formatting worked, code completion worked, error detection worked. In fact, 99% of my compilation errors are caught while still editing. This is a huge step forward in terms of productivity.
I was able to import a non-trivial SBT project, consisting of multiple sub-projects. More, I didn’t have to change it, so I can still work with SBT via command line, which I do often. My changes to SBT are picked up when I restart Idea, which is a bit inconvenient, but I can live with that.
I was able to debug an Android application running in emulator. I was able to debug JUnit tests. This is simply great, since it saves time and allows me to move forward much faster.
There are some issues, of course - I had to play around with JDK configurations to make sure Android stuff is recognized by the IDE. I had to adjust the class path a bit - SBT parser seems to be not that perfect yet. Still, these are relatively minor issues compared to the stupid rituals I used to perform over Eclipse, which produced no results whatsoever.
Bottom line - IntelliJ Idea seems to be a very mature product with loads of features and is available for free. It works for me both on Unix and Mac (I haven’t tried it on Windows yet, but since it’s written in Java, I don’t see why it shouldn’t work as fine). It is certainly a very useful tool for a Java/Scala developer.
Disclaimer: I am not associated with IntelliJ Idea’s owners in any way and this is not an advertisement.