ktlintに`kotlin_imports_layout=idea`オプションが追加されたのでimport-orderingを無効にしなくても良くなる
対象読者
Kotlinの開発でktlintを使っている人
何の話?
ktlint で import-ordering
というimport文の並び順を警告してくれるルールがあります。
Imports ordered consistently (see Custom ktlint EditorConfig properties for more) (id: import-ordering)
でもこのルール、IntelliJのデフォルトのimport順と相性が悪いのでこれまでktlintを採用したいくつかのプロジェクトではOFFにしてました。
具体的には公式README
https://github.com/pinterest/ktlint#custom-ktlint-specific-editorconfig-properties
に書いてあるように .editorconfig
に以下のように書いてました。
[*.{kt,kts}] disabled_rules=import-ordering
でもv0.37から解決された
このバージョンから以下のように書けば、IntelliJデフォルトのimportの並び順と揃えられる模様。
[*.{kt,kts}] kotlin_imports_layout=idea
注意点
めでたしめでたし・・・なんですがこの書き方
The predefined layouts are temporary and will be deprecated in the future, once Kotlin plugin supports EditorConfig property for imports layout.
一時的なもので、将来的には明示的に書くようにしないとダメっぽい。
↓みたいに書くとktlintとIntelliJで揃えられる感じ?(IntelliJ側が対応されるまではIntelliJ側に効かないそうですが)
ij_kotlin_imports_layout=*
まとめ
今無理に変えなくても良いかも。 でもちゃんと使えそうでありがたしという話でした。