EditorConfig 생성기
리포지토리 루트에 둔 .editorconfig는 최신 IDE 모두에게 이 프로젝트가 파일을 어떻게 포맷하는지 알려 주며, 탭과 스페이스 논쟁을 파일 단위로 끝냅니다. Python은 스페이스 4개, JavaScript는 2개, Makefile은 탭(필수)입니다. 이 생성기는 사용자의 형식 설정(들여쓰기 스타일과 크기, 줄 끝, 문자 인코딩, 최대 줄 길이, 마지막 줄 개행, 줄 끝 공백 제거)으로 .editorconfig를 만들고, 흔히 쓰는 두 가지 재정의를 항상 포함합니다: [*.md]는 Markdown의 줄바꿈을 위해 줄 끝 공백을 유지하고, [Makefile]은 make가 필수로 요구하는 탭을 사용합니다.
.editorconfig 만드는 방법
-
1
전역 기본값을 설정하세요
문자 인코딩(기본값 utf-8), 줄 끝(lf 대 crlf), 들여쓰기 스타일과 크기, 최대 줄 길이, 마지막 줄 개행 삽입, 줄 끝 공백 제거.
-
2
내장 재정의를 확인하세요
생성기는 항상 `[*.md]`(Markdown이 줄바꿈에 필요한 줄 끝 공백을 남기는 `trim_trailing_whitespace = false`)와 `[Makefile]`(make 자체가 요구하는 `indent_style = tab`)을 추가합니다.
-
3
파일을 복사하세요
복사 버튼으로 생성된 `.editorconfig`를 가져와 리포지토리 루트에 두세요.
-
4
나중에 확장하세요
언어별 규칙이 필요하신가요? 예를 들어 `[*.py]`에 `indent_size = 4`처럼 직접 섹션을 추가하세요.
.editorconfig가 하는 일
프로젝트 루트(또는 임의의 디렉터리)에 둔 .editorconfig라는 파일은 형식 규약을 선언합니다. EditorConfig를 지원하는 편집기(모든 주요 IDE와 대부분의 최신 텍스트 편집기)는 파일을 열 때 이 규칙을 적용합니다.
출력 예시
기본 설정(스페이스, 크기 4, LF, utf-8)에서는 생성기가 다음과 같이 출력합니다:
root = true
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 120
[*.md]
trim_trailing_whitespace = false
[Makefile]
indent_style = tab
주요 디렉티브
| 디렉티브 | 허용 값 | 참고 |
|---|---|---|
| root | true / false | 프로젝트 루트에서 true로 설정하면 탐색이 멈춤 |
| charset | utf-8, utf-8-bom, latin1, utf-16-be, utf-16-le | 기본값은 utf-8 |
| end_of_line | lf, crlf, cr | 크로스플랫폼이면 lf, Windows 전용 리포지토리면 crlf |
| indent_style | space, tab | |
| indent_size | 정수 | 스페이스 개수. tab일 때는 무시됨 |
| tab_width | 정수 | 탭의 표시 너비(기본값은 indent_size와 동일) |
| insert_final_newline | true / false | POSIX 규격에 맞는 파일이 되도록 보장 |
| trim_trailing_whitespace | true / false | Markdown에서는 끄기(줄 끝 공백이 줄바꿈을 뜻하므로) |
언어별 관례 한눈에 보기
| 언어 / 파일 | 관례 |
|---|---|
| JS, TS, JSON | 스페이스 2개 |
| HTML, CSS, YAML | 스페이스 2개 |
| Python | 스페이스 4개(PEP 8) |
| PHP | 스페이스 4개(PSR-12) |
| Ruby | 스페이스 2개 |
| Go | 탭(gofmt가 강제) |
| Rust | 스페이스 4개(rustfmt가 강제) |
| Java | 스페이스 4개 |
| Makefile | 탭(make 자체가 요구) |
| Markdown | 줄 끝 공백 유지(<br>에 사용) |
| 배치 / CMD (.bat) | 줄 끝은 crlf |
함정: Markdown의 줄 끝 공백
Markdown에서는 줄 끝에 스페이스 2개가 있으면 “여기에 <br>를 넣어라”라는 의미입니다. .editorconfig가 모든 파일에서 줄 끝 공백을 제거하면 그 줄바꿈이 사라집니다. [*.md]에는 trim_trailing_whitespace = false로 재정의하세요.
내 IDE가 지원하나요?
기본 지원: VS Code, JetBrains의 IntelliJ 계열, Sublime Text, Vim(플러그인), Emacs(플러그인), Atom, Notepad++, Xcode. 편집기가 기본적으로 EditorConfig를 지원하지 않더라도 대개 플러그인이 있습니다. 이 파일은 기계가 읽을 수 있어 린터와 포매터도 참고할 수 있습니다.
자주 묻는 질문
root = true를 붙여 프로젝트 루트에 둡니다. 특정 경로를 재정의하려면 하위 디렉터리에 추가 .editorconfig 파일을 둘 수 있습니다. 탐색은 트리를 위로 거슬러 올라가며 처음 만나는 root = true 파일에서 멈춥니다.
아니요. EditorConfig는 모든 편집기에서 공백과 줄 끝 같은 기본을 다룹니다. Prettier와 언어별 린터는 더 깊은 스타일 규칙(따옴표, 세미콜론, 끝 쉼표 등)을 다룹니다. 둘은 서로를 보완합니다.
리포지토리의 Windows 도구가 실제로 필요로 한다면 end_of_line = crlf로 설정하세요. 더 나은 방법은 end_of_line = lf를 커밋하고 .gitattributes에 * text=auto를 추가하는 것입니다. 그러면 Git가 커밋 시 줄 끝을 정규화하고, 체크아웃 시에는 운영체제에 맞는 줄 끝을 사용합니다.
아니요. 선택한 내용은 파일을 생성하는 데만 사용되며, 서버에 저장되거나 페이지를 떠난 뒤 남는 정보는 없습니다.
관련 도구
ASCII 표 참조
NUL, LF, DEL 같은 제어 문자를 포함해 모든 문자에 대한 10진수, 16진수, 8진수, 2진수, HTML 숫자 문자 참조를 담은 0부터 127까지의 전체 ASCII 표.
HTML 문자 참조
HTML 엔티티의 검색 가능한 목록, 각 엔티티의 이름 및 숫자 코드, 그리고 특수 문자 및 기호에 대한 1클릭 복사 기능을 제공합니다.
키보드 단축키 참고표
macOS, Windows, Linux에서 VS Code, Chrome, GNU Readline을 쓰는 Bash의 문서화된 기본 단축키를 검색합니다.
보색 찾기
어떤 입력에 대해서도 보색을 찾습니다. HSL 반대 색, 분할 보색 쌍, 그리고 접근성 있는 조합 제안을 반환합니다.
이메일 검증기
이메일 주소를 검증합니다. RFC 5322 구문 검사, 실시간 MX 레코드 조회, 그리고 로컬 파트, 도메인, 길이 정보를 제공합니다. 이메일은 전송되지 않습니다.
색상 이름 찾기
HEX, RGB 또는 HSL 값에 가장 가까운 표준 CSS 색상 이름을 CIEDE2000으로 찾습니다.
이 도구는 다른 언어로도 제공됩니다
- Generator EditorConfig [PL]
- EditorConfig-Generator [DE]
- Trình tạo EditorConfig [VI]
- Générateur EditorConfig [FR]
- EditorConfig Oluşturucu [TR]
- Gerador de EditorConfig [PT]
- مولد EditorConfig [AR]
- EditorConfig-generator [SV]
- EditorConfig-generator [NL]
- EditorConfig Generator [EN]
- 编辑器配置生成器 [ZH]
- Generador de EditorConfig [ES]
- เครื่องมือสร้าง EditorConfig [TH]
- Generator EditorConfig [ID]
- EditorConfig ジェネレーター [JA]
- Generatore EditorConfig [IT]
- Генератор EditorConfig [RU]