views:

3288

answers:

9

This is the same question for older version of Scala, but they say that Eclipse plugin has been improved vastly. Is it the best IDE now? How do different Scala IDE compare today?

+6  A: 

JetBrains IDEA's Scala plug-in handles 2.7 and 2.8 equally well.

I cannot make any comparisons because I have used only IDEA.

Randall Schulz
+13  A: 

I've been pretty successful with IDEA 9. I've briefly tried both Netbeans and Eclipse and wasn't able to get what I wanted. Eclipse's code-complete didn't behave as well as I'd have liked, and I couldn't find a way to make Netbeans handle Scala scripts; It'd just complain that the file wasn't a class.

To be clear, I've been using IDEA for a few years for Java, so keep that in mind:)

Sean
Can you remember what you wanted and didn't get?
Łukasz Lew
@Łukasz -- In Netbeans, it didn't seem to be able to handle scala scripts, only classes. Eclipse's code complete and syntax highlighting were a bit flaky. Valid scala statements were being flagged as erroneous. Again, it's possible since I'm not exceptionally familiar with Netbeans or Eclipse, that I misconfigured something.
Sean
I would currently recommend the combination of the latest IDEA 9.0.2 and one of the nightly builds of the Scala plugin which can be downloaded from here: http://confluence.jetbrains.net/display/SCA/Scala+Plugin+Nightly+Builds for example build #1289)
sroebuck
+5  A: 

For the moment, Scala Plugin in IntelliJ IDEA is the best. It handles Scala 2.8 well. IntelliJ IDEA Community Edition is now free and open source (and works with Scala), so I can't see any reason for not using it.

The plugin is still somewhat buggy (many "false negatives", i.e. the code without red underscores may not compile successfully; but almost no "false positives"), but perfectly usable. The best thing is that you can use IDEA's excellent debugger with Scala (not without some issues, but it actually works!).

FSC (Fast Scala Compiler) is also supported in latest builds. A huge time-saver.

The plugin development team is quite responsive. Some of the guys work directly in JetBrains and possess intimate knowledge about IDEA platform, so the development progresses fast.

Alexander Temerev
A: 

Same question from January 2010.

Łukasz Lew
A: 

I don't recommend the Scala IDE/Eclipse. It doesn't have a lot of the features that are even available for Eclipse with Java. And there are bugs.

Berlin Brown
A: 

I'd recommend IDEA's plugin for now.

The Scala plugin for NetBeans is quite nice too. It doesn't yet support NetBeans 6.9, the newest release, though, and you still need to download it manually instead of installing it directly from the plugin manager inside NetBeans.

However, it integrates better with Maven projects than IDEA's plugin does (this is true for NB and IDEA in general, in my opinion).

wolverian
+1  A: 

I am using the latest NetBeans and haven't tried anything else. I've met at least 2 notable bugs in NetBeans while coding in Scala:

One: NB occasionally come unable to run a program, hanging on scanning classpath scanning.
Solution: Create a new project, copy your code there and go on.
Comment: This bug is more than 10 years old.

Two: Sometimes NB can't see members of particular namespaces or classes and complains when you use them.
Solution: Just ignore and go on - compiler founds no errors and the program works.

Ivan
+4  A: 

Using Eclipse Helios with the dev-version of the new Scala(2.8) plugin, as there isn't an official release yet. That is beta, definitively -- but I can't confirm the frequently expressed opinion that this plugin is outright horrible ;-)

I'd say, the experience is already OK-ish, and indeed better than the current state of affairs with the Groovy plugin. OTOH, the experience with plain Java is way more smooth (feels like flying at times), and the current CDT I'd rate somewhat in between.

Incremental compile and error highlighting work quite well for me; tweaking a DSL implementation into form just by continuously rewriting your code until the error markers are gone -- without ever having to test-run your program -- is outright fun and just again shows that FP / static typing rocks!

Problems encountered from time to time: - implicits and nested types in other compilation units (esp. nested / super packages) aren't picked up at times when there are still other errors around; they will be picked up after an full build - there seems to be a memory leak in the version I'm using right now (from end august 2010), necessitating to restart the workbench after some hours of work - beware when you're using AspectJ, to make sure you get a version of the Scala plugin which relies on a JDT weaving bundle version which also works with AJDT

PS: I'm using maven builds in all my projects and generated the eclipse projects with the eclipse-maven-plugin, and then imported them as plain-flat eclipse projects. I can just strongly recommend everyone to keep away from the M2-eclipse plugin (for maven) in its current (2010) state, it makes your workbench painfully slow, is buggy and has lots of almost unpredictable behaviour, because it constantly tries to do magic things behind the scenes (and besides that, the aspectj support is broken since this spring)

Ichthyo
+1  A: 

It partly depends on your style of working, as all the options have strengths and weaknesses.

If you need refactoring across mixed java/scala projects, then IntelliJ is your only option.

If you want to do any work on the compiler or a compiler plugin, then Eclipse has the advantage of being able to launch a runtime workspace with a custom compiler build, including breakpoints. It also improved massively for the 2.8 Scala release.

Netbeans is a fine choice to go with if you're already very familiar with that platform, the costs of learning a new environment may well outweigh any benefits, and all three solutions are improving rapidly.

Kevin Wright