본문 바로가기
👨‍💻 프로그래밍/Java, Kotlin, Spring

자주 쓰는 Kotlin Live Template 공유

by 개발자 진개미 2024. 6. 2.
반응형

Live Template이 뭐임

Jetbrains 계통의 IDEA에서 쓸 수 있는 Code Snippets

 

코딩을 하다보면 반복되는 패턴을 많이 마주하게 됩니다. 여기서는 거창하게 디자인 패턴 같은 거를 말하는건 아니고, 아래와 같이 사소한 것들을 말한 겁니다.

  • for 문으로 같은 동작 n번 반복하기
  • if 문으로 null 확인하기

이런 자주 쓰이는 언어의 패턴을 짧은 단축키로 바로 칠 수 있게 해 주는 걸 Code Snippets이라고 합니다. 가장 유명한 Code Snippets이라면 Emmet이 있겠네요.

Emmet은 HTML에서 쓰는 Code Snippets인데, 특히 반복해서 타이핑해야 하는 일이 많은 HTML에서 유용합니다. 예를들어 아래와 같은 HTML 코드를

<header>
	<ul>
    	<li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
</header>

 

header>ul>li*4로 바로 만들 수 있습니다.

 

 

Emmet — the essential toolkit for web-developers

Emmet — the essential toolkit for web-developers Emmet is a plugin for many popular text editors which greatly improves HTML & CSS workflow: Demo | @@@ tooltip: Type CSS-like abbreviation type: ul#nav>li.item$*4>a{Item $} wait: 1000 tooltip: Run “Expan

emmet.io


IntelliJ에서 어떤 Live Template이 있는지 보기

설정 -> Editor -> Live Template에 가면 각 언어에서 쓸 수 있는 Live Template 전체 목록을 볼 수 있습니다.

Live Template은 단순히 정해진 코드를 출력하고 끝나는게 아니라, 이름이나 데이터 타입을 변경해야 할 경우 Tab을 눌러 차례대로 이동할 수 있습니다. 이동할 부분은 IntelliJ에서의 경우 $로 감싸서 표시합니다.

 

예를 들어 위 이미지의 경우 anonymous class를 만드는 Live Template인데, class의 이름내용이 각각 $로 감싸져 있는 걸 볼 수 있습니다.


🐜 개미픽

기본으로 제공되는 Live Template이 상당히 많지만, 써볼려고 상당한 노력을 해 봤지만 아래의 경우를 제외하고는 손에 익지는 않더라구요. 특히 위의 anonymous는... 저걸 치느니 (자동완성을 되지만) 그냥 코드를 치는게 나을 거 같아요. 아무튼, 아래 Live Template을 1개 1개 사용하는 연습부터 시작해 보시면 코딩 속도가 조금은 빨라집니다!

 

  • exfun (extension function)
fun $RECEIVER$.$NAME$($PARAMS$): $RETURN$ {
	$END$
}

 

  • fun0
fun $NAME$(): $RETURN$ {
	$END$
}

 

  • fun1
fun $NAME$($PARAM1$ : $PARAM1TYPE$): $RETURN$ {
	$END$
}

 

  • fun2
fun $NAME$($PARAM1$ : $PARAM1TYPE$, $PARAM2$ : $PARAM2TYPE$) : $RETURN$ {
	$END$
}

 

  • void
fun $NAME$($PARAMS$) {
	$END$
}

 

  • ifn
if ($VAR$ == null) {
	$END$
}

 

  • inn
if ($VAR$ != null) {
	$END$
}

 

  • iter (iterations)
for ($VAR$ in $ITERABLE$) {
	$END$
}

참고

 

List of Kotlin live templates | JetBrains Fleet

 

www.jetbrains.com


 

반응형