让我们采取一个
val m = "Scala is fun"
IntelliJ
帮助找出很多可以用这个做的事情
有没有办法让我知道这些函数中哪些来自 Scala,哪些来自 Java?
让我们采取一个
val m = "Scala is fun"
IntelliJ
帮助找出很多可以用这个做的事情
有没有办法让我知道这些函数中哪些来自 Scala,哪些来自 Java?
在 IDEA 的自动补全中,粗体条目是在对象本身的类型上定义的方法,而带下划线的函数是通过隐式转换和 pimp-my-library 添加的(有关说明,请参见例如此处或在 StackOverflow 或 Google 上搜索)。
但是,对于在 Java 中定义的类型的特殊情况(例如String
的类型m
),您碰巧对 Java-vs-Scala 的区别是正确的:粗体方法是真正的方法,必须在m
(这里String
),因此在 Java 中。虽然 pimp-my-library 是 Scala 模式,但通常带下划线的函数将用 Scala 编写(这只是一个经验法则,但我从未见过例外)。
非粗体函数只是继承。
对于文档的数量,根据经验,Java 标准库具有相当全面的文档(它应该是该方法的规范),而 Scala 的文档通常在越来越少和越来越少之间变化。
我已经搜索了如何更改 IntelliJ 11 中用于突出显示的字体,但我没有找到太多 - 您可以更改用于突出显示代码的字体,但我怀疑这在这里没有什么区别。
如果您有 IDEA 12,您可以在弹出窗口中的任何选定方法上按 Ctrl-Q 以查看该方法的“快速文档”,不仅如此,您还可以遍历方法列表,快速文档将更改以适应新的选择。
如果您在没有快速帮助的情况下发现任何条目,最好打赌这将是一个 Scala 方法;@)
我也会检查 IDEA 11。
编辑:它也适用于 IDEA 11 CE 和 Ultimate。