EclipseにCheckStyleを導入する
はじめに
以下の環境で使うことを想定しています。
macOS
Eclipse2022 FullEdition
CheckStyleとは
静的コード解析ツールで、コードのスタイルやコーディング規約に違反していないかを自動で検査するツールです。
CheckStyleを有効化する
設定ファイルの選択
設定を開き、サイドバーからCheckStyleを選択。
Google Checks
がデフォルトの設定になっています。
有効化
CheckStyleを導入したいプロジェクトを右クリックし、CheckStyleを選択。
「CheckStyleをアクティブにする」を選択。
独自の設定ファイルを作成する
設定ファイルのコピー
GoogleChecks
を選択し、コピーボタンを押下し、デフォルトのファイルをコピーします。
設定ファイルの編集
Eclipseからも設定の変更は出来るのですが、分かりづらいのでエディタで開いて、編集します。
エディタで編集する場合は、コピーしたファイルをエクスポートするとEclipseから取り出せます。
設定の編集方法については、設定ファイルの構成 を参考にしてください。
ファイルのインポート
設定を開いて、新規ボタンを押下。
名前をつけて、インポートボタンを押下し、編集した設定ファイルを取り込みます。
設定ファイルの編集方法
CheckStyleはxmlになっています。
検証機能はモジュールという単位で設定します。
モジュールの詳細設定をプロパティという単位で設定します。
モジュールとプロパティ
LineLength
の設定を確認しましょう。
LineLength
は1行の長さをチェックします。
fileExtensions
はチェック対象のファイルの拡張子の設定。
ignorePattern
は無視する行のパターンの設定。
max
は行の最大文字数の設定となります。
各モジュールのプロパティに関しては、公式ドキュメントを参照してください。
<module name="LineLength">
<property name="fileExtensions" value="java"/>
<property name="max" value="100"/>
<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
</module>
違反時の警告のレベルの変更
severity
というプロパティで違反時のレベルを変更できます。
error,waring,info,ignore
の4つの種類があります。
デフォルトではwaring
が設定されています。
以下のようにすると、BooleanExpressionComplexity
を"情報"レベルで表示します。
<module name="BooleanExpressionComplexity">
<property name="severity" value="info"/>
</module>
違反メッセージの文言変更
違反時のメッセージを任意の文言に変更することができます。
各メッセージキー毎に設定されているメッセージがことなります。
value
を変更することで、メッセージを変更できます。
どのようなメッセージキーがあるかは、ドキュメントを参照してください。
<module name="MemberName">
<property name="format" value="^m[a-zA-Z0-9]*$"/>
<!-- 違反メッセージの設定 -->
<message key="name.invalidPattern"
value="Member ''{0}'' must start with a lowercase ''m'' (checked pattern ''{1}'')."
/>
</module>
Discussion