자바 언어 쓰시는 분들 IDE 인텔리제이로 많이들 쓰시죠
최근 인프런에서 김영한님 JPA 강의 보고 있는데 인텔리제이의 Live Template으로 커스텀 자동완성 템플릿을 만들 수 있다고 하더라구요. (그래놓고 만드는 법은 안가르쳐주셨다..🤣) 궁금해서 바로 만들어봤습니다.
개발하다 보면 특정 패턴을 반복해서 코딩해야할 때가 있습니다.
자바 언어같은 경우 코드가 대체로 길게 나오기 때문에 이런 상황에 귀찮음이 많이 발생하구요,
인텔리제이에서 자바언어를 쓰신다면 기본적으로 psvm, sout 등 자동완성 템플릿을 지원하고 있습니다.
그런 템플릿들을 자동완성 명령어로 지정해두고 쓰면 너무 편하겠죠
그럼 만드는 법 알아봅시다.
일단 상단 메뉴에서 File > Settings 눌러서 키구요. (mac은 Preferences)
아래 그림 순서대로 하시면 돼요.
- Live Templates 검색
- Live Templates 클릭
- user 선택 (혹은 custom) (그냥 Java에 추가해도 됩니다)
- 우측에 + 버튼 클릭
- Live Template 클릭
순서대로 진행하면 다음같은 창이 뜹니다.
Abbreviation에 명령어를 적구요, 옆에 설명은 넣고 싶으시면 넣으시고 비워두셔도 돼요.
밑에 템플릿이 중요한데요. 명령어로 만들고싶은 코드를 치시면 됩니다.
@Test
@DisplayName("$TEST_NAME$")
void $METHOD_NAME$() {
$END$
}
저는 위의 모양으로 채웠습니다. 테스트 코드를 짤 때 쓸거거든요.
$$으로 감싸면 그게 템플릿에선 변수가 됩니다.
단축키로 템플릿을 활성화 시켰을 때 순서대로 그 위치로 커서가 떨어져요.
$END$는 무조건 마지막에 커서가 떨어지는 위치입니다!
그 다음은 어디에서 저 명령어를 사용할 수 있게 할지 체크하면 되는데요,
위 사진대로 진행하면 됩니다. 저는 테스트 케이스를 추가할 때 쓰는 거니 Declaration에만 체크를 했어요.
그럼 사용해볼까요 ㅎㅎ
이제 전 test + tab으로 빠르게 테스트 메서드를 추가할 수 있게 되었네요 ㅎㅎ
하나가지고 아쉬우니 하나 더 해봅니다. 저는 Lombok을 쓰면 @Slf4j 써서 로깅을 하는데요
sout, soutv, soutp 이런걸 못 쓰고 직접 다 log.info("~~~~~") 이렇게 쓰다 보니까 답답하더라구요.
템플릿 코드는
log.info("$END$");
이렇게 가구요, 명령어는 logi로 하겠습니다. 명령어 범위는 Java > expression 선택 했습니다.
그다음 logi + tab 하면?!
응..? 너 말구... 이건 제가 만든 친구가 아니에요...😳
밑에 있는 친구가 제가 만든거네요. 저거 눌러보겠습니다.
잘 나오네요커서도 딱 저 쌍따옴표 사이에 떨어졌어요 ㅎㅎ..
앞으로 개발하다 반복해서 쓸만한 패턴이 있으면 추가하면서 써야겠습니다. 인텔리제이 짱짱😆
추가) 저 위에 나오는 logi는 인텔리제이에서 기본으로 등록해놓은 라이브 템플릿입니다. 체크 풀어주면 나오지 않아요.
전 인텔리제이에서 안드로이드 코딩을 하지 않으니 전부 풀겠습니다.
'Java' 카테고리의 다른 글
Collections.unmodifiableXX()는 방어적 복사가 아니다 (1) | 2022.03.06 |
---|---|
Collection의 깊은 복사와 방어적 복사 (2) | 2022.03.05 |
추상 클래스와 인터페이스의 용도 차이 (0) | 2022.03.03 |
생성자에 매개변수가 많아도 안무섭게 해주는 Builder! (0) | 2022.02.28 |
Java String.split() 빈 문자열도 포함하는 방법 (0) | 2022.02.15 |