EditorConfig는 개발팀 내 서로 다른 에디터와 IDE 간에 일관된 코딩 스타일을 유지할 수 있도록 돕는 표준 설정 규격입니다.
표준 프로젝트 베이스라인 설정
프로젝트 최상위 루트 디렉터리에 .editorconfig 파일을 생성합니다:
# 최상위 EditorConfig 파일 선언
root = true
# 모든 파일에 적용되는 전역 기본값
[*]
indent_style = space
indent_size = 2
tab_width = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
# Python을 위한 4칸 공백 들여쓰기
[*.py]
indent_size = 4
# Go 및 Makefile을 위한 탭 들여쓰기
[*.go]
indent_style = tab
[Makefile]
indent_style = tab
# Markdown 파일의 줄바꿈 후행 공백 보존 설정
[*.md]
trim_trailing_whitespace = false
지원되는 속성 목록
| 속성 | 허용 값 | 설명 |
|---|---|---|
root |
true |
상위 디렉터리로의 재귀적 탐색 중단 |
indent_style |
space | tab |
들여쓰기 문자 유형 |
indent_size |
Integer | tab |
들여쓰기 너비(열 개수) |
tab_width |
Integer | 탭을 표현하는 열 너비 (기본값: indent_size) |
end_of_line |
lf | crlf | cr |
줄바꿈 개행 시퀀스 |
charset |
utf-8 | utf-16be | utf-16le | latin1 |
파일 문자 인코딩 |
trim_trailing_whitespace |
true | false |
줄 끝의 불필요한 공백 제거 |
insert_final_newline |
true | false |
파일 끝에 항상 빈 줄 추가 |
max_line_length |
Integer | off |
권장 최대 열 너비 제한 |
Glob 패턴 매칭 규칙
*: 경로 구분자(/)를 제외한 모든 문자열과 일치**: 디렉터리 경로를 가로지르는 모든 문자열과 일치?: 임의의 단일 문자와 일치[seq]: seq에 포함된 임의의 문자와 일치[!seq]: seq에 포함되지 않은 임의의 문자와 일치{s1,s2,s3}: 쉼표로 구분된 문자열 중 하나와 일치 (예: package.json 또는 .travis.yml)