Scala Eclipse插件的当前状态是什么?

时间:2009-10-04 23:01:44

标签: eclipse scala scala-ide

当前的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的经历。

  • 亚历

11 个答案:

答案 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 2.7.7 final
  • Eclipse for Java Developers,3.5.1
  • Ubuntu Desktop 9.04 x64
  • Maven 2.2.1
  • JUnit 4.7

我创建了一个全新的项目,我只使用Scala,没有Java:

  • 使用maven创建项目,引用scala-archetype-simple
  • 我使用“mvn eclipse:eclipse”
  • 为它生成了一个eclipse项目
  • 然后我在Eclipse中打开它

以下是我面临的一些问题:

  • 我总是丢失语法高亮显示...关闭并重新打开文件帮助
  • 通常,从现在开始我得到大量的编译错误,找不到我的类,在eclipse中做一个CLEAN解决了这个
  • Eclipse有时会崩溃,需要我杀死-9 java进程,然后再次启动Eclipse,看到它抱怨工作区,然后重新启动它
  • 我正在编写vanilla JUnit测试,并且在运行它们时遇到很多麻烦,大部分时间Eclipse都找不到它们,重新启动Eclipse然后打开每个测试文件通常会暂时解决这个问题,我经常得到的错误是未与测试运行员'JUnit 4'
  • 找到测试
  • 许多错误的squigles出现在代码行之下,似乎可以忽略它们
  • Intellisense可能有10%的时间工作,清理和/或重新打开文件似乎暂时将其恢复原状
  • 有时候我在Eclipse的文本编辑器中输入的能力,如果我捏得足够可能会回来,或者我只是关闭并重新打开文件
  • 有时候突出显示和删除一行代码等基本内容会失败,而“删除”等错误则无法正常完成。有关详细信息,请参阅日志。

所以我解决了所有这些问题,最终结果是我每天多次重启Eclipse,并不断关闭并重新打开Eclipse中的文件,并经常清理。

答案 3 :(得分:4)

在2.7.4中变得更好。它会在2.8.0中大幅提升(它与Scala本身共同发布)。

它不是在Java工具的层面上,而是在不断改进。

答案 4 :(得分:3)

我可以确认,从Scala 2.8.0.RC6开始,截至2010年6月27日的Scala Eclipse插件运行得相当不错。

什么有效:

  • 语法突出显示
  • 一些自动完成
  • 查找定义(Ctrl +单击以导航)
  • 构建和语法错误突出显示

什么行不通:

  • 重构。
  • 编辑很慢。即使在标签之间切换也需要4秒钟。

这只是使用它几天了。

也就是说,我正在完成实际的工作,并且为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似乎不支持选择构建器。它总是选择列出的第一个。