IntelliJ – The IDE I wanted to love

27 June 2009, by: Development

In the Java market we have a plethora of ide’s to choose from. The one I am most familiar with and also see used most often is Eclipse. Everyone knows Eclipse of course. Eclipse is not without its faults. So its natural to look around every so often. Eclipse is my baseline. At this point we arrive at IntelliJ. IntelliJ is another well known ide. I have heard IntelliJ described as the only ide for java developers, the ide that wil increase productivity 10-100 times. Its a commercial product which means you can have a reasonable expectation of stability, customer support and all the nifty tooling you would expect in Eclipse or any other ide. Naturally you expect it to be better than Eclipse or you would’t pay for it. I proceeded to download, install and put IntelliJ to use.

A few words on environment. I run Debian Lenny on a Dell Precision T-3400.

IntelliJ is an easy install. Download, unpack, run (,????, profit!). Its only 100MB compressed which is less than 150MB for Eclipse classic (and a lot less than 650MB for MyEclipse). You may need to check JDK_HOME variables but I’m guessing most people wil have this set up already. Otherwise what are you doing with a Java specific IDE. You may be confronted with a dialog or two. To begin with you should be safe with the defaults. Odds are you only need a subset of the defaults to begin with anyway.

My first impression after the install is that IntelliJ is very pretty. Especially after I changed the theme. This all went really well. Everything was fast and seemed well thought out. Of course IntelliJ has its own key mapping, menu ordering and things of that nature. If you like you can enable Eclipse key mappings but if you want to get to know a program rather than get to work quickly I recommend going with what’s totally unfamiliar. Although I am of the opinion that ctrl-s means save in any language.

The Subversion plugin works like a charm. I am even convinced it’s faster than Subversive…at least in our local environment where Subversion has, at times, been a pain to work with. If for no other reason, this plugin makes me want to use IntelliJ. If my work confined itself to talking to the repository I would be done. Forever.

So here we have a fresh working copy of our project, complete with Eclipse project files. IntelliJ understands Eclipse project files or at least so it claims. An import or two later and I have an official IntelliJ project. As far as I’m concerned I just need to point this puppy to Tomcat and we’re good to go.

Now IntelliJ has a lot of spiffy UI thingies. You got screens for configuring everything. You’ve got modules and facets. You’ve got raindrops on roses and warm woolen mittens. Confidently I configured the project to deploy to tomcat. Of course it wouldn’t work at once, that would be too much to ask. I was convinced any problems I was sure to encounter would be easy to solve.

My first problem comes in the form of compiler errors. “But wait,” you say, “did you not do a fresh checkout? Are your colleagues so daft that they enter broken code?” That would be yes and not usually. IntelliJ seems less permisive than eclipse in allowing certain constructs. Mind you Eclipse has no compile errors on the same code…so it can’t really be a compiler error since they use the same one. Ok, so its a precompile syntax validation check error or whatever. It’s not really a big deal.

Unfortunately I have no clue what IntelliJ is really doing. Somewhere there exists a tomcat. Somewhere there exists at least one copy of this tomcat. Somewhere you may or may not be deploying your project. Ok, I can actually find where IntelliJ hides its tomcat copy. Why can’t it just use my tomcat? I don’t know. Oh you can, sort of, but then you all of a sudden have to start and stop tomcat yourself. Not that I really care that IntelliJ uses a copy of tomcat, except that this copy still uses the originals directories. Sort of. I think. I’m not really sure.

A word on IntelliJ support. If you happen to write them they answer quickly. Really quickly. Actually the reply is there almost before you press compose mail. I was seriously impressed. Unfortunately they couldn’t help me and I dind’t want to rely heavily on support which is mostly meant for paying customers anyway. I also don’t like using support lines in general. It feels like a flaw in the product. Which it is.

You may be asking why I didn’t simply look up the answers in the documentation. IntelliJ documentation is one of the worst I have ever seen. It’s not worse than factually wrong information but it’s not better than a blank piece of paper. Basically if you have something labeled “Perform action” the documentation wil read “Performs the action Action”. The documentation will never actually explain what is happening or go into the details of anything.

So now I have a project which may or may not be deploying somewhere. After some looking around I do figure out I have lots of classpath problems. Also, my ant builds aren’t being run. Ok, add library here, ant build before deploy…Some progress made but not enough. My project still won’t work.

