tags:

views:

13766

answers:

18

I like all three of the popular Java IDE's and all three have plug-ins for Scala. I'll probably try all three eventually, but since I'm totally new to the language I figured I'd ask which is the most full featured Scala IDE?

Update: Here is the same question for Scala 2.8

+2  A: 

I think the Eclipse Scala plug-in is my favorite. Although I use Eclipse for Java so it was an obvious choice.

Brian Fisher
+1 for now, since netbeans plugin is experimental. ;)
Adeel Ansari
+11  A: 

I am fan of Netbeans, if you include commercial then I would go for IntelliJ ;).

Here is the Scala Plugin for Netbeans. But remember its an experimental thingy, and you might need to pull it from nightly builts. For now, its good to go with Eclipse Scala Plugin, and if you are inclined towards Eclipse like Brian, and unlike me, then Eclipse is an obvious choice indeed.

Adeel Ansari
I think the javascript support in Netbeans is awesome. So maybe I'll give the Scala Plugin a try.
Brian Fisher
IntelliJ IDEA now has a Community Edition that supports Scala: http://www.jetbrains.com/idea/features/editions_comparison_matrix.html
Frederik
+3  A: 

The Eclipse Scala plugin is being developed by the scala language team, so it the official one. I prefer IntelliJ in general, so I use theirs. It works fine for me :-)

sblundy
+9  A: 

Eclipse Scala is probably the most featureful as the editor goes, but it's also pretty unstable. IntelliJ and NetBeans tend to be more stable in general. NetBeans also has some lift integration (or so I hear).

Personally, I find all of the Scala IDEs to be insufficient for my needs. For some reason they choke on a file with 70 case classes... Instead, I use jEdit with a tweaked editor mode. Between that and Buildr's Scala support, life is golden!

Daniel Spiewak
The NetBeans Maven plugin works pretty seamlessly with Scala projects, which I think is the extent of the "Lift integration".
Calum
I think the fact that NetBeans Scala plugin can achieve a solid "Lift integration" w/o actually having one is a huge credit to NetBeans.
Erik Engbrecht
+6  A: 

I'm really comfortable in Eclipse so I started there. First, I had weird difficulties getting JUnit to work. I think this was because I added the JUnit library to the project after I had already added some Scala classes to it. Then I tried to rename a file and it went bezerk. So I tried NetBeans instead. I've found it a little less responsive (NetBeans always is, it seems) and it has a few less features, but it seems much more stable so I'll stick with that until I hear otherwise.

Now that I'm more familiar with the Scala libraries though, I'm not sure I really need an IDE. I find myself much less reliant on "Ctrl + Space" coding than in Java. Maybe I'll go back to vim eventually.

Dave Ray
+6  A: 

You should definitely try out all 3. None has extensive features when it comes to Scala, so you'll probably have a favorite of the 3 after only a day or two of testing. My current fave is IDEA.

+1  A: 

I think Eclipse is the smallest evil at the moment. But it is also horrible buggy and not up to the language unfortunately.

Lemmy
+2  A: 

I've tried all three plugins now. I started with the Eclipse one, since I use that in Java, but it's still hopelessly unstable. The Netbeans one feels much more reliable, but I was hoping for more features. So I'm trying the IDEA one right now - so far it feels a bit temperamental but potentially more powerful.

All three need some work, it seems. :(

Marcus Downing
+4  A: 

I use Netbeans. The Eclipse plugin is definitely more advanced, but every time I try it, it drives me crazy with problems.

Erik Engbrecht
+4  A: 

I'm using Vim and happy with it.

stepancheg
!! does that count as an IDE?
oxbow_lakes
Of course is an IDE, autocompletion, search for files, navigate and more, you just need to learn it and it's awesome
MexicanHacker
+17  A: 

I've finally had the chance to use all three. As of June 2009, I find NetBeans to be the best. That's based purely on the editor though and I find Eclipse to be better in other ways. None of the three are very mature now, so I use Vim just as often.

EDIT

As of March 2010, using snapshot builds of Scala 2.8, I find IntelliJ to be the best.

EDIT

As of September 2010, using 2.8.0, I'm happy with IntelliJ, it's nearly satisfactory.

Craig P. Motlin
+1  A: 

I currently use TextMate (on Mac) with one of the TextMate Scala plugins/bundles and the Simple Build Tool (sbt) which automatically builds and tests if required whenever the source files change. Quick, simple and robust.

sroebuck
+3  A: 

In the context of 2.8, I have used Eclipse 3.5.x with the nightly plug-in and IDEA Community Edition 9.0. IDEA has been clearly better for me, except for compilation times. But I use sbt in parallel and it takes care of that.

My main issues with the Eclipse plug-in are:

  • Inability to change my tab settings in Eclipse (though that seems to work for others)
  • Code compiles but some errors are still highlighted and I need to close and reopen the file
  • Auto-completion just returns a lot of choices

I did not have those issues in IDEA 9.0 build #IC-93.13 with the recent plug-in 0.3.385. Additionally IDEA shows me unused import statements.

All plug-ins seems to be evolving quite quickly and are actively developed and I suspect that what is true today may not be in one month. I hope that in a few months from now, we will just be able to use our favorite IDE and have good Scala support.

huynhjl
A: 

The question is actually "not the worst Scala plugin" because all of them are pretty ugly and buggy. Its strange thing that such an expressive, powerful and progressive language still have no convenient IDE.

I checked out all of them but now using Eclipse plugin and I'm pretty dissatisfied with it. It crashes all the time, gives weird suggestions and doesn't allow to do even simple refactoring.

tuxSlayer
I certainly disagree that the Scala plug-in for IDEA is *either* ugly or buggy.
Randall Schulz
+1  A: 

I have installed the community edition of IntelliJ version 9.0.3 with the Scala plugin and it works beautifully -- syntax highlighting, code completion, and (this is critical given limited documentation for Scala, especially 2.8) the ability to navigate to declarations and implementations of Scala library classes and functions. IntelliJ seems to rebuild the entire project whenever you "make" the project, but in that regard it's no worse than the Scala Eclipse IDE. No crashes so far.

Before trying IntelliJ, I tried the Scala plugin for Eclipse and was very disappointed with it. I had tried it in the past and it was pretty flaky, but still provided some value despite its bugginess. I tried the latest "stable" Scala Eclipse version (Scala 2.8, Eclipse 3.5.2) yesterday (before installing IntelliJ) and it is effectively unusable -- very slow, buggy, crashes often (at least on Ubuntu 10.04 64 bit).

+2  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. IntelliJ is also the most stable option for Scala 2.7 code.

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.

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
A: 

for any kind of language, emacs is the only solution.

linjunhalida
+1  A: 

For everybody who is okay with EMACS, check out ENSIME -- http://youtu.be/A2Lai8IjLoY?hd=1

Allegedly, the server portion is generic and can be refitted to other front ends -- hoping to see Eclim Scala support one day.

nadavwr