はじめに
ktlintを使ってフォーマットや静的解析をしながら開発を進めているのですが、IntelliJ IDEAのフォーマットとktlintのフォーマットが異なっており困っていました。
ktlint-gradleというgradleプラグインからktlintのフォーマットルールをIntelliJ IDEAのフォーマットに設定してくれる機能を見つけたので紹介します。
前提
- ktlint 0.30.0
- ktlint-gradle 7.1.0
手順
導入
まず、gradleにktlintとktlint-gradleプラグインの設定を追加します。
buildscript { repositories { maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath "org.jlleitschuh.gradle:ktlint-gradle:7.1.0" } } apply plugin: "org.jlleitschuh.gradle.ktlint" repositories { jcenter() mavenCentral() } configurations { ktlint } dependencies { ktlint "com.github.shyiko:ktlint:0.30.0" }
gradleのtaskの実行
ktlint-gradleプラグインを導入するといくつかタスクが追加されます。以下のタスクがフォーマットルールをIntelliJ IDEAに適用させるものです。
- ktlintApplyToIdea 現在のプロジェクトに適用させる(.idea/フォルダの設定を上書き)
- ktlintApplyToIdeaGlobally すべてのプロジェクトに適用させる(ユーザホームのIDEAの設定を上書き)
ここでは「ktlintApplyToIdea」タスクを実行させて反映させます。
$ gradle ktlintApplyToIdea
以下のような結果が出力されたら成功です。
バージョンが異なったりするとエラーが発生するので、エラーがでたらバージョンを確認してみてください。
> Task :ktlintApplyToIdea (updated) Please restart your IDE (if you experience any issues please report them at https://github.com/shyiko/ktlint)
まとめ
KtlintのフォーマットルールをIntelliJ IDEAに取り込む方法を紹介しました。簡単に設定を追加できるので便利ですね。