It's Ward

[IntelliJ] 인텔리제이 템플릿 자동완성 (Live Template) 본문

기타/모래사장 - 자잘한 정보들

[IntelliJ] 인텔리제이 템플릿 자동완성 (Live Template)

I'm ward 2022. 6. 24. 02:34

다들 한번씩은 사용해봤을 자동완성

 

 

코드를 작성하다보면 정말 정말 정말 똑같은 코드를 치는 경우가 생기고, Tap을 눌러서 빠르게 작성을 한다고 해도 동일한 코드를 여러번 치면.. 정말.. 귀찮다

나는 기본적으로 "내가 필요하다고 생각하는건 누군가가 똑같은 고민을 했을것이고, 해결책 또한 내놨을 것"을 항상 생각한다.

역시나 나처럼 불편함을 느끼는 사람들이 있었고, 해당 기능을 적용하여 현재는 정말 빠르게 코드를 구현할 수 있었다.

이런 기능도 가능하다. 정말 너무나도 편하다.

 

해당 기능은 Live Template이라고 하는데, 인텔리제이의 기본 설정에서 변경 할 수 있다.

https://www.jetbrains.com/help/idea/using-live-templates.html

 

Live templates | IntelliJ IDEA

 

www.jetbrains.com

 

1. 설정 방법

인텔리제이 상단의 File - Settings/Preferences으로 들어간다.

 

상단 검색창에 live를 입력하고, Live Templates를 클릭한다.

우측의 + 버튼을 눌러 Templates Grup을 선택한다.

 

필자는 Custom이라고 그룹을 만들었다.

기존에 있는 Java에서 템플릿을 만들어도 되지만, 나중에 수정하거나 삭제할 때 일일히 찾아봐야해서 너무 귀찮다. 

 

① 다시 + 버튼을 눌러 Live Template을 선택해 템플릿을 추가한다.

② sout 처럼 줄여서 사용할 단축키를 입력한다.

③ 해당 단축키에 대한 설명이다, sout으로 치면 옆에 나와있는 설명 Prints a String.....

④ 탭을 눌렀을 때 펼쳐질 코드(템플릿)를 작성한다. 

예시로 아래 템플릿을 적용해보자. 

단축키는 amt <- 이건 자신이 편한대로, 만들고 싶은대로 만들면된다.

마찬가지로 변수명도 선언없이 자유롭게 작성하면된다.

$변수$는 Tap을 누를때마다 작성할 위치가 변할곳이다. 실제로 처음 만들어지면, 맨처음 변수의 위치로 작성위치가 이동하여 바로바로 작성할 수 있도록 설계되어있다. 모두 작성했으면 아래 Define을 눌러 Java를 선택한다.

@Test
void $METOD$() {
	//given
    $BODY_GIVEN$
    //when
    $BODY_WHEN$
    //then
	$BODY_THEN$
}
$END$

 

모두 완성하였으면, 저장하고 나와서 테스트해본다.

탭을 누를때마다 내가만든 변수로 이동하는것을 확인할 수 있다. 

하지만 이경우, 자동으로 임포트 되지않아 굉장히 불편한데, 

다시 File - Settings/Preferences / Editor - General - auto import로 이동한다.

Insert imports on paste : 코드를 붙여넣기 한 경우의 Import문 추가에 대한 옵션의 두 체크박스를 체크하여 Enalbe시켜주면 편하게 사용할 수 있다.

 

+ 추가로 자동완성은 여러기능들을 제공하는데, 선언한 변수의 설정을 바꿔 2번째 움짤처럼도 가능하게 할 수 있다. 자세한 내용은

https://www.jetbrains.com/help/idea/template-variables.html

 

Live template variables | IntelliJ IDEA

 

www.jetbrains.com

여기서 확인 할 수 있는데, 움짤의 기능을 구현하려면

decapitalize를 변수에 줌으로써 할 수 있다.

 

많이 사용하는 템플릿들은 한번만 작성하면 정말 편하게 사용할 수 있다.. 인텔리제이 최고..!

Comments