[编辑]:我是个白痴。我正在使用'Eclipse IDE for Java Developers'并且应该使用'Eclipse Classic'。 Scala插件在Classic下运行得更好。
* [编辑]:11/1/2011 - 10月31日发布的Beta 12版本似乎明显更好*
** [编辑]:11/4/2011 - Beta 12版本变得不稳定,以至于我们的团队切换到IntelliJ。我希望将来能够尝试Eclipse插件并获得不同的体验。
我在eclipse中有一个混合的java / scala项目,我发现代码完成并不总是有效。它似乎与“对象”以及在不同项目中定义的类有最多的问题。我知道这只是scala插件的一个“功能”,但我是否应该采取任何措施来尽量减少这些功能的影响?
Eclipse Indigo
Scala Plugin: 2.0.0-beta11
在玩了一天之后,我发现从scala访问java类的静态成员时会出现大多数问题。
答案 0 :(得分:5)
您可以尝试http://groups.google.com/group/scala-ide-user组,前提是您可以提供其他详细信息,并希望不使用 suck 这个词。
我只能说这个简短的测试用例适用于Helios SR2和Eclipse Scala插件2.0.0.beta11。我不确定使用Java对多项目的支持有多深,而且可能存在已知的局限性。
我测试了以下结构。
以下是自动填充的内容(参见评论)
package test2
import test1.{A1, O1} // A1 and O1 choices offered from A or O
class A2 {
val a1 = new A1
a1.ma1("foo") // ma1 was autocompleted from m
val a3 = new test3.A3 // test3 choice offered from test
a3.ma3("wqqw").toLowerCase() // ma3 completed from m
// toLowerCase was completed from toL (3 choices offered)
val o1 = O1.mo1 // mo1 was autocompleted from m
val ox = O1 // O1 was completed from O (as second choice)
}
答案 1 :(得分:3)
目前有(Scala插件版本:2.0.0.beta11-2_09-201110031011-3a97f5e,Eclipse版本:3.6.2.v201102101200)插件中代码完成的许多问题。顺便说一句,这不是该插件的最新版本,我知道其中一些问题正在积极开展。
首先,请确保在Scala-> Setup Diagnostics中检查完成的两个选项:
有两个常见问题:
类的自动完成有时无法正确添加导入。
val foo = new Th< ctrl-space>
当您进行ctrl-space时,类上的方法不会出现。
这些问题的解决方法是为您尝试手动使用的类添加导入。这避免了绝大多数问题。我知道这是一种痛苦,但它确实有效。
我最近没有看过这个代码,但我记得问题主要是由于:
另外,请注意,您期望的某些方法可能根本不会出现。如果对象受到隐式转换,那么你将无法获得你期望的方法。
如果您遇到问题,请先查看Known Issues和open issues列表。如果问题存在,请将您的用例添加到其中,包括版本号和任何其他相关信息。如果您的问题不存在,请创建它。
对于额外的布朗尼点,您可以克隆scala ide on github并提交带有修复的拉取请求。
答案 2 :(得分:0)