4

让我们采取一个

val m = "Scala is fun"

IntelliJ帮助找出很多可以用这个做的事情

在此处输入图像描述

有没有办法让我知道这些函数中哪些来自 Scala,哪些来自 Java?

4

2 回答 2

4

在 IDEA 的自动补全中,粗体条目是在对象本身的类型上定义的方法,而带下划线的函数是通过隐式转换和 pimp-my-library 添加的(有关说明,请参见例如此处或在 StackOverflow 或 Google 上搜索)。

但是,对于在 Java 中定义的类型的特殊情况(例如String的类型m),您碰巧对 Java-vs-Scala 的区别是正确的:粗体方法是真正的方法,必须在m(这里String),因此在 Java 中。虽然 pimp-my-library 是 Scala 模式,但通常带下划线的函数将用 Scala 编写(这只是一个经验法则,但我从未见过例外)。

非粗体函数只是继承。

对于文档的数量,根据经验,Java 标准库具有相当全面的文档(它应该是该方法的规范),而 Scala 的文档通常在越来越少和越来越少之间变化。

我已经搜索了如何更改 IntelliJ 11 中用于突出显示的字体,但我没有找到太多 - 您可以更改用于突出显示代码的字体,但我怀疑这在这里​​没有什么区别。

于 2012-12-09T21:58:05.153 回答
2

如果您有 IDEA 12,您可以在弹出窗口中的任何选定方法上按 Ctrl-Q 以查看该方法的“快速文档”,不仅如此,您还可以遍历方法列表,快速文档将更改以适应新的选择。

如果您在没有快速帮助的情况下发现任何条目,最好打赌这将是一个 Scala 方法;@)

我也会检查 IDEA 11。

编辑:它也适用于 IDEA 11 CE 和 Ultimate。

于 2012-12-09T22:06:49.667 回答