Intellij Idea에서 사용되지 않은 모든 코드를 찾을 수있는 검사 "사용되지 않은 선언"이 있습니다. ( 이 질문 참조 ) 그러나 메서드, 변수 등이 아닌 사용되지 않는 모든 클래스를 찾고 싶습니다 . 클래스 만 . (3000 개의 결과 목록에서 클래스 만 찾기가 어렵습니다). 어떻게 할 수 있습니까?
Intellij Idea에서 사용되지 않은 모든 코드를 찾을 수있는 검사 "사용되지 않은 선언"이 있습니다. ( 이 질문 참조 ) 그러나 메서드, 변수 등이 아닌 사용되지 않는 모든 클래스를 찾고 싶습니다 . 클래스 만 . (3000 개의 결과 목록에서 클래스 만 찾기가 어렵습니다). 어떻게 할 수 있습니까?
답변:
설정이 나타납니다.
설정이 닫힙니다.
검색 시작
나는 이것이 가능하다고 생각하지 않습니다. 이 기능은 다른 "사용하지 않는 XXX 제거"리팩토링처럼 안전하게 사용할 수 없기 때문에 의도적으로 IDE에서 제외되었다고 생각합니다.
사용하지 않는 IDEA (및 AFAIK, NetBeans) 선언은 개인 멤버 및 로컬 변수를위한 것입니다. 해당 클래스 또는 범위 외부에서 동적으로도 액세스 할 수없는 것입니다. (적어도 리플렉션이나 JVM 해킹을하지 않고서는 안됩니다.) 외부 코드가 라이브러리에서 무엇을하든 상관없이 범위가 제한되어 있고 IDE는 모든 것을 볼 수 있습니다. 컴파일러는 코드 만보고이를 확인할 수 있습니다.
클래스의 경우 public
액세스 권한 이 없더라도를 사용하여 동적으로 참조 할 수 있으며 Class.forName()
이는 실제로 라이브 코드에서 발생합니다. 따라서 프로젝트 코드 내에서 분명히 사용되지 않더라도 라이브러리 실행을 사용하는 사용자 또는 외부 코드에 따라 사용될 수 있습니다. 따라서 IDE는 이러한 클래스를 제거해도 외부에서 관찰 가능한 동작이 변경되지 않는다고 보장 할 수 없습니다.
그렇기 때문에 IDEA가이 동작을 제공하지 않는다고 생각합니다. 사용자에게 안전에 대한 잘못된 기대를 줄 수 있으며이를 제거하는 것은 안전한 리팩토링이 아닙니다.