我在Mac上使用Scala IDE (Build id: 4.4.1-vfinal-2016-05-04T11:16:00Z-Typesafe)和Scala 2.11.8。我有一个定义如下的特质:
package services
trait UserSignupService {
def signupUserByCellphone(cellphone: String) : Future[Boolean]
def isExistingUser(providerId: String, providerKey: String): Future[Boolean]
def createUser(providerId: String, providerSignupToken: String)
def verifySignupToken(providerId: String, providerSignupToken: String): Future[Boolean]
}和一个类:
package services.impl
@Singleton
class UserSignupServiceImpl extends UserSignupService {
}当我按下CMD-3并选择override implement methods时,我看不到上面定义的特征的方法。我只看到来自java.lang.object的方法。
选择并启用Build automatically。我也尝试过清理项目,但就是不起作用。

如果我输入方法名并按ctrl-space,它会给出正确的建议:

到底怎么回事?我遗漏了什么?
发布于 2016-07-10 17:57:14
阿。我找到了答案。Scala IDE不支持该功能。根据this post in google groups
“此功能”重写/实现方法“是由Java编辑器提供的功能,它对Scala一无所知。由于Scala编辑器继承了Java编辑器的功能,因此显示了此功能。我们可能可以用自己的功能重写该实现,但到目前为止我们还没有。通过按CMD-1 (用于快速帮助的组合键),您应该会得到一个包含要实现的方法的列表。这有点麻烦,但很有效。”
https://stackoverflow.com/questions/38283776
复制相似问题