2017-04-05 53 views
3

我一直在試圖瞭解IntelliJ(和Android Studio)對我的Kotlin文件圖標所做的工作。在圖片中,您可以看到Kotlin文件帶有兩個不同的圖標 - 不管是帶有小「K」的矩形,還是帶有小「K」的圓圈C(圖中紅圈)。矩形版本還包含一個有用的「.kt」後綴。適用於Kotlin文件的IntelliJ和Android Studio圖標

經過一番了一個問題的這個黑盒子修修補補 - 看來,如果科特林文件只是聲明一個類相匹配的文件名,那麼它被一個「圓圈C」圖標。但是,如果它執行任何類似於非Java的任何操作(例如在類之外聲明變量(例如val foo = 42)),那麼該圖標將移至帶有「K」的矩形。圖標文檔here表明IntelliJ認爲具有「K」的矩形是「Kotlin文件」,而圈出的C是「Kotlin類」。

有沒有人知道這是否有更深的含義?我想我會在課堂以外包含val聲明,以便讓我的Kotlin文件圖標符號全部匹配。然後他們也會有方便的「.kt」擴展名來清楚地表明他們是Kotlin文件。

例如 - 這裏是代碼,將在文件Foo.kt與「K」你的圖標更改爲一個矩形:

val bar = 42; 
class Foo {} 

enter image description here

回答

5

你的分析是正確的。如果文件只定義了一個類,那麼項目視圖節點將顯示該類,而不是整個文件。如果文件中有多個聲明,那麼項目視圖節點將顯示一個文件圖標。

類圖標看起來是爲了與混合語言項目中的Java類圖標保持一致。

+0

在查找使用示例 - 瀏覽kotlin-runtime庫時,建議僅實現單個類的文件非常少見。許多實現了一系列函數,其他實現了一系列接口。特別是 - text/regex/Regex.xt - 具有各種函數,接口和一個公共類。我發現,相比於瀏覽代碼來精心組合連接界面和類時,它更加清爽。對我而言,這表明Kotlin在一個文件中邀請了更多邏輯功能的組合 - 與Java相比,它更好。 –

相關問題