Virtually everyone who has visited the Scala project page has seen the info page for the Scala plugin for Eclipse. There are a few screenshots, an update site and very little instruction on how to proceed from there. Those of you who have actually installed this plugin can vouch for how terribly it works as well as the remarkable lack of usefulness in its functionality. It’s basically a very crude syntax highlighting editor for Scala embedded into Eclipse. It has the ability to run programs and compile them within the IDE, but that’s about all. Worse than that, it seems to make everything else about Eclipse less stable; somehow crashing random, unrelated plugins (such as DLTK). Needless to say, it’s often a race to see how fast we can remove the Scala Eclipse plugin from our systems.
The good news is that once you get the plugin installed, the preferences beaten into submission, and the UI bugs safely ignored, things become quite nice indeed. The new editor is vastly improved over the old one, and it’s easy to see tremendous potential in the project. Things are actually getting to a point where I would consider using the plugin rather than my current jEdit setup.
Of course, it’s hard to get a good idea of how a tool works until you see it in action. That’s why I took the time to put together a small screencast which illustrates some of the highlights of the new editor. I made no attempt to hide the bugs which cropped up during my testing, so this should give you a fair approximation of the current state of the plugin and whether it’s worth trying for your own projects. The screencast has been produced at a reasonably high resolution (1024×732) in both Flash and downloadable AVI format. Enjoy!
Great, thanks for providing the screen cast!
Note that the plugin is still being developed: “It’s still a little rough round the edges (2008Q1) but is getting more stable as time goes on.” So I think it will improve quickly.
Thanks much for the info. I’ve seen comments about the “new Eclipse plugin” but with no links, information, timelines, or anything. I wasn’t even sure if the one on the main web site was the old one or new one. This helps clarify a lot.
Nice to have this writeup, Daniel. Note that the NetBeans Scala plugin (http://wiki.netbeans.org/Scala) is coming along, slowly but surely–I’m testing it with the very latest daily NB downloads, though I hope it will be stable for NB 6.1. The author, Caoyuan Deng, also won one of the grants to develop his plugin for NB, and that has an August deadline; so I’m hoping for something good.
Also, some people at IntelliJ continue to work on a plugin (under the ASL; the repository is open so you can keep an eye on progress), but there’s not updated release and it appears that it will be targeted at IDEA 8, if it does get released.
It’s a shame that IDE companies / organizations don’t realize how significant this process really is. NetBeans is devoting a lot of resources to Ruby, and JetBrains is spending time on Groovy, but I think that Scala may be more important to the future of development than either of these languages. Whichever IDE manages to produce a real environment for Scala first will control the genre for years. Just look at what NetBeans Ruby has done for the Ruby IDE world. There are now alternative IDEs with similar capabilities, but everyone is using NetBeans now because it was the first free Ruby IDE to really merit the name.
@Daniel–it is important, but it’s a matter of resources. For anything above simply highlighting based on syntax (which you may be able to do purely with regexes) and project/file support, you’re talking about having several dedicated engineers who are intimately familar with the language, testers to test the thing, people to document it…I understand when they aim first to support those languages that already have a foothold in the market. I would love if all of this came for free and we could just install a plugin for any language for which there is a compiler or interpreter. I just think it’s too much work to expect that to happen.
I think the NetBeans approach, of sponsoring plugin development (which IDEA has done in the last couple of years as well) isn’t bad, though without ongoing support most plugins end up becoming less useful over time, IMO. I’m hoping that as the plugin support for Scala improves, developers will start using it, and that might convince companies to start dedicating resources to it.
What software did you use to create the screencast?
A combination of Camtasia and Audacity. Camtasia handled the video recording, the mixing and the final rendering. After I did the video, I recorded the voice-over in Audacity and then imported it into the Camtasia project for the final mix.
It was a horror. At first most things seemed “ok” but if you get to work with packages and diffrent classes it messed up so fast. Last weekend i checked Scala on CLI. And voilá my Code was working! That got me really angry, but even more i am angry now to myself , lol. Because i bookmarked your screencast long ago but missed to look at!
Especially the point about the “new” plugin which i have high hopes for!
Thanks for keeping mortals like me interested in Scala Daniel! I hope one day someone (read: company with resources to spare) recognizes Scala’s potential (if only as a viable answer to F#), and commits to sponsoring really good IDE support.
Hi Daniel! I have recently placed a short “A novice Scala programmer: Eclipse vs. IntelliJ IDEA vs. Netbeans.” series to my blog.