탭을 공백으로 변환
탭당 공백 수:
탭을 공백으로 변환 사용 방법
- 1
텍스트 붙여넣기
탭 문자가 포함된 코드나 텍스트를 입력란에 붙여넣으세요.
- 2
탭당 공백 수 설정
'Number of spaces per tab' 입력란을 사용해 각 탭을 2나 4처럼 몇 개의 공백으로 바꿀지 선택하세요.
- 3
탭 변환
'Convert Tabs to Spaces'를 클릭하면 모든 탭이 선택한 수의 공백으로 바뀝니다.
- 4
출력 복사
'Copy Output'을 사용해 공백으로 들여쓰기된 정리된 텍스트를 에디터나 문서용으로 가져오세요.
일관된 들여쓰기를 위해 탭을 공백으로 변환하기
이 도구가 하는 일
이 도구는 텍스트의 모든 탭 문자를 여러분이 선택한 개수의 공백으로 바꿉니다. 탭당 공백 수 입력란을 2, 4, 또는 아무 값으로 설정하면 각 탭이 정확히 그만큼의 공백이 됩니다. 대체는 글자 그대로 일대일입니다. 탭 하나가 들어가면 선택한 개수의 공백이 나옵니다.
탭은 에디터가 일정한 표시 너비로 렌더링하는 보이지 않는 단일 문자이므로, 이를 고정된 개수의 실제 공백으로 바꾸면 들여쓰기가 구체적이 되고 텍스트가 보이는 모든 곳에서 동일해집니다.
탭과 공백이 문제를 일으키는 이유
탭은 고정된 너비가 없습니다. 다음 탭 정지 위치로 이동하라는 신호일 뿐입니다. 에디터와 뷰어마다 그 정지 위치를 다르게 설정하는데, 흔히 2, 4, 또는 8칸입니다. 그래서 같은 탭 들여쓰기 파일이 한 에디터에서는 깔끔하게 정렬되어 보이고 다른 에디터에서는 들쭉날쭉해 보이는데, 이것이 오래 이어진 탭 대 공백 논쟁의 뿌리입니다.
반면 공백은 모호함이 없습니다. 공백 네 개는 파일을 어디서 열든 네 칸 너비입니다. 탭을 공백으로 변환하는 것은 탭의 유연성을 보장되고 이식성 있는 일관성과 맞바꾸는 것입니다.
탭 너비 선택하기
여러분이 고르는 숫자는 코드가 들어갈 곳의 관례와 맞아야 합니다. 많은 JavaScript와 TypeScript 프로젝트는 공백 2개를 사용합니다. 널리 따르는 Python 스타일 가이드는 4개를 명시합니다. 일부 C와 Go 코드베이스는 역사적으로 8개에 해당하는 너비를 사용했습니다. 변환하기 전에 프로젝트의 스타일 가이드나 기존 파일을 확인해 여러분의 공백이 다른 사람들의 것과 맞아떨어지게 하세요.
개수를 잘못 정하면 변환된 코드는 여전히 유효하겠지만 들여쓰기 깊이가 주변 코드와 맞지 않아 리뷰에서 거슬려 보입니다. 처음부터 올바른 너비를 확인해 둘 만합니다.
들여쓰기만이 아니라 모든 탭
이 도구는 각 줄 시작의 앞부분 들여쓰기뿐 아니라 줄 중간에 나타나는 것까지, 텍스트의 모든 탭 문자를 바꿉니다. 보통 이것이 원하는 동작인데, 줄 중간에 떠도는 탭이야말로 어긋남을 일으키는 바로 그런 종류의 일관성 없는 공백이기 때문입니다.
다만 탭으로 구분된 데이터에서는 이 점을 염두에 두세요. 어떤 줄이 탭을 열 구분자로 사용한다면, 그것을 공백으로 변환하면 그 데이터가 파싱되는 방식이 달라집니다. 소스 코드 들여쓰기에는 이것이 올바른 동작이지만, TSV 데이터에는 그렇지 않을 수 있습니다.
특히 중요한 언어들
Python에서 들여쓰기는 문법의 일부이며, 같은 블록에서 탭과 공백을 섞으면 인터프리터가 거부하는 오류가 됩니다. 모든 것을 공백으로 표준화하면 혼란스러운 실패 한 부류 전체가 사라집니다. YAML도 비슷하게 엄격해서 들여쓰기에 탭을 아예 허용하지 않으므로, YAML 파일을 유효하게 만들려면 탭을 공백으로 변환하는 것이 종종 필수입니다.
들여쓰기가 외형적일 뿐인 언어에서도 일관된 공백은 diff를 깔끔하게 유지하고, 동료가 다른 탭 설정으로 파일을 열었을 때 정렬이 어긋나는 것을 막아 줍니다.
줄바꿈과 다른 공백은 안전하다
변환은 탭 문자에만 한정됩니다. 줄바꿈, 기존 공백, 그리고 나머지 내용은 모두 원래 그대로 남습니다. 각 탭을 공백으로 바꾸는 것 외에는 무엇도 합쳐지거나, 잘리거나, 재배치되지 않습니다. 그래서 구조를 흐트러뜨릴까 걱정하지 않고 파일 전체에 안심하고 실행할 수 있습니다.
코드에 합치고 싶은 여분의 공백이 연이어 있다면, 그것은 공백 정리 도구가 할 별개의 일입니다. 이 도구는 탭을 공백으로 바꾸는 일에만 집중합니다.
작업 흐름에 끼워 넣기
전형적인 활용은 탭을 사용한 출처에서 복사한 조각을 공백을 요구하는 프로젝트에 붙여넣을 때, 그것을 프로젝트의 너비로 변환해 이미 올바르게 들여쓰기된 상태로 집어넣는 것입니다. 에디터의 자동 서식 도구가 설정되어 있지 않거나 쓸 수 없을 때 일회성 정리에도 편리합니다.
전 과정이 업로드 없이 브라우저 안에서 실행되므로 독점적이거나 민감한 코드도 안전하게 변환할 수 있고, 결과가 즉시 나오므로 들여쓰기가 맞아떨어질 때까지 여러 너비를 시도하며 비교할 수 있습니다.
자주 묻는 질문
각 탭은 몇 개의 공백으로 변환되나요?
코드에서 왜 탭을 공백으로 변환하나요?
앞부분 들여쓰기만 바꾸나요, 모든 탭을 바꾸나요?
줄바꿈이나 다른 공백을 바꾸나요?
무료이고 내 코드가 어딘가로 업로드되나요?
관련 도구
이런 편리한 도구도 함께 사용해 보세요