Scala 2.8的哪个IDE?

Łuk*_*Lew 40 ide scala scala-2.8

与旧版Scala的问题相同,但是他们说Eclipse插件已经大大改进了.它现在是最好的IDE吗?今天不同的Scala IDE如何比较?

Sea*_*ean 26

我在IDEA 9上取得了相当的成功.我曾经简单地尝试过Netbeans和Eclipse,并且无法得到我想要的东西.Eclipse的代码完整性并不像我所希望的那样好,而且我找不到让Netbeans处理Scala脚本的方法; 它只是抱怨该文件不是一个类.

为了清楚起见,我已经使用IDEA几年的Java,所以请记住:)

  • @Łukasz - 在Netbeans中,它似乎无法处理scala脚本,只能处理类.Eclipse的代码完整和语法突出显示有点不稳定.有效的scala语句被标记为错误.再说一遍,因为我对Netbeans或Eclipse不是特别熟悉,所以我错误配置了一些东西. (2认同)

Ale*_*rev 13

目前,IntelliJ IDEA中的Scala插件是最好的.它很好地处理Scala 2.8.IntelliJ IDEA社区版现在是免费和开源的(并且与Scala一起使用),所以我看不出任何不使用它的原因.

该插件仍有些错误(许多"假阴性",即没有红色下划线的代码可能无法成功编译;但几乎没有"误报"),但完全可用.最好的是你可以使用IDEA优秀的Scala调试器(不是没有一些问题,但它确实有用!).

最新版本也支持FSC(快速Scala编译器).节省大量时间.

插件开发团队非常敏感.有些人直接在JetBrains工作,并且对IDEA平台有着深入的了解,因此开发进展迅速.


Ran*_*ulz 8

JetBrains IDEA的Scala插件同样处理2.7和2.8.

我无法进行任何比较,因为我只使用了IDEA.


Ich*_*hyo 6

使用Eclipse Helios和新的Scala(2.8)插件的开发版本,因为还没有正式版本.这测试版,最终 - 但我不能确认经常表达的意见,这个插件是完全可怕的;-)

我会说,经验已经很好了,而且确实比使用Groovy插件的当前状态更好.OTOH,普通Java的体验更加流畅(感觉有时像飞行),而目前的CDT我的评价介于两者之间.

增量编译和错误突出显示对我来说非常好; 通过不断重写代码直到错误标记消失 - 无需测试运行程序 - 将DSL实现调整到表单中是完全有趣的,并再次显示FP /静态打字摇滚!

不时遇到的问题: - 其他编译单元(特别是嵌套/超级包)中的implicits和嵌套类型在有其他错误的时候不会被选中; 它们将在完整构建后被拾取 - 我现在使用的版本中似乎存在内存泄漏(从2010年8月底开始),需要在工作几小时后重新启动工作台 - 当你使用时要小心AspectJ,以确保您获得一个依赖于JDT编织捆绑版本的Scala插件版本,该版本也适用于AJDT

PS:我在我的所有项目中使用maven构建,并使用eclipse-maven-plugin生成eclipse项目,然后将它们作为普通平面eclipse项目导入.我强烈建议大家在当前(2010)状态下远离M2-eclipse插件(对于maven),它会使你的工作台痛苦地缓慢,有缺陷并且有很多几乎不可预测的行为,因为它经常尝试做幕后的神奇事物(此外,自今年春天以来,aspectj支持被打破)


Moh*_*deh 5

我同时使用eclipse和IDEA

  1. eclipse支持类型检测比IDEA更好(如果你想要从表达式和变量类型中可以了解的函数式程序,这是非常必要的.)


    EDIT1:IDEA支持类型检测等食,但必须定义在您的功能例如一个值:def testTs[A](a:List[String],b:List[A]) = for{ ai <- a bi <- b } yield (ai,bi) }应转换为 def testTs[A](a:List[String],b:List[A]):List[(String,A)]={ val result = for{ ai <- a bi <- b } yield (ai,bi) }还而不是将鼠标悬停在变量时鼠标悬停是该变量必须按下CTRL + Q

  2. eclipse在代码完成方面有一些问题(当你在下一行中使用一个变量而你想得到这个变量的属性时,eclipse显示错误的代码建议)
  3. 在IDEA破坏Scala的应用是5秒,比日食更慢(有胸围IDEA运行时的一些解决方案,但这些有副作用,有一些问题)的思路是用双击速度,显示本身在许多情况下,像一个众所周知的问题打开文件或在源代码中选择一个字符串...您可以通过创建(或编辑)/home/.Xresources并添加以下行来增加双击时间: *.multiClickTime: 400

Edit1:在夏天我更喜欢使用IDEA而不是eclipse