特定の行の checkstyle のチェックを抑制するには

提供: tknotebook
移動: 案内検索

メインページ>コンピュータの部屋#Java>Eclipse Tips

Java のコーディングは基本は、適切な checkstyle を設定し、そのチェックに従うようにすること。最近では発注側でcheckstyleの設定をくばり、納品時警告が0で有ることを要求されたりします。

しかし、たまにどうしても特定の行だけチェックをオフにしたいことが有ります。

例えば JUNITの試験スーツの冒頭で

import static org.hamcrest.MatcherAssert.*;

と書けないとめんどくさいですが、checkstyle は容赦なく警告を出します。

このような場合、特定の行だけ checkstyle を抑止するコメントがあると便利ですが、既定ではありません。 しかし作ることはできます。Eclipseを使えば簡単です。早速手順を示しましょう。

checkstyleの設定画面を開き、チェック構成を選択して編集する

eclipse の [設定]→[checkstyle]の画面で現在利用している checkstyle を選びます。

特定の行のcheckstyleのチェックを抑制するには001.png

上図のダイアログで編集できるチェック構成を選んでください。 ビルトイン構成は編集できませんから、お手持ちのチェック構成か、ビルトイン構成を複製したチェック構成を 作ってから選んでください。[構成...]ボタンを押すと編集できます。

追加するモジュールを選択する

特定の行のcheckstyleのチェックを抑制するには002.png

上図のダイアログで、左のペインから[フィルター]→[Suppress With Nearby Comment Filter] を選びます。 [追加...]ボタンを押すと下図のダイアログが現れます。

追加するモジュールを編集する

特定の行のcheckstyleのチェックを抑制するには003.png

上図の comment format という欄の

SUPPRESS CHECKSTYLE (\w+)

が ソースに書くと chckstyle のチェックを抑制するコメントです。チェックを外したい行の後ろに

// SUPPRESS CHECKSTYLE XXX

とコメントを付ければチェックが外れます。 但しこの書き方だと、XXX のところに何を抑制するのかいちいち書かなくてはならないのでめんどくさいです。

下図のように修正すればコメントを書いた行の checkstyle のチェックが無条件に抑止されます。

特定の行のcheckstyleのチェックを抑制するには004.png

使い方

以下が使い方の例です。

import static org.hamcrest.MatcherAssert.*; // SUPPRESS CHECKSTYLE
import static org.hamcrest.Matchers.*; // SUPPRESS CHECKSTYLE