在IntelliJ IDEA中完成未导入的“皮条客”

时间:2013-08-16 09:58:15

标签: scala intellij-idea

是否有可能在当前的IntelliJ IDEA(12)中启用代码完成“pimps”(隐式def和隐式类的东西,类似于C#的扩展方法),这些代码不在当前范围内=当前文件中没有import语句包含它们。

我想要的是类似于未导入的类/特征/对象行为 - IDE强调它并询问我是否要为其添加import语句。最好的情况是,如果“pimped”方法/运算符将显示在代码完成列表中,可能来自模块(或其他一些)范围,并且IDE将在使用此新方法/运算符时自动添加(或要求包括)导入。 / p>

可以通过更改设置或使用某个插件来实现吗?

EDIT1: 示例代码

Pimps.scala

object Pimps {
  implicit class stringPimps(s: String) {
    def myMethod = s"** $s **"
  }
}

Main.scala

import Pimps._ // without this import

object Main extends App {
  println("xxx".myMethod) // IDE won't suggest "myMethod"
}

1 个答案:

答案 0 :(得分:0)

是的,使用Alt-Ctrl-Space,它也表明非导入的含义。