To make a long story short for about a week I’ve been playing with IntelliJ. I’ve installed, reinstalled, checked out, imported, etc, etc. I can’t get our project to work. This is a project which does work under Eclipse. So I blame IntelliJ. Where Eclipse always seems to have the thing you are looking for where you are looking for it, IntelliJ will make you search for it. Where Eclipse forces you to know what you’re doing and setup this and do that, IntelliJ has done it for you (mostly) and otherwise you can pretty much forget it.

To me IntelliJ is like a beautiful woman with a really anoying personality and a deaf ear. I really wanted to like it. Ask my colleagues, I am ready and willing to say that I hate something. I do it regularly and with passion. I do it to Eclipse all the time. Yet, despite all this, I really can’t hate IntelliJ. I would still really like to work with it. I’m convinced it could be really good. I can’t hate it and yet I can’t love it. For now it wil remain the IDE I wanted to love.

14 comments to “IntelliJ – The IDE I wanted to love”

  1. Sébastien Arbogast says:

    The problem is not IntelliJ, it’s how you use it. And I’ve seen that a thousand times. People have come to depend on Eclipse so much, that their projects simply won’t build anywhere except in Eclipse. Try IntelliJ on a project that builds and deploys completely headless, such as a Maven project, and you’ll be amazed. Or start a project from scratch inside IntelliJ, and you’ll really understand where its power lies. But the whole Eclipse import thing is a mistake from IntelliJ guys. I understand why they did it, but it doesn’t work. Importing an Eclipse project into IntelliJ is like trying to make an ugly fat woman fit into the beautiful red dress of your beautiful woman. zzzzip… CRACK!

  2. William Shields says:

    So basically you have no idea how to use it, pressing F1 doesn’t immediately spoonfeed you the answer, it works differently to Eclipse and it’s all IntelliJ’s fault.

  3. Vinny Carpenter says:

    I have to say that I have been an IDEA user since early beta of v2.0 and it is the best IDE out there. Having said that, I can understand someone coming from Eclipse finding things a little different. Quick question — Do you know what application you are trying to build? What is it doing? How is Eclipse managing the project and what is Eclipse doing? If you don’t know what your project is doing, how its built, it’s not really fair to blame an IDE for your ignorance. You may want to refer to this document on how to import an Eclipse project into IDEA and good luck.

  4. OtengiM says:

    Before post stupid blogs you should first learn and experience more how to use IntelliJ IDEA. Bad bad blog.

  5. Bill Pfeiffer says:

    I get the same type of feeling that you encountered when trying to use Intellij IDEA. I just get it when I try to use Eclipse. Frankly they are both complicated IDE’s with complex project structures and deployment schemes. Every problem you encountered I have generally walked through in IDEA without much problem. I work in a shop that is half IDEA and half Eclipse and we all work on the same J2EE project with the same Ant build script. Each has its library config, etc. My perception is that both are extremely good IDE’s that really help productivity, however, I do tend to see the IDEA guys using the ‘magic’ features that gain IDEA its reputation as an IDE that developers love. I use both and I see developers utilize very cool features in both. The “I couldn’t learn to love it” crowd usually hasn’t taken the time to be comfortable in the IDE (either one). My $.02.

  6. Rod Morgan says:

    I can relate to the sentiment of feeling completely lost in a new environment. I started live using visual studio (C++ and early java). When I switched to Eclipse I felt a little lost too, but only for a short while. Later I tried to use Xcode on the Mac, but simply could not get used to it. I have had mixed feelings about IntelliJ, it’s true that one should put some effort into learning it, but I tried that and still felt lost with it. Maybe I should have tried harder, but exactly how much harder?

  7. duffymo says:

    If you have a working Eclipse project, why don’t you ask IntelliJ to import it?

  8. Dean Schulze says:

    I tried switching to IntelliJ 4 years ago, but there was no serious resource for an Eclipse user migrating to IntelliJ to turn to. I posted some basic questions on the IntelliJ forums, but got no response.

    My impression was the the IntelliJ team doesn’t want to help Eclipse users migrate to IntelliJ. Maybe they are afraid of having an Eclipse user come to the conclusion that the IntelliJ emporer really has no clothes. Or maybe they just consider it below their dignity.

    Either way, IntelliJ didn’t work for me.

    Now I would love to find someone help me migrate to NetBeans. I understand that for JAX-WS development NetBeans is significantly ahead of Eclipse.

  9. Thai Dang Vu says:

    Your problem is at the Eclipse project import feature of Idea. I never try to import an Eclipse project into Idea, so I don’t know how difficult it is. But when I know the directory structure of an Eclipse project, what libraries it uses (it’ll be great if it’s a maven-based project), then I can configure Idea to use that same directory structure and libraries.

    One thing I think Eclipse is better than Idea is that it seems to me Eclipse starts application servers (like Tomcat, JBoss) faster than Idea.

    PS: the refactoring feature in Idea is great while that in Eclipse sucks.

  10. Jasper Floor says:

    I agree with the people who suggest using IntelliJ from scratch would be easier. The project I have doesn’t have the best structure. I simply don’t have the time to get it to work since my job isn’t playing with tools to figure out how they work. I’ll probably get back to it someday, but for now eclipse is just easier. Mind you, in the future we’ll have reorganised out project so it will probably be easier to switch.

    Otoh, since someone mentioned NetBeans, I have colleagues playing with NetBeans and they are quite enthusiastic about it. So it might well be that IntelliJ has sort of lost a chance here, even if it is because of my ignorance. In any case I know I will come back to IntelliJ someday. I probably will wait until I have an isolated project to work on however. Even migrating Eclipse project between different flavors of Eclipse can be frustrating.

  11. Scott Barring says:

    Timely post (for me). I stumbled across this after searching frantically for clearer information on using IntelliJ facets and artifacts. Not the “how” but why behind the feature… and maybe a little “how” as well. No one on the team could explain them exactly… No one knew exactly how they worked. Everyone knew just enough to get going. And the documentation on the intelliJ site reads EXACTLY as you described— and here it is 2013.

    I found myself in the position of coming up to speed on a new GWT project, using new frameworks, and having not used IntelliJ in about 5 years. I’ve been mostly doing Objective-C and C development over that time. Anyway, as an exercise, I tried to get everything up and running under Eclipse (which has a ton of it’s own problems, believe me), but found the whole process a lot easier. The opaqueness of the Intellij GUI and features definitely made it more of a struggle for me to be honest. Still, I find myself wanting to stick with IntelliJ but am growing increasingly frustrated with all of the things it wants to “help” out with behind the scenes. All of that “helping” leads to helplessness… particularly since it’s not often clear how to take over things manually (and have intellij not fight with your build scripts).

    The problem (for me anyway) isn’t Eclipse. It isn’t bringing an Eclipse mindset to using Intellij. It’s exactly what the author hits on in the article—intellij itself. Often I think developers forget the importance of having a fresh eye on a problem and the valuable perspective that can bring to a discussion. Anyways… I’m a little less frustrated knowing I’m not alone and will try to give this another go (really have no choice since the dev team has adopted intelliJ wholesale).

  12. vladb says:

    And here it is… 2015 and i just gave up with IntelliJ after struggling 1 day to bring into the project explorer 2 different projects. I find this really embarrassing for the “greatest IDE”. For me, it’s almost impossible to believe that there are IDEs which don’t support multiple projects in the same window.

    P.S. Don’t bring me that “use modules” solution. That hack is so unnatural that even Borland C will laugh at it.

  13. Levon says:

    For me the inability to disable the autosave was a dealbreaker — too bad, much to like about IntelliJ and PyCharm, but I want to control when and how I save my files. I know there’s a history I can use to restore previous versions – but why add extra steps to undo something I didn’t want to have done in the first place? I HATE this “feature” .. the standard workflow used by almost every other editor/IDE is what I want – my files are my end products, to mess with them.

  14. bb says:

    I’ve tried IntelliJ 2 times now and each time I gave it 1-2 months exclusive attention. I learned its crazy shortcuts and finally got used to them, but in the end IntelliJ keeps frustrating me and distracts my attention from the job.

    I can only agree with: you switch editors, you switch problems. Yes IntelliJ has nice features, and yes there are a lot of small things where Eclipse does things better.

    In the end Eclipse feels natural and IntelliJ had a bunch of shit you constantly encounter and for which the eyes of the fan boys remain closed.

Type your comment below:

Time limit is exhausted. Please reload CAPTCHA.

css.php best counter