eclipse中的scala代码完成

fbl*_*fbl 1 eclipse scala scala-ide

[编辑]:我是个白痴.我正在使用'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 
Run Code Online (Sandbox Code Playgroud)

在玩了一天后,我发现从scala访问java类的静态成员时会出现大多数问题.

huy*_*hjl 5

您可以尝试http://groups.google.com/group/scala-ide-user群,前提是您可以提供其他详细信息,但希望不要使用suck这个词.

我只能说这个简短的测试用例适用于Helios SR2和Eclipse Scala插件2.0.0.beta11.我不确定使用Java对多项目的支持有多深,而且可能存在已知的局限性.

我测试了以下结构.

  1. test1 scala项目,test2 scala项目和test3 java项目.
  2. 我将test1和test3作为依赖项目添加到test2,并将它们添加到构建路径中
  3. 在test2中,我可以从test1和test3自动完成类; 和test1上的一个对象(如果你还在关注我的话)

这是自动完成的内容(请参阅注释)

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)
}
Run Code Online (Sandbox Code Playgroud)