View

editorconfig

rura6502 2021. 7. 3. 22:41

JHistper라는 것을 알게되었는데 자동으로 세팅되는 여러 파일들 중 .editorconfig라는 파일이 있어 어떤 파일인지 찾아보았다.

Concept

다수의 개발자들과 함께 일할 때 코딩 컨벤션(띄어쓰기 등)을 간단하게 맞출 수 있는 도구이다. eclipse를 쓸 때, 코드 포매팅 관련 자료를 찾다가 코드별 포맷등을 프로퍼티화 하여 xml형태로 배포하는 파일을 다운로드받아 적용시켜본 경험이 있다.

editorconfig는 이와 매우 유사한데 프로젝트 최상단에 .editorconfig라는 파일에 값들을 설정하면 editorconfig를 지원하는 다양한 IDE, Editor tool 들이 해당 설정을 읽고 설정값을 해당 값으로 적용시켜 준다.

Details

.editorconfig 파일은 매우 간단한데 적용시킬 파일을 패턴형태로 지정할 수 있고 해당 패턴에 적용시킬 설정들을 나열하는 형태이다.

root=true

[*]
charset=utf-8
indent_style = space
indent_size = 2
trim_trailing_whitespace = true

위는 예제로 만들어본 .editorconfig 파일인데, 모든 파일 [*]에 대해 utf-8 인코딩을 설정, indent를 space로 사용해서 size는 2로 설정하고 한 문장 끝에 불필요한 whitespace를 지운다는 설정이다.

여러 IDE에서 설정하는 것 처럼 제어문의 블록이 한 줄일 때 제어부분과 실행부분을 한 줄로 설정한다던가 하는 고급 설정은 하지 못하고 기본적인 설정만 가능하다.

또한 해당 파일이 있는 프로젝트의 설정값만 바꿔주고, 해당 설정을 적용 시킬지 또는 저장 시 적용시킬지 등 실제 액션에 대해선editorconfig의 범위가 아니기 떄문에 별도의 IDE, tool의 설정으로 해결해야 한다.

Conclusion

editorconfig의 장점은 editorconfig를 자체적으로 지원하는 IDE, tool등이 매우 많으며 이 외에 플러그인을 통해서 지원할 수 있는 범위도 매우 넓다. editorconfig:pre-installed

인코딩, indent type/size 등 기본적인 설정을 공유하기엔 가볍고 심플한 기능이지만 다양한 coding convention을 제어하기엔 기능상으로 부족하다.

Share Link
reply