====== IntelliJ Live Template ====== * [[https://www.jetbrains.com/help/idea/2016.2/creating-and-editing-live-templates.html|Creating and editing live templates]] * [[https://www.jetbrains.com/idea/webhelp/edit-template-variables-dialog.html|Live template variable editor]] ===== 특수 변수 ===== * ''$END$'' : 라이브템플릿 수행 후 커서를 둘 위치 * ''$SELECTION$'' : 현재 선택된 문자열. ''Ctrl-Alt-T''로 selection template을 실행하면 선택된 문자열에 대한 행위가 실행된다. * ''$$'' : ''$'' 문자 그 자체 ===== Surround Template ===== * 뭔가를 선택하고 ''Ctrl-Alt-J''를 누르면 **Live Template -> Surround Template**에 있는 항목으로 감싸기 다이얼로그가 나온다. * ''Ctrl-Alt-T''는 다른 **Surround With**와 함께 나온다. ===== Date deep copy Getter/Setter template ===== ''DateUtils.dateDeepCopy(Date)'' 라는 유틸리티 메소드가 이미 존재한다고 가정하여, Date 객체를 Deep Copy 하는 setter, getter 를 자동생성해본다. * Abbrevication : ''ddc'' * Description : ''date deep copy'' * Template Text: public Date get$FIELD$() { return DateUtils.dateDeepCopy($field$); } public void set$FIELD$(Date $field$) { this.$field$ = DateUtils.dateDeepCopy($field$); } * Applicable : in Java declaration * Reformat according to style : check * Use static import if possible : check * Shorten FQ names : check * Variables * ''field'' : 아무것도 필요없음 * ''FIELD'' : * Expression : ''capitalize(field)'' FIELD에 입력한 값을 대문자화 ===== 참조 ===== * [[https://www.youtube.com/watch?v=Sio9MdSqXZo|IntelliJ IDEA. Helen's Take On: Writing Less Code - YouTube]]