본문 바로가기
IT 정보

intelliJ]Live Template 사용하기(커스텀 자동완성)

by 완기 2021. 1. 7.
728x90
반응형

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

 

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

클래스를 만들고 매번 

	public void methodName(){
		something...
	}

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

 

그래서 들었던 생각이

System.out.println();

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

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

 

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

 

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

 

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

 

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

 

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

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

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

 

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

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

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

 

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

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

 

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

 

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

 

 

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

 

 

여기가 제일 중요하다.

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

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

 

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

 

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

 

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

엔터를 누르면

생성 후, 바로 메서드 이름을 입력하면 된다.

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

커서가 잘 이동된 모습

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

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

728x90
728x90

댓글