CheckStyle

Eclipse Plugin : UTF-8 ソース対応

Windows を使って Java の開発をする時に困るのが、 ソースファイルの文字エンコーディングである。 プラットフォームは Cp932 で動いているので、 プロジェクトが UTF-8 だったりすると、よろしくない。

ちょっと Javadoc が化ける程度なら我慢できるが、 CheckStyle Plugin はソースコード中の文字列リテラルを解釈できず、 「Got an Exception」と言って赤マークを付けてしまう。 これは非常に不愉快な話である。

プロジェクト単位でソースコードのエンコーディングが統一されてさえいれば、 これに対応するのは、実は簡単な話だ。

まず、プラグインの設定画面からルールセットを export する。 すると xml ファイルが手に入るので、これをテキストエディタで開き、 ソースファイルのエンコーディングを固定で指定してしまえばよい。 その部分は、以下のような具合である。

<module name="Checker">
    <property name="severity" value="warning"/>
    <module name="TreeWalker">
        <property name="charset" value="UTF-8"/> ←ココ☆
        <module name="JavadocMethod">
            <property name="allowUndeclaredRTE" value="true"/>
        </module>

編集が終ったら、おもむろにこの xml を import する。

残念なことに、 複数種類のエンコーディングのファイルが混在しているプロジェクトでは、 この回避方法は使えない。 そういう場合は、そのプロジェクトの標準化を担当しているチームにクレームをつけよう。

正規表現によるチェック

正規表現を使って、現れなければならない文言や現れてはならないパターンを書ける。 たとえば行末の無駄な空白は、以下のようにルールを設定すればチェックできる。

        <module name="Regexp">
            <property name="illegalPattern" value="true"/>
            <property name="format" value="[ \t]+$"/>
            <property name="ignoreComments" value="true"/>
            <property name="message" value="Line has trailing space"/>
        </module>
[$Revision: 1.1 $ $Date: 2007.11.30 17:58:31 $]
[EOF]