[IntelliJ] Kotlin 코드에서 wildcard('*') import 사용하지 않기

by 스뎅(thDeng) on

ktlint를 사용하면 import java.util.Locale와 같은 wildcard import를 사용하지 못 하게 한다.

Wildcard import ktlint warn

이유는

여러 실수가 많이 있을 수 있고, 이런 실수로 일하다가 1시간을 헤맨 적도 있다. 심지어 페어 프로그래밍을 하고 있어서 보는 눈도 많았는데 아무도 못 봤다.. @_@

그런데, 문제는 IntelliJ가 동일한 패키지에서 있는 클래스/함수를 5개 이상의 import를 사용하면 wildcard import로 바꿔 버린다. 자동으로 바꾸지 못 하도록 설정을 바꿔주자. IntelliJ 설정에서 Editor > Code Style > Kotlin 설정에서 아래와 같이 바꿔준다. Kotlin 클래스에서만 적용되는 내용이기 때문에, Java 같은 다른 언어는 적용되지 않는다.

Config wildcard import in IntelliJ

Wildcard import를 사용하지 않으려면 Use single level import를 체크하면 된다. 그리고 마지막으로 맨 아래에 있는 Packages to Use Import with '*' 설정을 바꿔준다. 특정 패키지를 import 하는 경우 위의 설정과는 별도로 무조건 wildcard import로 바꿔주는 클래스이다. java.util.*는 자주 사용하는 클래스들이 있어서 제거해 주는 편이 정신건강에 좋았다.

ktlint.. 다 좋은데, 너무 빡빡하게 체크해서 피곤할 때가 있다. 줄바꿈이 하고 싶다고!!

참고

별도로 명시하지 않을 경우, 이 블로그의 포스트는 다음 라이선스에 따라 사용할 수 있습니다: Creative Commons License CC Attribution-NonCommercial-ShareAlike 4.0 International License