The nice guys at JetBrains have been providing us for [fleXive] a free open source development license for quite some years and we are very grateful for this support!
Lets take a look back at the far and distant past and see why we made the switch to IntelliJ IDEA:
Previously we used Eclipse (and to be honest we even tried Netbeans which was back then a real pain to work with) and we spent a lot of time navigating through the source, doing manual refactorings, switching back and forth through various IDE views/modes and got used to the thing they called ‘debugger’. We were actually happy with how things worked, not knowing about alternatives. Then a friend from university approached me and showed me a product called ‘IntelliJ IDEA’. A bit sceptical at first a team member switched to IntelliJ IDEA and the rest followed immediatly 🙂
Since [fleXive] was using JSF from the start a big need for us was to have a firm (x)html support – and IntelliJ IDEA delivered just that: code completion (that actually worked!), switching between code and views using simple clicks and not to mention refactorings. Did I mention refactorings? It saved (and still does!) a tremendous amount of time – from simple renamings to introducing new arguments to methods or simply finding code duplicates.
Another thing that really got us hooked was support for multiple (JVM) languages: [fleXive] relies heavily on Groovy code – from dynamic events (upload a Groovy code snippet and execute its e.g. when a content is saved or changes), to start-up scripts. Groovy is a first class citizen in [fleXive] and using IntelliJ IDEA we are able to code in Groovy like we were used to in Java. Now that IntelliJ IDEA does support even more JVM languages we are very tempted to bring Scala support to [fleXive].
Last but not least lets mention the debugger: If you come from Eclipse you know the pain I speaking of – just try for example to evaluate or even change expressions/properties at ‘debug-time’. The latest iteration of IntelliJ IDEA (v14) even shows variable values within the code, which helps us a lot – making things even more productive.
Thanks to the plugin-support of IntelliJ IDEA we are able to run even more useful tools within IntelliJ IDEA: we’re running JRebel for hot-redeployments and the YourKit Profiler to optimize [fleXive]’s performance – a big thanks to these companies here for providing open source/social licenses for us here as well!
Bottom line is: if you are coding in a JVM language and have not tried IntelliJ IDEA yet – give it shot, I doubt you’ll regret it!