Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
Tags
- 자바
- spring-security
- springboot
- 파라미터 그룹
- Spring
- RDS
- 이펙티브 자바
- exception
- Effective Java
- error
- 피리티어
- 보안 그룹
- Final
- 자바스터디
- https
- ec2
- JVM
- AWS
- Unchecked Exception
- bytecode
- 이펙티브자바
- 예외
- try-with-reources
- Annotation
- 바이트코드
- java
- Checked Exception
- 생각정리
Archives
- Today
- Total
개발 일지
IntelliJ Live Templete 설정 본문
테스트 코드를 작성하다 보면 똑같은 어노테이션 @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
}
- 여기까지 테스트 코드 작성 시 중복으로 작성되는 코드들을 템플릿으로 만들어서 쉽게 사용했습니다.
- 사용해 보니 설정도 간단하면서 편리해서 다른 자주 사용하는 코드들도 템플릿으로 설정해 두면 좋을 것 같습니다.