特定の行の checkstyle のチェックを抑制するには
メインページ>コンピュータの部屋#Java>Eclipse Tips
Java のコーディングは基本は、適切な checkstyle を設定し、そのチェックに従うようにすること。最近では発注側でcheckstyleの設定をくばり、納品時警告が0で有ることを要求されたりします。
しかし、たまにどうしても特定の行だけチェックをオフにしたいことが有ります。
例えば JUNITの試験スーツの冒頭で
import static org.hamcrest.MatcherAssert.*;
と書けないとめんどくさいですが、checkstyle は容赦なく警告を出します。
このような場合、特定の行だけ checkstyle を抑止するコメントがあると便利ですが、既定ではありません。 しかし作ることはできます。Eclipseを使えば簡単です。早速手順を示しましょう。
checkstyleの設定画面を開き、チェック構成を選択して編集する
eclipse の [設定]→[checkstyle]の画面で現在利用している checkstyle を選びます。
上図のダイアログで編集できるチェック構成を選んでください。 ビルトイン構成は編集できませんから、お手持ちのチェック構成か、ビルトイン構成を複製したチェック構成を 作ってから選んでください。[構成...]ボタンを押すと編集できます。
追加するモジュールを選択する
上図のダイアログで、左のペインから[フィルター]→[Suppress With Nearby Comment Filter] を選びます。 [追加...]ボタンを押すと下図のダイアログが現れます。
追加するモジュールを編集する
上図の comment format という欄の
SUPPRESS CHECKSTYLE (\w+)
が ソースに書くと chckstyle のチェックを抑制するコメントです。チェックを外したい行の後ろに
// SUPPRESS CHECKSTYLE XXX
とコメントを付ければチェックが外れます。 但しこの書き方だと、XXX のところに何を抑制するのかいちいち書かなくてはならないのでめんどくさいです。
下図のように修正すればコメントを書いた行の checkstyle のチェックが無条件に抑止されます。
使い方
以下が使い方の例です。
import static org.hamcrest.MatcherAssert.*; // SUPPRESS CHECKSTYLE import static org.hamcrest.Matchers.*; // SUPPRESS CHECKSTYLE