VS Codeでチェックスタイル導入する – 【Java】

VS Codeでチェックスタイル導入する – 【Java】

2通りの方法があります。

  • VS Codeプラグイン
  • Gradleのcheckstyleプラグイン

VS Codeプラグイン

VS Codeでcheckstyleを導入する場合は「Checkstyle for Java」プラグインを使用します。

VS Codeでチェックスタイル導入する

google_checks.xml」を落とします。プロジェクト直下でもどこでも良いですが今回はプロジェクト直下にします。

VS Code上でgoogle_checks.xmlを右クリックし、「Set the Checkstyle Configuration file」を選択します。

VS Codeでチェックスタイル導入する

VS Codeの右下に「Successfully~~」と表示されればOKです。

VS Codeでチェックスタイル導入する

ワークスペースのsettings.jsonに以下追記されているはずです。このgoogle_checks.xmlファイルはローカルに配置した場合は以下のようになりますが、https://~というようにサーバ上に配置することも可能です。

settings.json

{
  "java.checkstyle.version": "10.0.0",
  "java.checkstyle.configuration": "${workspaceFolder}\\google_checks.xml"
}

Gradleのcheckstyleプラグインと同じチェックスタイルを使用する場合は、ファイルの場所を統一したほうが良いかもしれません。

"java.checkstyle.configuration": "${workspaceFolder}\\config\\checkstyle\\checkstyle.xml"

自動チェックする

自動チェックオンにするには、ワークスペース配下のsettings.jsonで設定できないので「アプリケーションユーザー設定」で設定します。(ctrl + ,)

settings.json (User)

"java.checkstyle.autocheck": true

チェック入ってたらOKです。

VS Codeでチェックスタイル導入する

Gradleのcheckstyleプラグイン

build.gradleにcheckstyleプラグインがあるので、このプラグインを利用してgradleタスクを追加します。

ちなみに追加されるタスクは以下です。

  • checkstyleMain
  • checkstyleTest

build.gradle

plugins {
    id 'checkstyle'
}

google_checks.xmlをcheckstyle.xmlにリネームしてプロジェクトルート直下に以下構成でファイル配置します。

config/
 └─ checkstyle
      └── checkstyle.xml

gradlew checkコマンドでcheckstyleが実行されます。直接、gradlew checkstyleMainを実行してもよいです。

gradleのcheckstyleではレポート生成することが可能です。生成するには、以下追加します。

build.gradle

checkstyle {
    toolVersion = '10.3.3'
}
tasks.withType(Checkstyle) {
    reports {
        xml.required = false
        html.required = true
    }
}

以下のようにレポートが生成されます。作成される場所は、build/reports/checkstyle/配下になります。

LineLengthCheckの警告抑制ができない※8.24~

8.24より、LineLengthはTreeWalker内ではなくなりました。これに伴いコメントで抑制することができなくなったようです。

xxxxxx // CHECKSTYLE.SUPRESS LineLengthCheck ← 効かない

Eclipseでcheckstyle設定方法

Eclipceにチェックスタイル導入する

参考サイト

The Checkstyle Plugin
checkstyle – Google's Style

 

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました