Intellij Ideaのすべての未使用コードを見つけることができる検査「未使用宣言」があります。 ( この質問 を参照)しかし、すべての未使用のクラス、notメソッド、変数などを検索したいOnlyクラス。 (3000の結果リストでクラスのみを見つけるのは困難です)。どうすればそれができますか?
設定がポップアップします
設定が閉じます
検索開始
これは実行可能だとは思わない。この機能は、他の「未使用のXXXを削除する」リファクタリングができる方法で安全に使用できないため、意図的にIDEから除外されていると思われます。
IDEA(およびAFAIK、NetBeans)が検索する未使用の宣言は、プライベートメンバーとローカル変数を対象としています。そのクラスまたはスコープの外部から動的にアクセスすることもできません。 (まあ、少なくともReflectionやJVMのハッキングであなたがするべきではないことはしません。)外部コードがあなたのライブラリで何をしても、それらのスコープは限られているので使用されません。 IDEはすべてを見ることができます。コンパイラーは、コードを調べるだけでこれを判断できます。
クラスの場合、public
アクセスを持っていなくても、Class.forName()
を使用して動的に参照できます。これは実際にライブコードで発生します。したがって、プロジェクトのコード内で明らかに使用されていない場合でも、ライブラリの実行に使用する外部コードに応じて使用される可能性があります。したがって、IDEは、これらのクラスを削除しても、外部から観察可能な動作が変更されないことを保証できません。
IDEAはこの動作を提供しないと思うのはこのためです。ユーザーに安全に対する誤った期待を与える可能性があり、それらを削除することは安全なリファクタリングではありません。
次の設定でUnused Symbol
インスペクションを調べる必要があるかもしれません。
これがあなたの質問に答えるかどうかはわかりませんが、過去にFortifyとしてツールを使用して、プロジェクトでコードレビュールールを実行しました。これは、未使用のインポート、デッドコード、未使用のクラスなどいくつかの無料のプラグイン/ソフトウェアが同じもので利用できるようになると確信しています。