IntelliJ JSP 자동완성 - IntelliJ JSP jadong-wanseong

(해당 글은 R.LOG에서 가져온 글입니다 :: https://rlog.or.kr/post/84)

🚀 IntelliJ > Live Template

IntelliJ > Perference >Live Template추가를 할겁니다.

IntelliJ JSP 자동완성 - IntelliJ JSP jadong-wanseong
IntelliJ JSP 자동완성 - IntelliJ JSP jadong-wanseong

- custom 폴더 구분 생성 (기본 템플릿과 구분)

- abbreviation : 빠른 완성을 위한 키워드

📑 템플릿 예제

아래는 제가 사용하는 템플릿입니다.

custom 내부에 추가하면 됩니다.

Live Template 추가

classRemark

/**
*@fileName:$file_name$
*@author: rojae
*@date:$DATE$ $TIME$
*@description:$END$
*===========================================================
* DATE AUTHOR NOTE
* -----------------------------------------------------------
*$DATE$: rojae최초 생성
*/

fori

for (int i = 0; i < ; i++) {

}

methodRemark

/**
*@methodName:$METHOD_NAME$
*@author: rojae
*@date:$DATE$ $TIME$
*@Description:$END$
*/

sout

System.out.println($END$);

tdd

@Test
public void $END$() throws Exception {
    //given

    //when

    //then
}

💌  마무리

이제 tdd + enter만으로도 테스트 케이스가 만들어집니다.

오늘은 인텔리제이 라이브 템플릿을 이용할 것이다.

라이브 템플릿을 사용하게 된 이유는 

클래스를 만들고 매번 

	public void methodName(){
		something...
	}

이와 같은 형태를 쓰기 매우 귀찮았다.

그래서 들었던 생각이

IntelliJ JSP 자동완성 - IntelliJ JSP jadong-wanseong
System.out.println();

이와 같이 템플릿을 커스텀할 수 있지 않을까 방법을 찾다가, 

라이브 템플릿을 알게 됐다.

일단 내가 가장 많이 사용하는 public void 랑 int 메서드 템플릿을 정의하기로 했다.

IntelliJ JSP 자동완성 - IntelliJ JSP jadong-wanseong

Preferences -> Editor -> Live Templates -> Java 항목을 열어준다.

나온 항목들을 살펴보니까, 평소에 사용하던 템플릿들이 보인다.

바로 여기서 커스텀 템플릿을 정의할 수 있다.

IntelliJ JSP 자동완성 - IntelliJ JSP jadong-wanseong

우측에 + 버튼을 눌러 항목을 추가하자

IntelliJ JSP 자동완성 - IntelliJ JSP jadong-wanseong

그럼 위 그림과 같이 나오게 되는데

<abbreviation>은 줄여 쓸 항목을 의미한다 

예를 들면 sout 같은 개념이다.

그리고 Description은 자동 완성 기능을 사용할 때, 해당 단축어가 어떤 템플릿을 불러오는지 설명한다.

IntelliJ JSP 자동완성 - IntelliJ JSP jadong-wanseong

위 그림과 같이 오른쪽에 설명이다.

난 public void를 만들 것이기 때문에, 줄여서 puvo라고 정의하겠다.

IntelliJ JSP 자동완성 - IntelliJ JSP jadong-wanseong

abbreviation에 내가 줄여 쓸 단축어를 puvo라고 정의했고, Description은 public void 메서드를 만든다고 적어줬다.

그리고 텍스트에 그림과 같이 적어준다.

$NAME$란 변수는 Description 밑에 EDIT VARIABLES를 눌러보면 설정이 가능하다.

IntelliJ JSP 자동완성 - IntelliJ JSP jadong-wanseong

메서드의 이름이기 때문에 그림과 같이 작성했고,

여기가 제일 중요하다.

IntelliJ JSP 자동완성 - IntelliJ JSP jadong-wanseong

아래에 Applicable in Java : declaration. 에서 Change 버튼을 누르고 해당 템플릿이 사용되는 영역을 지정해줘야 한다.

IntelliJ JSP 자동완성 - IntelliJ JSP jadong-wanseong

나 같은 경우는 메서드를 선언하는 것이기 때문에 declaration항목에 체크해줬다.

sout처럼 메서드 안에서 실행되는 템플릿은 Statement를 체크해주면 코드 블록 안에서 사용할 수 있다.

그다음 OK를 눌러주고 잘 적용됐는지 체크해보자.

IntelliJ JSP 자동완성 - IntelliJ JSP jadong-wanseong

선언부에서 잘 작동하는 모습이고,

엔터를 누르면

IntelliJ JSP 자동완성 - IntelliJ JSP jadong-wanseong
생성 후, 바로 메서드 이름을 입력하면 된다.

메서드 이름에 바로 focus가 이동되어 바로 메서드 이름을 입력하고 엔터를 누르면 아까 $end$로 정의된 부분으로 커서가 이동한다.

IntelliJ JSP 자동완성 - IntelliJ JSP jadong-wanseong
커서가 잘 이동된 모습

위 같은 방식으로 public void, int, String 형태로 3개의 템플릿을 더 만들었다.

IntelliJ JSP 자동완성 - IntelliJ JSP jadong-wanseong

앞으로 개발하다가 귀찮은 작업은 템플릿화 해야겠다.