IntelliJ IDEA를 사용하면서 'Optimize Imports' 기능을 써본 적이 한번 정도는 있을 것입니다. 임포트 부분이 깔끔하게 정리되는 것은 정말 좋은데 짜증나는 것이 하나 있습니다.
import java.util.UUID
이렇게 짜둔 코드가 순식간에 다음처럼 바뀌죠.
import java.util.*
비단 java.util.*
뿐만 아니라 다른 임포트 역시 이런식으로 *
가 붙을 수 있습니다. 이게 여러개의 임포트를 하나로 묶어주는것이라면 몰라도, 고작 java.util
에 속한 패키지를 하나만 썼을 뿐인데 그게 전체를 의미하는 *
로 바뀌는 것은 참기 힘듭니다. 게다가 이런 'Import on Demand'가 좋지 않다고 생각하는 사람도 적지 않고요.
결론적으로 말하면 이것 역시 설정이 가능합니다.
주의할 점은 각 언어별로 이를 설정해야 합니다. 개인적인 경험입니다만, 코틀린 파일을 작성하고 있는데 자바 설정만을 만져놓고 '이 설정 왜 적용이 안돼?!'라며 짜증을 낸 적도 있었습니다.
간단하게 자바와 코틀린에 대한 설명만을 보여드리겠습니다.
자바
위 사진과 같이 'Use single class import'를 체크한 후, 하단의 'Class count to use import with '*''와 'Names count to use static import with '*''의 수를 높은 숫자로 설정하면 됩니다.
'Use single class import'를 체크해야 임포트에 *
가 붙지 않을 수 있으며, 'Class count ~'와 'Names count ~'는 임포트를 정리할 때 몇 개부터 *
로 한데 묶을 것인지 지정하는 역할입니다.
코틀린
코틀린은 약간 설정 방법이 다릅니다.
일단 'Top-Level Symbols'와 'Java Statics and Enum Members'를 'Use single name import'로 설정한 후, 하단의 'Packages to Use Import with '*''에서 항목들을 제거해야 합니다. 제 경우에는 import java.util.*
항목이 있기에 이걸 지워야 했습니다.
이외의 언어도 Imports 탭 아래에 관련 설정이 있을 것입니다.