IntelliJ和Android Studio中用于Kotlin文件的图标

8
我一直在试图理解IntelliJ(和Android Studio)对我的Kotlin文件图标做了什么。在图片中,您可以看到Kotlin文件有两个不同的图标 - 一个是带有小写“K”的矩形,另一个是带有小写“K”的圆形C(在图片中用红色圈出)。矩形版本还包括一个有用的“.kt”后缀。
经过一些尝试,发现如果Kotlin文件声明与文件名匹配的类,则会获得“圆形C”图标。但是,如果它执行任何Java不支持的操作 - 例如在类外部声明变量(例如val foo = 42)- 则图标将转移到带有“K”的矩形上。图标文档在这里建议IntelliJ认为带有“K”的矩形是“Kotlin文件”,而圆形C是“Kotlin类”。
有没有人知道这是否有更深层次的意义?我想在类外部包含一个val声明,以使我的Kotlin文件图标符号全部匹配。然后它们也将具有方便的“.kt”扩展名,以清楚地指示它们是Kotlin文件。
例如,下面的代码将更改名为Foo.kt的文件的图标为带有“K”的矩形:
val bar = 42;
class Foo {}

enter image description here

1个回答

11

你的分析是正确的。如果一个文件仅定义了一个类,则项目视图节点将显示该类,而不是整个文件。如果文件中有多个声明,则项目视图节点将显示文件图标。

类图标的外观与混合语言项目中的Java类图标保持一致。


在寻找使用示例时,浏览Kotlin运行库表明仅实现单个类的文件相当罕见。许多实现一系列函数,而其他一些则实现一系列接口。其中一个特别的文件 - text/regex/Regex.xt - 包含各种函数、接口和一个公共类。与在代码中跳来跳去地精神上连接接口和类相比,我发现这相当令人耳目一新。对我来说,这表明Kotlin邀请将功能逻辑地分组在单个文件中 - 与Java相比更好。 - Jim Andreas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接