2014年2月11日火曜日

Eclipseのエラー抑制:DLTK問題・ビルドパス・バリデータ

EclipseでGitなどのソースコードリポジトリから新たにプロジェクトをチェックアウトした時など、ビルド時や検証時に出現するエラーの対応に苦労するのは僕だけではないはず。必要なところだけにエラーをだして欲しいのだが、外部のライブラリや自分の担当ではない部分のエラーまで出てしまったりする。

中にはエラーを放置していて、数百ものエラーをそのままにしている人も見たことがあるけれど、必要なエラーだけを出すようにすれば、バグを未然に防いだり、非推奨のコードをうっかり使うのを防止してくれたりと、Eclipseのメリットを享受できるのだ。

まあでも、この設定意外とわかりにくい。僕も全部は分かっていないが、とりあえず現時点で自分が分かっている範囲で概要をまとめてみたい。まず、Eclipseでの出るエラーは

  1. DLTK問題
  2. <言語名>問題

の2つに大きく分けられると思う。後者は例えばXML問題とかHTML問題とかPHP問題とかいうやつだ。

で、対処法としては、

  1. DLTK問題 → ビルドパスの設定
  2. <言語名>問題 → バリデータの範囲設定とレベル設定(可能なもの)

という感じ。

まず、「DLTK問題」の場合は、ビルドパスから検証不要なコードを除外すればいい。プロジェクトのプロパティから「ビルドパス」(or相当するもの)を選択する。なお下の画像はPDTを適用しているため「PHP ビルド・パス」となっているが、適当に読み替えて欲しい。


「除外:〜」をクリックして「編集」ボタンをクリックし、除外パターンを追加すればいい。


次に「<言語名>問題 」の場合には、バリデータの範囲設定で不要なソースを除外する。プロジェクトのプロパティから「検証」を選択する。


各バリデータの右側にある設定ボタンをクリックすると、バリデータの対象範囲を設定できる。まず、特定の範囲だけにバリデータを適用したい場合はまず内包グループを追加し、そのグループにさらにルールを追加して適用範囲を指定する。特定の範囲を除外したい場合は同様にまず除外グループを追加し、そのグループにさらにルールを追加して除外範囲を指定する。


ここまでの設定で不要なソースに対してのエラーは抑制できると思う。ただ、必要なソースに対しても、無視して欲しいエラーが出ているケースもあるだろう。例えばWeb系言語のフレームワークではHTMLタグを出力する命令があったりして、その場合はテンプレートをHTMLとしてバリデートすると開始タグがないというエラーが出てしまったりする。

こういう場合には、バリデータのレベル設定を変更してやればいい。例えば、HTMLバリデータの場合は、プロジェクトのプロパティから「検証>HTML構文」を選び、「プロジェクト固有の設定を可能にする」にチェックを入れれば色々いじることができる。


だいたいこんなところ。他にも言語やプラグインによって設定できる箇所は増えると思うけれど、だいたい上記の設定は共通して行うことになるんじゃないかな。

※この記事について指摘・意見・提案・感想などありましたら下のコメント欄にどうそ。

0 件のコメント:

コメントを投稿