IntelliJ IDEA + Scala utterly unusable

It seems that IntelliJ IDEA 8.0 EAP and its Scala plugin have reached the point of being completely unusable. This is such a shame given that there are no existing viable alternatives (don’t say Eclipse and expect me to keep a straight face). I guess it will be emacs or Kate in the future.

The last few EAP releases crash the IDE when you expand some source trees resulting in a perpetual wait icon. I receive a dialog about submitting the bug and I have done, three times. The last two EAP releases (8823 and 8810) don’t allow me to install the Scala plugin at all. Upon restart, the IDE is unaware that the Scala plugin has even been installed. As a result, I have to use 8664, which my trial is due to expire any time soon.

The IDE constantly gives me false errors (surely it is not difficult to download the Scalaz source and observe the IDE complaining about errors that do not exist?). The IDE causes a segmentation fault if I use the Sun JDK 1.6.0_07 and I receive an UnspportedClassVersionError if I use version 1.5, so I am forced to use 1.6.0_10. The IDE is barely responsive on a 3.2GHz machine with 1.5GB memory and it doesn’t even align scaladoc comments properly as you write them. I am constantly manually fixing up indentation in the source code.

With so many elementary failures, I think any reasonable person would concede that IntelliJ IDEA is as unusable as Eclipse. That ends my whinge; thanks for listening.

