当前的Scala Eclipse插件(http://www.scala-lang.org/node/94)是否可用?我一直在读它的不稳定和马车,甚至无法使用。
参见上一个主题:What is the current state of tooling for Scala?
我已经简单地试过了,但只是为了琐碎的程序,到目前为止似乎还不错。
谢谢!
更新:我将潜入并使用Scala和Eclipse完成一些工作,我会尝试报告并告诉您我发现的内容。
更新:请参阅下面的答案,了解我使用Eclipse 3.5.1和Scala 2.7.7 Final的经历。
答案 0 :(得分:16)
对我来说效果很好,但我很期待2.8.0。有一个nice set of slides(pdf)概述了即将发生的重大变化。
答案 1 :(得分:8)
我发现它完全无法使用。语法突出显示有效,但就是这样。 JUnit找不到用Scala编写的任何测试。调试器无法找到源并在每个步骤后抛出奇怪的错误消息。我也听说过人们在自动完成甚至剪切粘贴时遇到了麻烦。显然,它也会减慢常规Java的工作速度。这是在7月下旬的Eclipse 3.5上使用Scala 2.7.5,所以最近才这么做。
对我来说,感觉就像编写Eclipse插件的人只是编译它并且在发送之前没有尝试过一次。听起来它对某些人来说效果不错。就个人而言,我切换到Emacs / Ant并没有真正回头。
答案 2 :(得分:7)
我一直在使用Eclipse编写Scala中的代码已有一个多星期了,我的结论是它确实有效,但还没有准备就绪。
我的设置背景:
我创建了一个全新的项目,我只使用Scala,没有Java:
以下是我面临的一些问题:
所以我解决了所有这些问题,最终结果是我每天多次重启Eclipse,并不断关闭并重新打开Eclipse中的文件,并经常清理。
答案 3 :(得分:4)
在2.7.4中变得更好。它会在2.8.0中大幅提升(它与Scala本身共同发布)。
它不是在Java工具的层面上,而是在不断改进。
答案 4 :(得分:3)
我可以确认,从Scala 2.8.0.RC6开始,截至2010年6月27日的Scala Eclipse插件运行得相当不错。
什么有效:
什么行不通:
这只是使用它几天了。
也就是说,我正在完成实际的工作,并且为HTML,CSS,Javascript和XML添加了Eclipse Web工具,这是开发Lift 2.0 Web应用程序的一种很好的方法。
答案 5 :(得分:3)
截至2012年7月,该插件状态良好,非常实用。
答案 6 :(得分:2)
2010年5月24日 我有eclipse 3.5和最新的Scala插件,scala 2.8.0 RC2 仍然是同样的问题:没有正确的突出显示,我不是在谈论自动完成和东西......我启用了JDT插件 - 如果它很重要......
令人遗憾的是,对于像Scala这样一种有趣的语言已经存在很多年了,仍然没有良好的开发环境......
答案 7 :(得分:1)
Eclipse Indigo for J2EE和Scala IDE插件2.9.1完全无法使用。
Eclipse太慢,甚至崩溃。当它没有崩溃时,它会丢失编译链接,并且不会停止警告我找不到类。我必须清理并重新编译所有项目。
我卸载它等待另一个解决方案或更好的版本。
答案 8 :(得分:0)
如果它适用于你然后继续使用它:)我有奇怪的光标问题,我做直接java时没有。通常关闭编辑器窗口并重新打开可以解决问题。
答案 9 :(得分:0)
我已经尝试过互操作(一个混合Java和Scala的项目),我遇到了问题所以我放弃了它。我真的非常想要这项工作......无论如何,我认为我的问题是因为我试图构建一个RCP插件而不是一个简单的无头Java应用程序。 Scala Nature似乎不在每种情况下调用Java编译器。我会看到一堆不真实的红灯,因为我的问题视图没有显示任何内容而且.class
文件是正确的。
我真的很期待带有2.8版本的IDE。
答案 10 :(得分:0)
我正在使用Scala-IDE版本2.0.0-v2_09,Eclipse Indigo,Scala 2.9.1。
有时我使用自动完成功能,例如:
//expected BufferedInputStream
BufferedInpu
然后我点击Ctrl-Space
,选择java.io.BufferedInputStream
,然后我的导入部分丢失了一些行,并且:
object PingPong extends Application {
...
变成:
object PingPong
...
我找到了我的解决方案,以避免使用BufferedInputStream
的全名,然后是Ctrl-Shift-O
: - )
或者有时它会警告我:
Multiple markers at this line
- object io is not a member of package
main.scala.pingpong.zip.java
//repeats 15 times
使用我的导入:
import java.util.zip.ZipOutputStream
import java.io.BufferedInputStream
import java.io.BufferedOutputStream
import java.io.FileInputStream
import java.io.FileOutputStream
import java.util.zip.ZipEntry
import java.io.File
import java.io.ByteArrayOutputStream
我曾经在Eclipse中引发终端代码,然后切换到终端:
sbt compile
sbt run
: - )
如果您有多个构建器,Eclipse似乎不支持选择构建器。它总是选择列出的第一个。