😸

EclipseにCheckStyleを導入する

2023/08/11に公開

はじめに

以下の環境で使うことを想定しています。

macOS
Eclipse2022 FullEdition

CheckStyleとは

静的コード解析ツールで、コードのスタイルやコーディング規約に違反していないかを自動で検査するツールです。

CheckStyleを有効化する

設定ファイルの選択

設定を開き、サイドバーからCheckStyleを選択。
Google Checksがデフォルトの設定になっています。

スクリーンショット 2023-04-21 17.16.51.png

有効化

CheckStyleを導入したいプロジェクトを右クリックし、CheckStyleを選択。
「CheckStyleをアクティブにする」を選択。

スクリーンショット 2023-04-21 17.17.57.png

独自の設定ファイルを作成する

設定ファイルのコピー

GoogleChecksを選択し、コピーボタンを押下し、デフォルトのファイルをコピーします。

スクリーンショット 2023-04-21 17.25.48.png

設定ファイルの編集

Eclipseからも設定の変更は出来るのですが、分かりづらいのでエディタで開いて、編集します。
エディタで編集する場合は、コピーしたファイルをエクスポートするとEclipseから取り出せます。

設定の編集方法については、設定ファイルの構成 を参考にしてください。

ファイルのインポート

設定を開いて、新規ボタンを押下。
名前をつけて、インポートボタンを押下し、編集した設定ファイルを取り込みます。

スクリーンショット 2023-04-21 17.38.35.png

設定ファイルの編集方法

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