[Android Studio] 불필요한 unused 경고메시지 제거

Method 'foo()' is never used


EventBusButterKnife 등에서 제공하는 기능을 사용하기 위해 다음과 같이 어노테이션을 추가하는 경우가 있습니다.

@Subscribe
void foo(Event event) { ... }

@OnClick(R.id.view_id)
void bar() { ... }

이 때, 위의 메소드를 다른 곳에서 사용하지 않는다면 아래의 경고 메시지가 나타납니다. (Butterknife의 경우 빌드하기 전까지)


method 'foo()' is never used


다음과 같이 어노테이션을 추가해 해당 경고 메시지를 보여주지 않도록 할 수 있습니다.

@Subscribe
@SuppressWarnings("unused")
void foo(Event event) { ... }

@OnClick(R.id.view_id)
@SuppressWarnings("unused")
void bar() { ... }


다만, 이렇게 처리할 경우 해당 경고가 나타나는 모든 라인에 어노테이션을 추가해야하는 번거로움이 있습니다. 물론 보기에도 좋지 않구요.



Unused declaration

이런 문제들을 Unused declaration 설정 추가를 통해 해결할 수 있습니다.



우선 아래의 경로로 이동합니다. Unused declaration을 검색하면 빠르게 이동할 수 있습니다.

Preferences - Editor - Inspections - Java - Declaration redundancy - Unused declaration - Entry points - Annotations...


마지막 Annotations... 버튼을 누르면 아래의 창을 확인할 수 있습니다.


해당 설정 창에서 entry point를 추가해주시면 unused 경고 메시지가 나타나는 것을 방지할 수 있습니다.

특정 어노테이션 클래스의 이름이나 패턴을 추가하여 사용할 수 있습니다.



Show Intention Actions

만약 위의 과정이 귀찮으신 분들은 경고가 발생하는 라인에서 show intention actions(OS X 기준 Alt + Enter)를 이용해 간단하게 위의 설정에 추가가 가능합니다.