개발 일지

IntelliJ Live Templete 설정 본문

카테고리 없음

IntelliJ Live Templete 설정

junjun_ 2024. 5. 17. 15:32

 

테스트 코드를 작성하다 보면 똑같은 어노테이션 @Test @DisplayName을 사용하여 테스트 코드를 작성하게 됩니다.

항상 똑같은 구조이기 때문에 뭔가 구조화를 시켜둘 수 있지 않을까 라는 생각이 들어서 찾아봤더니 intellij에서는 Live Temlete 이란 이름으로 제공하고 있었고 자주 사용하는 cout, main 같은 단축어 들도 여기에 정의되어 있다는 걸 알게 되었습니다.

 

이번 글에서는  Live Temlete을 어떻게 설정하는지에 대해서 정리해 보도록 하겠습니다


적용하기

상단에 내비게이션 바에서 File > Setting (macOS: Preferences) > Editor > Live Templates으로 들어갑니다.

또는 단축어 Windows: `Ctrl+Alt+S`, macOS: `Cmd+` 를 통해 Setting 창을 열 수 있습니다.

  • Live Templetes 목록에서 해당하는 언어를 선택합니다
  • 저는 자바 파일에서 사용할 것이기 때문에 java를 선택하고
  • 우측에 +를 클릭합니다.

  • 1번 라이브 템플릿을 누르면 템플릿을 생성할 수 있습니다.
  • 2번을 클릭하면 "User Custome" 같은 템플릿 그룹을 만들어서 관리해 줄 수도 있습니다. (여러 커스텀 라이브 템플릿을 만들고 관리하실 분들은 템플릿 그룹을 만드는 걸 추천드립니다)
  • 일단 저는 test에 대한 템플릿 한 개만 만들 것이기 때문에 Java 하위에 만들어 보겠습니다.

  • Abbreviation: 템플릿을 호출할 때 사용할 단축어를 입력합니다.
  • Description:단축어에 대한 설명을 입력합니다.
  • template text: 필드에 실제로 삽입될 코드를 입력합니다.

코드

@DisplayName("")
@Test
void test() {
    // given

    // when

    // then

}
  • 이 정도만 설정해도 사용하는데 확실히 편리하게 사용할 수 있지만 좀 더 편의성을 추가해 보도록 하겠습니다.

 

자동 import와 변수설정 추가하기

  • 사용할 어노테이션을 full name으로 작성하고 Shorten FQ names 옵션을 켜주면 해당 full names를 잘라서 자동으로 import 해줍니다.
    • ex) @org. junit.jupiter.api.DisplayName -> @ DisplayName 
  • 라이브 템플릿에서는  $으로 감싸면 변수로 사용할 수 있습니다.
  • $변수$로 작성하면 Tap을 누를 때마다 해당 위치로 커서위치가 옮겨갑니다. 
  • 마지막으로 맨 아래 Change를 눌러 해당 템플릿을 어디에서 사용할 것인지 선택하면 완료입니다.
  • test 템플릿은 method이기 때문에 Declaration으로 설정해 놓았습니다. 
  • method 내부에서 사용하고 싶을 때는 statement로 설정하면 됩니다.

 

결과

 

 

코드

@org.junit.jupiter.api.DisplayName("$DisplayName$")
@org.junit.jupiter.api.Test
void $MethodName$() {
    // given
	$End$
    // when

    // then

}
  • 여기까지 테스트 코드 작성 시 중복으로 작성되는 코드들을 템플릿으로 만들어서 쉽게 사용했습니다.
  • 사용해 보니 설정도 간단하면서 편리해서 다른 자주 사용하는 코드들도 템플릿으로 설정해 두면 좋을 것 같습니다.