使用以前版本的Scala运行Eclipse Scala插件

时间:2010-09-09 20:50:12

标签: eclipse scala netbeans scala-2.8 gridgain

scala插件似乎会自动下载Scala 2.8版。我想试用Gridgain 3.0-beta,它目前只适用于Scala 2.7.7。由于Gridgain 3.0-beta已经提供了scala-compiler-2.7.7.jar和scala-library-2.7.7.jar,是否可以将Eclipse Scala插件编译为Scala 2.7.7?

我尝试从项目构建路径中删除Scala Library 2.8并添加了2.7个jar,但这似乎不起作用。

如果我切换到Netbeans会更容易吗?

2 个答案:

答案 0 :(得分:4)

Eclipse插件和NetBeans插件都使用Scala编译器来处理很多事情,从语法突出显示等简单的东西到类型推断,解析和隐含显示之类的东西,再到自动类型驱动的重构和语义等更复杂的东西。高亮。

更具体地说,他们使用2.8编译器,因为2.8编译器有一个完全重构的API和一个新框架(所谓的表示编译器),它是专门专为IDE设计,以便他们可以获得编译器所需的所有信息 out ,但也可以将信息(如重构的情况)提供回 编译器。

因此,简而言之:插件的版本与编译器的版本紧密耦合,而编译器只支持该语言的一个版本。特别是,IDE插件需要2.8版本的编译器,因为它们使用新的表示编译器框架,2.8编译器不支持2.7语言。

这种紧密耦合当然是一件好事,它将来会被打破,但是现在,你被卡住了。

可以尝试IntelliJ IDEA IDE及其Scala插件。据我所知,他们只使用Scala语言规范编写了他们的自己的编译器(至少是语法突出显示和重构所需的部分),而不使用任何Scala编译器API 。 Scala插件可与Community Edition配合使用。

答案 1 :(得分:3)

这类问题的最佳位置是Scala IDE user mailing list。但简而言之,Scala的Eclipse工具不支持使用其他版本的Scala编译器和库,而不支持其附带的版本。这在可预见的未来不太可能改变。