[인텔리제이] Live Templates로 반복되는 코드 쉽게 작성하기

nbh·2024년 9월 3일
post-thumbnail

테스트 메서드 적어야겠다!

@Test
void 테스트메서드1() {
	// given
    
    //when
    
    //then
}

@Test
void 테스트메서드2() {
	// given
    
    //when
    
    //then
}

...(타닥타닥)

귀찮음 타파를 위해 템플릿을 이용해서 한 번에 작성할 수 있게 만들어보자!

IntelliJ Live Templates

인텔리제이에는 키워드를 통해 미리 만들어둔 템플릿을 쉽게 작성할 수 있는 기능이 있다.

자주 쓰는 키워드로는

  • sout : System.out.Println();
  • soutv : System.out.Println("변수_이름 = " + 변수);
  • soutm : System.out.Println("작성중인 메서드 이름(패키지 경로 포함)")
  • iter : 순회가능한 자료형이 있는 경우 for-each문으로 순회할 수 있게 만들어준다.
  • psvm : public static void main의 약자로 메인 메서드를 한방에 만들어줌!!

가 있다.

이 템플릿들은 직접 작성할 수 있다!
그래서 이번에는 인프런 강의를 수강하며 자주 쓰게 되는 given-when-then 테스트 메서드를 "gwt"키워드로 등록해볼것이다.

Live Templates에 자주 쓰는 코드 등록하기

어디서 할 수 있나요?

File - Settings - Editor - Live Templates
혹은 Settings에서 Live Templates 검색!

어떻게 하나요?

1. 새 템플릿 그룹 선택 혹은 만들기


새로 작성하는 템플릿을 넣을 그룹을 선택한다.
Java 코드로 작성할 거니까 Java 폴더에 넣어줘도 되는데 나는 관리하기 쉽게 직접 만든 템플릿은 Custom 폴더에 저장해서 관리하고 있다.

2. 새 템플릿 만들기


지정한 폴더에 템플릿을 만들어준다.

3. 템플릿 작성하기


Abbrevition(약어)에 내가 사용할 키워드를 적고, Description에 설명을 적는다.
그리고 아래에 파란색 Change를 누르면 내가 어떤 Context에서 사용할지 선택할 수 있는데, 나는 Java에서 사용하기 위해 적어서 Java를 선택했다.

그리고 OK 누르면 끝!

근데 별로 한 게 없어보인다.
딱히 코드 작성하는 수고를 던 것 같지도 않고
뭔가 한 것 같지도 않다.

더 나아가기 - 변수 사용하기

메서드 자체를 작성하는 템플릿 만들기

이번 메서드 자체를 만들어주는 템플릿을 작성해 보자. 키워드는 soutm처럼 Method의 m을 붙여 gwtm을 사용한다.
이 템플릿은 아래와 같이 애노테이션부터 함수까지 모두 포함한다.

@Test
void 테스트메서드1() {
	// given
    
    //when
    
    //then
}

이 템플릿을 호출(?)하고 나면, '테스트메서드1'부분에 텍스트 커서를 이동해 바로 메서드 이름을 작성할 수 있게 만들 것이다.

작성하기 전에 - 다른 템플릿 살펴보기 :: soutv

근데 그걸 어떻게 하는 걸까?? 우선 지금까지 자주 사용한 템플릿을 살펴보면서 파악해 보자.


soutv는 메서드에서 사용할 수 있는 변수를 이름과 값을 함께 출력하는 코드를 적는 템플릿이다.
$EXPR_COPY$에는 변수명이, $EXPR$에는 변수가 들어간다. (결론적으로 적히는 글자는 같다.)
Edit Variables를 살펴보면,


이렇게 $ 사이에 감싸진 변수들이 정의되어 있고

Expression을 눌러보면 엄청 다양한 표현식들이 있다. 이걸 이용해서 변숫값을 Context에 따라 불러와 주는 것 같다.

각각의 설명은 아래 링크에서 볼 수 있다.
Live template variables | IntelliJ

이제 한번 만들어보자


이렇게 작성했다.
METHOD_NAME은 빈 채로 놔두고 싶어서 딱히 건드리지 않았다.
$END$는 템플릿이 작성된 뒤 커서의 위치이다.

apply, ok를 누르고 나가면 정상적으로 사용이 가능한 것을 볼 수 있다.


↑ gwtm을 쓰고 엔터를 누르면 나오는 모습

↑ 메서드명을 적고 엔터를 누른 뒤의 모습

이제는 귀찮은 기본 테스트 메서드 작성을 쉽게 할 수 있게 됐다.
끝!!!!!!!!!!!!!!!!!!!!!!!!

0개의 댓글