使用IntelliJ,如何确定特定函数是来自Java还是Scala
让我们休息一下使用IntelliJ,如何确定特定函数是来自Java还是Scala,java,scala,intellij-idea,Java,Scala,Intellij Idea,让我们休息一下 val m = "Scala is fun" IntelliJ有助于找出许多可以用它完成的事情 有没有办法让我知道这些函数中哪些来自Scala,哪些来自Java?在IDEA的自动完成中,粗体条目是根据对象本身的类型定义的方法,而带下划线的函数是通过隐式转换和pimp my library添加的(有关说明,请参阅StackOverflow或Google上的搜索) 但是,对于Java中定义的类型的特殊情况(如String,m的类型),您恰好在Java与Scala的区别上是正确的:
val m = "Scala is fun"
IntelliJ
有助于找出许多可以用它完成的事情
有没有办法让我知道这些函数中哪些来自Scala,哪些来自Java?在IDEA的自动完成中,粗体条目是根据对象本身的类型定义的方法,而带下划线的函数是通过隐式转换和pimp my library添加的(有关说明,请参阅StackOverflow或Google上的搜索) 但是,对于Java中定义的类型的特殊情况(如
String
,m
的类型),您恰好在Java与Scala的区别上是正确的:有粗体方法,它们必须在m
的类型中定义(此处String
)因此在Java中,pimp我的库是Scala模式,所以通常带下划线的函数都是用Scala编写的(这只是一个经验法则,但我从未见过例外)
非粗体函数只是继承的
就文档数量而言,根据经验,Java标准库具有相当全面的文档(它应该是该方法的规范),而Scala的文档数量通常在更少和更少之间变化
我在IntelliJ 11中搜索了如何更改用于此突出显示的字体,但我没有找到太多-您可以更改用于突出显示代码的字体,但我怀疑这在这里没有什么区别。如果您有想法12,可以在弹出窗口中按Ctrl-Q选择任何方法以查看“快速文档”对于该方法,不仅如此,您还可以遍历方法列表,快速文档将更改以适应新的选择 如果您发现任何没有快速帮助的条目,很可能是Scala方法;@) 我也会查一查主意11
编辑:它也适用于IDEA 11 CE和Ultimate。AFAIK,所有粗体字都来自Java。“比较”和“情商”不是。。很好的观察结果,但是呈现似乎不一致<返回
Unit
的code>getBytes显然是Scala
版本,但它以粗体显示。所有方法描述都已更改为Scala类型。Java中没有Char
或Int
或Array[]
或AnyRef
类型。Scala中的类型是Unit
,因为它没有void
。然后我想知道为什么有些文档是可用的,而另一些文档是不可用的(更确切地说,详细程度是完全不同的(),谢谢你,Peter!事实上,在我的IDE中,非粗体函数没有文档,粗体函数只有最小值(没有描述)带下划线的函数有完整的描述。也许IntelliJ有一个设置,可以设置它。将等待CrazyCoder的智慧