EditorConfig Generator
편집기 전체에서 일관된 코딩 스타일을 위해 .editorconfig 파일을 생성합니다.
# EditorConfig — https://editorconfig.org root = true [*] indent_style = space indent_size = 2 end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true max_line_length = 120 [*.json] indent_size = 2 [*.md] trim_trailing_whitespace = false
이 도구 소개
EditorConfig는 개발팀이 서로 다른 에디터와 IDE에서 일관된 코드 형식을 유지하도록 돕는 설정 파일 형식입니다. 팀원들이 Visual Studio Code, JetBrains IDE, Sublime Text, Vim 등 다양한 에디터를 사용할 때, .editorconfig 파일은 들여쓰기, 줄 끝, 문자 집합 및 기타 형식 규칙을 통일하여 각자 선호하는 도구와 관계없이 일관성을 보장합니다. 이는 버전 관리 시스템에서의 형식 충돌을 제거하고 스타일 논의에 소요되는 시간을 줄입니다.
이 생성기를 사용하려면 들여쓰기 유형(탭 또는 스페이스), 들여쓰기 크기, 줄 끝 스타일(LF, CRLF 또는 자동 감지), 문자 집합을 선택하기만 하면 됩니다. Python, JavaScript, JSON 또는 작업하는 다른 언어와 같은 특정 파일 유형의 규칙도 구성할 수 있습니다. 모든 설정을 사용자 정의한 후 생성된 파일을 다운로드하여 프로젝트 루트 디렉토리에 배치합니다. 팀원의 에디터는 해당 프로젝트에서 파일을 열 때 이러한 규칙을 자동으로 적용합니다.
EditorConfig는 내장 지원 또는 경량 플러그인을 통해 대부분의 최신 에디터와 원활하게 통합되어, 추가 빌드 도구나 린터 없이 코드 스타일 일관성을 적용하는 가장 간단한 방법 중 하나입니다. 오픈소스 프로젝트, 기업 코드베이스 또는 협업 환경에서 작업하는 팀이 가장 이득을 봅니다. 이 도구는 여러 프로그래밍 언어가 공존하는 다중언어 프로젝트에 특히 유용합니다. 파일 확장자별로 .editorconfig 규칙을 맞춤화할 수 있기 때문입니다.
자주 묻는 질문
코드 구현
# Generate a .editorconfig file programmatically
def generate_editorconfig(indent_style="space", indent_size=2, end_of_line="lf",
charset="utf-8", trim_trailing_whitespace=True,
insert_final_newline=True) -> str:
lines = [
"# EditorConfig is awesome: https://editorconfig.org",
"",
"# top-most EditorConfig file",
"root = true",
"",
"[*]",
f"indent_style = {indent_style}",
f"indent_size = {indent_size}",
f"end_of_line = {end_of_line}",
f"charset = {charset}",
f"trim_trailing_whitespace = {str(trim_trailing_whitespace).lower()}",
f"insert_final_newline = {str(insert_final_newline).lower()}",
"",
"[*.md]",
"trim_trailing_whitespace = false",
"",
"[Makefile]",
"indent_style = tab",
"",
"[*.{json,yml,yaml}]",
"indent_size = 2",
]
return "\n".join(lines)
config = generate_editorconfig(indent_style="space", indent_size=4)
print(config)
# Write to file
with open(".editorconfig", "w") as f:
f.write(config)Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.