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