如何找到Scala隐式定义的位置?

时间:2019-02-11 16:31:37

标签: scala intellij-idea

我有一个方法可以接受隐式参数,并且在代码中某个位置已定义了隐式值。但是,我无法在我的代码创建的位置中找到它。

是否有一种简单的方法来查找Scala中定义了隐式值的位置?到目前为止,我只是在扫描导入的源代码,但这非常繁琐。我正在使用IntelliJ。

1 个答案:

答案 0 :(得分:5)

Intellij scala插件最近添加了可显式显示隐式特性的功能:)

您可以按ctl+alt+shift+++显示隐式内容。

或参考Travis Brown here的回答。 他的回答中的小片段:

scala> import scala.reflect.runtime.universe.reify
import scala.reflect.runtime.universe.reify

scala> reify("a" * 3).tree
res6: reflect.runtime.universe.Tree = Predef.augmentString("a").$times(3)