在Intellij Scala插件中显示推断类型

在Intellij Scala插件中显示推断类型,scala,intellij-idea,Scala,Intellij Idea,在Intellij的Scala支持中,有没有一种方法可以显示某些东西的派生类型 例如,如果我正在摸索一些巧妙的代码,想知道“user”val是什么类型的,那么按下一个键并悬停鼠标可能会非常有用 DB.withSession { implicit session => val user = users.filter(user => user.email === email && user.password === password).

在Intellij的Scala支持中,有没有一种方法可以显示某些东西的派生类型

例如,如果我正在摸索一些巧妙的代码,想知道“user”val是什么类型的,那么按下一个键并悬停鼠标可能会非常有用

    DB.withSession {
      implicit session =>
        val user = users.filter(user => user.email === email && user.password === password).first
    }

你知道如何在我的IDE中尽可能容易地找到“用户”的类型吗?

选择你感兴趣的表达式,突出显示它,并使用在os-x上将其分配给局部变量-Cmd+Alt+V(我想是从内存中)的工具。这将显示IntelliJ认为的类型。

您可以:

  • 确保文本光标位于变量内,并检查菜单“视图”>“类型信息”中的快捷方式。使用该快捷方式显示类型信息。在OSX上,它是ctrl-shift-P
  • 或者在“首选项”>“IDE设置”>“Scala”中设置首选项以在鼠标悬停时显示相同的类型信息。选中“显示延迟鼠标运动的类型信息”,并根据需要更改延迟

或者,您可以显示该类型的文档,而不只是显示类型信息。即使没有适用的scaladoc或javadoc,它也会显示该类型

  • 使用“快速文档”快捷方式(参见“视图”>“快速文档”),如“类型信息”快捷方式。在OSX上,它是ctrl-J
  • 或者在“首选项”>“IDE设置”>“编辑器”中设置首选项以鼠标悬停显示快速文档。选中“鼠标移动时显示快速文档”,并根据需要更改延迟

除了@Cyäegha方法,您甚至可以告诉idea推断类型并为您添加

在OSX上,在变量上单击alt+enter,您应该会看到

单击它之后,您将看到

val test: String = "dsds"
短键位于语音显示意图操作。

1)选择变量或将光标放在变量文本中


2) 按
Ctrl+Q
查看
Windows/Linux
F1
查看
macOS

我不太确定这是在做什么,它似乎是一个命令,为表达式或其他东西声明了val。我只是对找到表达式的类型感兴趣。这将向您展示IntelliJ认为它是的类型。我不知道另一种方式在最新的想法中,悬停选项可以在
设置->语言与框架->Scala->编辑器选项卡下找到。你知道为什么这可能不会显示任何内容吗?当我用文本光标在scala变量中查看->键入信息时,什么都不会发生。有没有办法更改键盘快捷键?我希望保持它在NetBeans中的hover+Ctrl(并将当前的hover+Ctrl重新指定为hover+Shift)。