20 Responses to “IntelliJ IDEA + Scala utterly unusable”

  1. Daniel Says:

    I installed the scala plugin to my 8664 build this morning, and it rendered my IDE unusable - now I can’t get IntelliJ to start at all.

    I just finished downloading the 8823 build, and was about to install the scala plugin again. Thanks for the blog post, I’m not even going to bother now.

  2. Daniel Spiewak Says:

    Actually, I’m going to seriously suggest Eclipse SDT. It’s still to unstable for a lot of the things I do, but it’s getting better. I still am forced to use jEdit for anything truly complex (especially with case classes), but my simpler Scala experimental projects have all moved over to Eclipse. Give it a try, you may not gag *right away.* :-)

  3. Blair Says:

    I’ve been using the netbeans plugin, which, while it is reasonably stable, need to run on the dev version of netbeans, which isn’t.

    given, that a release of netbeans 6.5 isn’t far off though, there is light at the end of the tunnel there as well.

  4. Jeff Heon Says:

    Well, it is an EAP after all. I think it’s too soon to pass judgment on the product until it’s closer to release.

    To quote from their own site:
    “However, it is important to distinguish EAP from a pre-release software. Please note that the quality of EAP versions may at times be way below even usual beta standards.”

  5. Jeff Heon Says:

    Of course I do agree with you that it’s not usable now. I’m just saying it’ll get better. Which mean maybe I shouldn’t have posted my earlier comment at all. I’m too tired to think straight, I’ll go to sleep now ;)

  6. Tony Morris Says:

    The point really is that it is not only not usable, but it is becoming less and less usable. There is nothing to look forward to.

  7. Anatoliy Knyazev Says:

    Tony,

    I can’t agree with your last comment. I’ve been using the EAP Idea + Scala plugin since sprign, and it always has been ways better then the Scala plugin for Eclipse (both of them). The latest builds are indeed broken, but the main difference between the proprietary IDEA and the free Eclipse is that when Intellij declares that something is working and sells it, it is working. Neither the Idea 8.0 nor the Scala plugin have been officially released yet, and I’m sure they will improve.

    Thanks :)

  8. Jesper Nordenberg Says:

    Latest EAP (version 8823) and Scala plugin (version 19391) works fine for me. I manually unzipped the plugin in the “plugins” folder.

  9. Jon-Anders Teigen Says:

    Im using #8769 and it actually works quite well.. The plugin installed without problems, and its fairly usable.
    There are some random errors, but the ide is not going down, so I can accept the little red dot in the corner. In rare cases it gives you compiler errors when the scala compiler does not, and for complex stuff the code-completion just stops working…
    But its better than nothing…. I think

  10. Inigo Says:

    Odd - I’ve had completely the opposite experience. Perhaps I’m editing smaller amounts of Scala than you, but I’ve found it getting better and better. My only real gripes at the moment are that the editor performance is poor on large files, that compilation is slow so it’s better to use mvn scala:cc separately for it, and that the smart completion of method names and so on often needs you to help it by explicitly adding type declarations rather than being able to do it all by inference.

    Yesterday morning the Scala plugin was completely broken with 8823 - but they released a new version mid-morning that fixed the problems. Maybe you were trying it in that window? I find it best to keep up-to-date with both the latest EAP and the latest Scala plugin - if you have older EAPs with newer plugins or vice versa, then it won’t work.

  11. Eugene Vigdorchik Says:

    I don’t agree with your point on the plugin becoming less usable. However I do agree that the recent versions that were uploaded to plugin repository were quite unstable (actually the last one from yesterday is pretty stable to me, and I use it for plugin development). Partially that is caused by the lack of QA for plugin, another part being in too frequent releases, so there are really many changes incorporated in each version.

    As for some red code, this is indeed a known issue caused by lack of plugin not understanding scala class files (thus we don’t see thee aliases in Predef for example). This really requires for scalac API which we are waiting for.

    JDK 6 issue must be fixed in the latest build to the best of my knowledge.

  12. Mark Says:

    I tried installing it on 8823 a few days ago and had all kinds of problems. Yesterday (9/23), however, there was a new version in the morning that fixed several problems, and another in the afternoon that fixed the exception I was getting during startup. It seems at least usable now.

  13. Jonathon Dunn Says:

    wrt the Eclipse Scala plugin, I’m interested what’s wrong with it and how to make it better.

    I have only recently started using Eclipse and am new to Scala, but not FP (Haskell) etc in general. I like some of the Eclipse environment/productivity stuff, like Mylyn etc, as well as 1or2 slighly obscure plugins (Alloy for example).

    I’ve looked at (but not in anger) Netbeans and it’s Scala support, which on paper seems pretty good and moving forward - but I have to choose and Eclipse seems ‘more complete’ as a package.

    Any thoughts? - it seems to me a decent IDE/environment is crucial to a language catching on - othewise it’s Java, C#, C++ blah, blah forever?

    J

  14. Tony Morris Says:

    Many people use Scala as if it were Java. Under my description, this is a “useless” exercise, since Java (and the harmful mindset that it perpetuates) is also useless. It is when you use Scala in an appropriate manner that the uselessness of IntelliJ IDEA becomes apparent. If “it works when I use Scala like Java”, then this does not fall under my description of useful. I am not arguing that it should fall under yours, rather, just clarifying my intent.

    If it is the case that IntelliJ IDEA is not becoming less useful (in terms of Scala), then I am going to need more convincing given that over time, for me, it has gradually become painful with workarounds to now absolutely and explicitly unusable (as in, the plugin simply will not install).

    When I use IntelliJ IDEA, I often have Functional Java, Scalaz and one or two other modules loaded and working on. Can others do same?

    I sure hope this is not a method of software development that I was once privy to at a certain corporation where lots of code was written for the mere sake of it, then bugs were fixed later. Boy was that a disaster (and still is).

  15. Eugene Vigdorchik Says:

    I agree that the plugin does not yet support scala type system fully. But this is not a degradation, it is rather the work in progress, and since scala type system is significantly more complex than java, it will take more time to implement.
    BTW, have you tried latest IDEA (build 8823) with the latest plugin version? I’m not aware of any major problems with that.

  16. Ilya Sergey Says:

    Hello.
    I should say, that all suggestions for IntelliJ IDEA’s Scala plugin will be appreciated.
    As for “red” code, we try to find the best balance between possible error inspections and huge amount of wrong “red” highlighting. As Eugene explained, the bottleneck is Scala-produced bytecode, and for now we’re not able to collect all necessary info from appropriate .class-file attributes and this is top priority task for us. Usually features which seem to be obvious for Java-users, of IDE demand for heaps of work, and final result, such as completion of untyped parameters or impliced converted values, cannot be implemented immediately. As for “pure functional” features of Scala, I remember my experience to explain principles of ScalaCheck to several Java-developers. They had very big troubles understanding all its implicit conversions. It would be better, that this part of Scala is something like “Haskell on OO-foundation”, that’s why we need to work often with abstractions of different kinds and wrappers between them.
    Another problem is non-compatibility of some plugin versions with last IDEA EAP’s. That’s why now we act according the principle “every Scala plugin EAP for exactly one IDEA EAP” to avoid such situations and we publish new version of our plugin with appropriate new IDEA build. Unfortunatelly, there might be some problems with old plugins versions.
    Anyway, the problems of those users, which inform us about them will be fixed as soon as possible. Thanks.

  17. Tony Morris Says:

    Let me just point out that I care least about the fact that the IntelliJ IDEA Scala plugin gives false alerts for errors in relatively trivial code. Indeed I have endured this for many months. What is more concerning is that the plugin has slowly denigrated to the point of being unusable. Unusable in the true sense of the word — I cannot use it, even if I were to concede to the pain that I would have to suffer.

    Yes I have tried 8823; in fact, that’s when I just gave up. Let me try it again right now, just for kicks. I will delete ~/.IntelliJIdea80 as well, just to ensure a fresh start.

    $ rm -rf ~/.IntelliJIdea80
    $ tar -zxf ~/Desktop/idea8823.tar.gz
    $ ./idea-8823/bin/idea.sh
    $ # Import Settings Dialog, click OK then twiddle fingers for 5 minutes
    $ CTRL-C. IDEA will not even start, yay!
    $ $JDK_HOME/bin/java -version
    java version "1.6.0_10-rc2"
    Java(TM) SE Runtime Environment (build 1.6.0_10-rc2-b32)
    Java HotSpot(TM) Server VM (build 11.0-b15, mixed mode)
    

    I would like to think problems are going to be fixed, but IDEA was once “usable with some annoyances” which then went on to “usable with even more annoyances”, it is now “unusable no matter how hard you try”. I am noting the trend and look forward to observing its reversal if it is at all possible.

    Oh and yay, my idea-8664 trial has expired. Now if that is not “unusable”, I really don’t know what is.

  18. Tony Morris Says:

    Update

    1) Delete ~/.IntelliJIdea80 (oh well, I’m so used to specifying my settings over and over).
    2) Start IntelliJ Idea *Do not open a project*
    3) Install the Scala plugin
    4) Open your project
    5) Observe reasonable usability
    5.1) There are still issues of not being able to open certain source folders (try it and see for yourself scalaz.control in Scalaz trunk)
    5.2) Other minor annoyances that needn’t be mentioned

    I have repeated this twice on different machines (8823). Swapping steps 3 and 4 result in a rapid degeneration of usefulness to the point of absolute uselessness.

    Thanks again for listening. I hope the usability trend reverses.

  19. λ Tony’s blog λ » Blog Archive » IntelliJ IDEA whinge Says:

    [...] λ Tony’s blog λ The weblog of Tony Morris « IntelliJ IDEA + Scala utterly unusable [...]

  20. λ Tony’s blog λ » Blog Archive » Intellij + Scala; it is with great regret… Says:

    [...] despite my expressed hopes, in appears the state of Intellij IDEA with Scala is not improving but worsening. This is sad. Each [...]

Leave a Reply