web-dev-qa-db-ja.com

IntelliJに伝えるIDEAどのメソッドを未使用として識別しないか

IntelliJ IDEAには、未使用のメソッドを検出して灰色で表示する便利な機能があり、デッドコードの潜在的な警告を示唆しています。

ただし、一部のメソッドは、直接ではなくリフレクションを介して実行されます。良い例は@RequestMappingアノテーションが付けられたメソッドで、Springによって実行されます。 IntelliJは適切なSpring統合を備えているため、このアノテーションを検出し、そのようなメソッドを未使用としてマークしません。

小さなAJAXフレームワークがあり、特定のHTTPリクエストプロパティに基づいて実行するメソッドをポイントするために、独自のアノテーションを使用しています(@RequestMappingが実行中です)。当然のことながら、IntelliJは私の注釈が何を表しているのかまったくわからず、そのようなメソッドを未使用としてマークし、不要なノイズを追加します。

私は考えていました:

  • 私の注釈に別の注釈を付けるが、余計な手間をかけずに作業を行う標準的な注釈はありますか?
  • intelliJで特定の設定を見つけて、メソッドを使用済みとしてマーキングするためのカスタムアノテーションを特定することはできますが、これには他のチームメンバーも同じことを行う必要があり、基本的には苦痛です。

誰でもこの問題を解決する方法を提案できますか?

57
mindas

IntelliJに、「未使用」メソッドが持つアノテーションが付けられたメソッド/フィールドに使用されていることについて警告しないように指示できます。

<Alt> + <Enter>を押してSuppress for methods annotated by ...を選択するだけの簡単な修正です。

コードに何も追加する必要はなく、注釈ごとに1回だけ追加する必要があります。

enter image description here

83
Peter Lawrey

@SuppressWarnings("unused")が機能するはずです。

44
Vance Maverick

@Peter Lawreyのソリューションは、私のバージョンのIntellij(14.1.1)では役に立ちませんでした。

私は周りの難しい方法を使用しました:設定-エディター->検査->未使用の宣言オプションポイントがあり、下にスクロールしてConfigure annotations...そして、そこに注釈を追加できます。

5
Zarathustra

「設定」では、設定-検査-宣言の冗長性-未使用の宣言コード検査を「オフ」にすることができます。

0
Andrey