I’d like to preempt by saying, this is an off-topic post, but since I know what goes into building a tool, I think it’s a worthy undertaking to just give a quick shout out to those I think are doing great thing. So here is a quick roundup of a few nifty things I like to do with IntelliJ IDEA.
I’ve been using Intellij for several years now, and honestly, out of the many IDEs I’ve happened to work with throughout the years (Eclipse,Netbeans, VisualStudio…), this is definitely my favorite one.
Cloudify 3.0 – By the Community for the Community.
Check it out. Go
For me, Intellij has boosted my productivity exponentially, mainly by being a fast and smart IDE (and while, yes, I’m the metric on the smart side, so take it with a grain of salt, the fast can’t be disputed.) I do think I can substantiate these claims though.
- The fast and the furious. For me this is mostly a product of its excellent indexing capabilities. It indexes pretty much everything there is – navigating anywhere becomes an easy and quick experience.
- Smart stuff. I’ve found that it allows smart navigation in dynamic languages, or even between code in different languages, so you can “find usages” or “go to definition” on almost any piece of code.
Another piece of the “smart” aspect is Intellij’s code inspection – besides suggesting and allowing various useful refactoring abilities, it may often find problems and issue warnings, which can sometimes be as sophisticated to make me first go and dismiss the warning thinking to myself the “silly” code inspection isn’t smart enough to understand the code, only to realize a minute or two later that I’ve indeed missed a bug.
But…it doesn’t end there, I’ve achieved greater productivity thanks to a bunch of other features, so I’ll just do a quick roundup here of why I think it’s good stuff.
- Custom live templates – if you do something a bunch of times all day everyday – it just auto-populates your brilliant code with a quick little <TAB>.
- Keyboard shortcuts for virtually anything. If you happen to take your hand off the keyboard for the sake of the mouse, it means you must have missed out on the relevant shortcut that could help you avoid doing just that.
- Stability (I can’t recall it ever crashing, as opposed to other IDEs where this can happen more frequently than not)
- Tons of plugins and integrated tools – Using your commonly-used development tools is easily done from within the environment, and plugins get updated relatively frequently.
Ok, so because I don’t want to sound like an IntelliJ fan-boy, god forbid, there are some things you should look out for that aren’t ideal (but, for me, manageable at the end of the day). The most obvious downside of IntelliJ IDEA as compared to some other IDEs is that it costs money – although it IS comparatively cheap from a market standard (not to mention compared to the price of a VisualStudio license), and even the free community version may often be better than other options out there.
Some more cons (and mayhap these may be a bit nitpicky) might include IntelliJ’s appetite for RAM, and the fact that while its Java support is excellent, there are some language plugins which are good but don’t offer the same level of maturity. However, regarding the former, I find that this is the case with all IDEs. As for the latter, it seems to me to be only natural seeing as the migration to other languages is more of a recent shift, that said indeed plugins like the Python support have been heavily upgraded in these last few versions, and quite a lot more work is being put into them.
So just because I think they’re great, and would like to pay it forward in my own little way, I’d definitely recommend using IntelliJ IDEA whenever possible, and when it isn’t (e.g. .NET developers) – use IntelliJ’s Resharper, which augments VisualStudio with at least some of the abilities offered by IDEA – It’s better than nothing.