我怎样才能让Intellij调试器将标准的Scala单元与标准单元一样对待呢?
问题描述:
如果我有,理解与列表类似我怎样才能让Intellij调试器将标准的Scala单元与标准单元一样对待呢?
def getList: List[A]
def doSomeStuff(a: A): List[B]
for {
a <- getList
x <- doSomeStuff(a)
} yield x
一个Scala和我通过它一步用的IntelliJ调试器,调试器是足够聪明,不踏进List类的内部地图/ flatMap实现。我可以检查getList
和doSomeStuff
调用,而不考虑后台工作中的monad管道。
但是,当我实现我自己的monads时,调试器的行为并不一样,它直接进入并显示monad实现的所有内容。虽然这对初始调试monad非常有用,但它使调试使用monad的代码变得更加困难。有没有办法让调试器将自定义monads与标准库一样对待,以便在调试我的代码时没有人被疯狂地驱动?