17

当前的 Scala Eclipse 插件 ( http://www.scala-lang.org/node/94 ) 可用吗?我一直在读它不稳定和错误,甚至无法使用。

请参阅上一个线程:Scala 工具的当前状态是什么?

我已经简短地尝试过,但仅适用于琐碎的程序,到目前为止看起来还不错。

谢谢!

更新:我将深入研究并使用 Scala 和 Eclipse 完成一些工作,我会尝试报告并让您知道我发现了什么。

更新:请参阅下面关于我对 Eclipse 3.5.1 和 Scala 2.7.7 Final 的体验的回答。

  • 亚历克斯
4

11 回答 11

16

它对我来说效果很好,但我期待 2.8.0。有一组很好的幻灯片(pdf) 概述了即将发生的重大变化。

于 2009-10-05T03:54:50.720 回答
8

我发现它完全无法使用。语法突出显示有效,但仅此而已。JUnit 找不到任何用 Scala 编写的测试。调试器在每一步之后都找不到源并抛出奇怪的错误消息。我还听说有人在自动完成甚至剪切粘贴方面遇到了麻烦。显然,它也会减慢常规 Java 的工作速度。这是 7 月下旬在 Eclipse 3.5 上使用 Scala 2.7.5 时的情况,非常近期。

在我看来,就像编写 Eclipse 插件的人只是让它编译并且在发布之前甚至没有尝试过一次。听起来它对某些人来说已经足够好了。就个人而言,我切换到 Emacs/Ant 并没有真正回头。

于 2009-10-05T04:37:00.480 回答
7

我已经使用 Eclipse 在 Scala 中编写代码一个多星期了,我的结论是它确实可以工作,但还没有准备好生产。

我的设置背景:

  • Scala 2.7.7 最终版
  • 面向 Java 开发人员的 Eclipse,3.5.1
  • Ubuntu 桌面 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”
  • 代码行下出现很多错误的波浪线,它们似乎可以忽略
  • Intellisense 可能有 10% 的时间有效,清理和/或重新打开文件似乎可以暂时恢复它
  • 有时我失去了在 Eclipse 中输入文本编辑器的能力,如果我摆弄得够多,它可能会回来,或者我只是关闭并重新打开文件
  • 有时,像突出显示和删除一行代码这样的基本操作会失败,像“删除”这样的错误没有正常完成。请查看日志以获取更多信息。

所以我把所有这些问题都推过去了,最终的结果是我每天多次重启 Eclipse,并且不断地关闭和重新打开 Eclipse 中的文件,并且经常清理。

于 2009-11-05T15:11:02.370 回答
4

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

它不在 Java 工具的级别上,但它在不断改进。

于 2009-10-05T03:45:21.520 回答
3

我可以确认,截至 Scala 2.8.0.RC6,截至 2010 年 6 月 27 日的 Scala Eclipse 插件运行良好。

什么有效:

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

什么不起作用:

  • 重构。
  • 编辑器很慢。即使在选项卡之间切换也需要长达 4 秒。

不过,这只是使用它几天。

也就是说,我正在完成真正的工作,并且为 HTML、CSS、Javascript 和 XML 添加了 Eclipse Web 工具,这是开发 Lift 2.0 Web 应用程序的好方法。

于 2010-06-27T08:36:16.020 回答
3

截至 2012 年 7 月,该插件状态良好,非常有用。

于 2012-07-14T19:21:32.780 回答
2

2010 年 5 月 24 日我有 eclipse 3.5 和最新的 Scala 插件,scala 2.8.0 RC2 仍然是同样的问题:没有正确的突出显示,我不是在谈论自动完成和东西......我启用了 JDT 插件 - 如果它很重要.. .

遗憾的是,对于像 Scala 这样有趣的语言已经存在了这么多年,仍然没有良好的开发环境......

于 2010-05-24T22:01:50.740 回答
1

Eclipse Indigo for J2EE 和 Scala IDE 插件 2.9.1 完全无法使用。

Eclipse太慢了,甚至死机。当它不崩溃时,它会丢失编译链接并且不会停止警告我找不到类。我必须清理并重新编译所有项目。

我卸载了它,等待另一个解决方案或更好的版本。

于 2011-11-28T10:23:25.613 回答
0

我已经尝试过互操作(一个混合了 Java 和 Scala 的项目),但我遇到了问题,所以我放弃了它。我真的非常想要这项工作......无论如何,我认为我的问题是因为我试图构建一个 RCP 插件而不是一个简单的无头 Java 应用程序。Scala Nature 似乎并非在所有情况下都调用 Java 编译器。我会看到一堆不真实的红灯,因为我的问题视图没有显示任何内容并且.class文件是正确的。

我真的很期待 IDE 的 2.8 版本。

于 2009-10-08T20:38:39.083 回答
0

如果它对您有用,那么请继续使用它:) 我遇到了奇怪的光标问题,而这些问题在做直接 java 时没有。通常关闭编辑器窗口并重新打开可以解决问题。

于 2009-10-05T02:03:41.147 回答
0

我正在使用 Scala-IDE 版本 2.0.0-v2_09、Eclipse Indigo、Scala 2.9.1。

有时当我使用自动完成时,例如:

//expected BufferedInputStream
BufferedInpu

然后我点击Ctrl-Space, select 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 似乎不支持选择构建器。它总是选择列出的第一个。

于 2012-01-11T18:45:26.973 回答