Prettier는 javascript(+ 약간의 기타언어)의 소스 코드를 일정한 형식에 맞게 정리해주는 툴로 단독으로도 사용될 수 있지만 여기서는 Emacs에 연동하여 사용하는 방법에 대해 정리해보겠다. 물론 Emacs 외 다른 편집기들도 지원한다. (자세한 사항은 홈페이지 참조)
- Prettier 홈페이지 : https://prettier.io/
설치 방법
- DiffUtils for Windows를 설치한다. (Emacs에서만 사용시 Path 환경변수는 굳이 잡아줄 필요없다)
- Prettier-js for Emacs 홈페이지에서 prettier-js.el 파일을 다운받아 Emacs의 site-lisp 폴더에 복사한다.
.emacs 파일에서 exe-path에 Diff Util의 bin폴더에 대한 경로를 추가한다. (정슬래시 사용)
.emacs 파일에서 Javascript Hook으로 prettier mode를 설정한다.
- [옵션] 들여쓰기에 탭 문자가 아닌 스페이스를 사용하기 위해서는 아래와 같이 prettier-js-arg를 설정한다. 혹은 추가로 필요한 옵션이 있으면 설정한다. 아래 옵션 페이지 중 CLI용 옵션을 사용하면된다.
(setq prettier-js-args '( "--use-tabs" "false" "--tab-width" "4" ))
- Prettier 옵션 페이지 : https://prettier.io/docs/en/options.html
- 들여쓰기로 탭 문자 사용으로 설정할 경우, 여기서 설정한 탭 사이즈가 아닌 Emacs 기본 탭 사이즈가 적용된다.
(setq exec-path (append exec-path '("/path/to/diffutils")))
(require 'prettier-js) (dolist (hook '(js2-mode-hook js-mode-hook json-mode-hook)) (add-hook hook 'prettier-js-mode))
동작 방식
- 일반 다른 모드들과 같이 Tab키를 누르거나 Enter키로 줄바꿈을 하였을 때 조정되는 방식이 아니라, 1) 저장시와 그리고 2) M-x를 누른후 명시적으로 prettier-js를 입력하였을 때 정리가 일어난다. 단순이 들여쓰기만 정리되는 것이 아닌 코딩 스타일 전반에 걸쳐 정리가 된다.
- 저장시에 적용되는 것은 빼고 명시적으로 커맨드를 입력하였을 때만 적용하려면 .emacs 파일 설정시 아래와 같이 hook 부분은 빼고 설정해도 된다.
(require 'prettier-js)
참고사항
<테스트 환경> - OS : Windows 10 - Emacs 버전 : Emacs 24.5.1 윈도우
'1. 연구 모듈 > Emacs' 카테고리의 다른 글
[Emacs] 자바스크립트 모드에서 들여쓰기시 탭 대신 스페이스 문자 사용하는 설정 (0) | 2021.03.17 |
---|---|
[Emacs] Emacs에서 PATH vs. exe-path 설정 (0) | 2020.09.02 |
[Emacs/Lisp] 테이블 태그에 Single Line 스타일 자동추가 스크립트 (0) | 2019.08.09 |
[Emacs/Lisp] 특정 문자열 대체 관련 함수 정의 (0) | 2019.08.06 |
[Emacs/윈도우] "대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다." 에러 발생시 해결 방법 (0) | 2019.02.16 |