我有一个方法可以接受隐式参数,并且在代码中某个位置已定义了隐式值。但是,我无法在我的代码创建的位置中找到它。
是否有一种简单的方法来查找Scala中定义了隐式值的位置?到目前为止,我只是在扫描导入的源代码,但这非常繁琐。我正在使用IntelliJ。
答案 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)