なっく日報

技術やら生活やらのメモ

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から解決された

github.com

このバージョンから以下のように書けば、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=*

まとめ

今無理に変えなくても良いかも。 でもちゃんと使えそうでありがたしという話でした。