如何在IntelliJ中查看Scala表达式的类型


125

Eclipse scala插件具有一个不错的功能,当您将鼠标悬停在变量上时,它会向您显示变量的类型。我如何通过IntelliJ插件看到相同的信息?

Answers:


128

选择表达式,然后输入Alt+ =


如果要更改快捷方式,请转到Preferences > Keymap并在搜索字段中输入“ Type Info”。

在旧版本中,它的Shift+ Ctrl+ Alt+ T


2
我认为这就是我要寻找的内容,Ctrl + Q仅适用于变量,而不适用于所有表达式。
乔恩·弗里德曼

这不是您要找的东西。这很痛苦,因为您必须重新定位光标,使用4键组合,然后将光标重新定位到原来的位置。但这是最好的方法,也是获取声明的推断类型而不是用法的唯一方法。
Luigi Plinge,2011年

67
Intellij Leda中osx上的ctrl-shift-P
Dustin Getz

2
哇,键盘快捷键不断变化。奇怪的是,我发现IntelliJ经常不必要地在我的脸上扔工具提示,但实际上这很重要,很难做到。那好吧。
akauppi 2014年

不得不回到这里再次找到它。的IntelliJ能真正做到通过使这更容易达到更好的/还记得..
akauppi

45

在OS X,这是ctrl+ shift+ P我。这显示了具有已解析泛型的确切类型。



32

您可以在变量或方法签名上单击Ctrl+ Q以查看其类型。

查看任何表达式的类型还有一个巧妙的技巧:选择表达式,然后输入Ctrl+ Alt+ V。为方便起见,这将显示“ 提取变量”对话框,其中显示了要提取的表达式类型。


看起来Ctrl + Q可以解决最新插件版本中的参数化类型
Jon Freedman 2012年

22

您可以像设置Eclipse一样设置IntelliJ。去:

File -> Settings -> Languages & Frameworks -> Scala

然后勾选“在鼠标悬停后显示类型信息,毫秒”并设置您的首选超时。

除其他消息似乎优先外,此方法效果很好。最常见的是“从未使用过声明”,如果您刚刚编写了a val并想查看它的类型,那么这是很多时间。然后,您必须在PC 上使用(Alt+ =)或在Mac上使用(Ctrl+ Shift+ P)。


1
实际上,这应该是正确的答案,因为@JonFreedman希望具有与Eclipse中相同的行为。其他答案只是给出实现相同目的的捷径,这比将鼠标移到变量上要花费更多的时间
Ignacio Alorre

19

在IntelliJ 2016及更高版本中,具有Mac OS X 10.5+键绑定的键绑定是Ctrl+ + P

旧答案:

在具有Mac OS X 10.5+键绑定的MacOS下,它应该是+ =,但是这似乎根本不起作用(对我而言)。

在设置中(Preferences > Keymap然后在搜索字段中输入“ Type Info”),我在操作中添加了快捷键Ctrl+ + T。此快捷方式可以正常工作。


2
另一个提示:要轻松选择表达式,请按⎇↑或⎇↓增大或缩小选择范围。
Erik van Oosten 2012年

1
+1 OSX 10.7.4,IntelliJ CE 11.1。cmd- =已绑定但没有用,重新绑定到其他可用的东西。
达斯汀·盖茨

1
IntelliJ 14,OS X Yosemite:-表达式eval类型:CTRL + Shift + P-单值类型(提供更多详细信息):CTRL + J
Raul

3

鼠标悬停时按住Command键。注意:我在Mac OS X上使用标准按键绑定对其进行了测试。当然,不同的操作系统或非标准的键绑定可能会有所不同,但是功能肯定存在。


1
当我按住shift和鼠标悬停时,会得到基本类的scaladoc,但这并不显示完整的类型信息,例如,val test = Seq(1,2)显示Seq [+ A]的类型信息而不是Seq [Int]
Jon Freedman

1

这里有一些不错的技巧,但是由于映射因键盘绑定而异,因此这里是绑定的摘要Mac OS X 10.5+

  • ctrl +悬停:显示表达式的类型

  • alt +悬停:单击表达式检查其值(非常方便!)

  • +悬停的工作方式类似于ctrl+ hover,但是还允许单击链接以转到表达式的其他引用(ctrl + click显然不是,因为在OS X中被视为右键单击)。

注意:Mac OS X 10.5+绑定仍然不是IntelliJ 13.1中的默认设置,但实际上应该是。与旧的Mac OS X绑定相比,它们具有更原生的OS X感觉。您可以通过Preferences > "keyboard"(在搜索字段中)> 激活它们。Keymap > Keymaps: Mac OS X 10.5+

这些的实际可用性问题(从IntelliJ 13.1开始)是需要按住键,然后移动光标。理想情况下,当光标已经位于表达式上时,它也应该可以工作,然后开始按住ctrl / alt / cmd。

ps。我知道它正式是OS X,而不是Mac OSX。IntelliJ IDEA至少在键帽上仍然使用旧的命名。


1

对于OS X,对变量,函数或签名使用ctrl+ J以获取完整的定义,类型和参数。使用ctrl+ shift+ P作为评估类型(这也适用于突出显示的代码块或表达式)。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.