TOML 포맷터의 주요 기능
- **한 번의 클릭으로 TOML 설정 파일과 코드 조각을 정리**
- **들여쓰기 크기 조정** - *들여쓰기 크기* 슬라이더로 1~8칸까지 설정 가능
- **들여쓰기 스타일 전환** - 공백이나 탭 중 선택
- **줄 바꿈/줄 길이** 제어로 긴 배열과 인라인 테이블을 지정된 열 너비 내로 유지
- `pyproject.toml`, `Cargo.toml`, `Pipfile.toml`, `poetry.toml` 등 `.toml` 파일 지원
- 날짜, 배열, 중첩 테이블, 인라인 테이블을 이해하는 Prettier 기반 TOML 파서
- 안정적이고 멱등성 있는 포맷팅 - 동일 파일에 재실행해도 포맷팅 변화 없음
- 포맷팅된 결과를 한 번의 클릭으로 복사하여 편집기나 커밋에 바로 사용
🛠️ 온라인에서 TOML 파일 포맷하는 방법 for toml-formatter
1. TOML 붙여넣기 또는 업로드
📥 TOML을 편집기에 붙여넣거나 `pyproject.toml`이나 `Cargo.toml` 같은 `.toml` 파일을 드래그 앤 드롭하세요. 이 도구는 내용을 일반 INI/JSON이 아닌 TOML로 파싱합니다.
2. 들여쓰기 및 줄 바꿈 설정 선택
⚙️ **들여쓰기 크기** 슬라이더로 들여쓰기 수준당 공백 수를 선택하고, 프로젝트가 선호하는 경우 **들여쓰기 스타일**을 탭으로 전환하세요. **줄 바꿈/줄 길이**를 조정하여 긴 배열이나 인라인 테이블이 줄 바꿈되는 시점을 제어합니다(또는 `0`으로 설정하여 줄 바꿈을 비활성화).
3. "포맷" 클릭
🚀 **포맷** 버튼을 누르세요. 포맷터가 배열을 재배치하고, `=`와 쉼표 주변 공백을 정리하며, 테이블 간격을 표준화하고, 데이터를 보존하면서 일관된 줄 바꿈을 적용합니다.
4. 검토, 복사 또는 저장
🔍 원본과 포맷팅된 TOML을 비교하세요. 만족스러우면 결과를 편집기에 다시 복사하거나 프로젝트에 새 `.toml` 파일로 저장하세요.
기술 사양
지원되는 TOML 기능
이 포맷터는 실제 프로젝트 설정을 위해 제작되었으며 현대적인 TOML 구문을 이해합니다.
| 기능 | 지원 | 예시/참고 |
|---|---|---|
| 테이블 및 하위 테이블 | ✅ 완전 | [tool.poetry], [project], [database.replica] |
| 배열 | ✅ 완전 | 인라인 배열과 테이블 배열 |
| 인라인 테이블 | ✅ 전체 | servers = { alpha = "10.0.0.1", beta = "10.0.0.2" } |
| 날짜 및 시간 | ✅ 전체 | 2025-09-23T10:20:30Z 및 현지 날짜 형식 |
| 주석 | ✅ 보존됨 | # 주석은 설명하는 설정 근처에 유지됨 |
| 여러 줄 문자열 | ✅ 전체 | 긴 텍스트 블록을 위한 삼중 따옴표 TOML 문자열 |
서식 옵션 (도구 컨트롤에 매핑됨)
이 옵션들은 UI에서 직접 노출되며 기본 Prettier TOML 플러그인에 연결됩니다:
| 옵션 | UI 컨트롤 | 범위 / 값 | 기본값 |
|---|---|---|---|
| 들여쓰기 크기 | 들여쓰기 크기 슬라이더 | 1–8 공백 | 2 공백 |
| 들여쓰기 스타일 | 들여쓰기 스타일 선택 | 공백 / 탭 | 공백 |
| 줄 길이 | 줄 바꿈 / 줄 길이 | 0–120 열 (0 = 효과적으로 줄 바꿈 없음) | 80 열 |
| 줄 끝 | 줄 끝 (내부적으로) | LF / CRLF | 브라우저 출력에서 LF |
입력 및 제한
이 도구는 애플리케이션 저장소에서 흔히 발견되는 소규모에서 중규모 TOML 파일에 최적화되었습니다.
| 매개변수 | 값 / 동작 | 참고 |
|---|---|---|
| 파일 확장자 | .toml | TOML 기반 구성 파일 |
| MIME 유형 | application/toml, text/x-toml | 드롭존에서 파일 감지에 사용됨 |
| 최대 파일 크기 | ~5 MB | 더 큰 파일은 속도가 느려질 수 있으며 CI에서 처리하는 것이 더 좋음 |
| 최대 문자 수 | ≈ 2,000,000 | 브라우저 정지를 방지하기 위한 포맷터 런타임의 하드 제한 |
유효성 검사 및 오류 처리
파일이 유효한 TOML이 아닌 경우(예: `=` 누락 또는 따옴표 불일치), 포맷터는 일반적으로 포맷된 출력 대신 읽을 수 있는 오류를 반환합니다. 표시된 줄을 수정하고 포맷터를 다시 실행하세요.
TOML 포맷팅을 위한 명령줄 대안
결과가 마음에 들고 CI 또는 pre-commit 훅에서 동일한 스타일을 원하시나요? 다음은 CLI 친화적인 옵션입니다:
크로스 플랫폼 (Node.js / Prettier)
Prettier 및 TOML 플러그인 설치
npm install --save-dev prettier prettier-plugin-toml프로젝트에 Prettier와 TOML 파서를 추가합니다.
Prettier로 TOML 파일 포맷팅
npx prettier --parser toml --write pyproject.tomlPrettier의 TOML 규칙을 사용하여 `pyproject.toml`을 제자리에서 다시 씁니다.
Linux / macOS / Windows (Taplo CLI)
Taplo를 사용하여 TOML 포맷팅
taplo fmt pyproject.tomlTOML 파일을 위한 또 다른 인기 있는 CLI 포맷터입니다.
CI에서 포맷팅 확인
taplo fmt --check .TOML 파일이 제대로 포맷되지 않은 경우 빌드를 실패시킵니다.
일반적인 TOML 포맷터 사용 사례
Python 패키징 (`pyproject.toml`)
Python 프로젝트 메타데이터와 도구 구성을 깔끔하게 유지하고 검토하기 쉽게 만드세요.
- `[project]`, `[tool.poetry]`, `[tool.black]` 섹션을 정렬합니다.
- 의존성 배열과 버전 지정자를 정규화합니다.
- 풀 리퀘스트에서 구성 차이점을 더 쉽게 읽을 수 있게 만듭니다.
[project]
name = "my-app"
version = "0.1.0"
[tool.black]
line-length = 88
include = "\.(py|pyi)$"
Rust 프로젝트 (`Cargo.toml`)
작업 공간과 마이크로서비스 간의 Rust 패키지 매니페스트를 정리하세요.
- `[dependencies]`와 `[dev-dependencies]`를 정렬되고 일관된 간격으로 유지하세요.
- 복잡한 기능 플래그에 사용되는 인라인 테이블을 정규화하세요.
- 작업 공간 내 여러 크레이트 간 포맷팅을 표준화하세요.
[package]
name = "my-crate"
version = "0.1.0"
edition = "2021"
[dependencies]
serde = { version = "1.0", features = ["derive"] }
tokio = { version = "1", features = ["full"] }
정적 사이트 & 도구 (Hugo, Zola 등)
정적 사이트 생성기 및 다양한 도구에 사용되는 TOML을 정리하세요.
- Hugo나 다른 정적 사이트 생성기를 위한 `config.toml`을 포맷팅하세요.
- 다국어 설정 블록을 가독성 있게 유지하세요.
- 메뉴 항목 및 분류 체계와 같은 긴 목록을 정규화하세요.
❓ Frequently Asked Questions
❓TOML 포맷터란 무엇인가요?
📏들여쓰기 크기와 스타일은 어떻게 선택해야 하나요?
🧪포맷터가 TOML 구문을 검증하나요?
🔁포맷터 실행이 구성 동작을 변경할 수 있나요?
🔒민감한 구성 파일을 포맷팅해도 안전한가요?
Pro Tips
메인 브랜치에 잘 포맷팅된 `pyproject.toml`이나 `Cargo.toml`을 유지한 다음, Prettier나 Taplo를 사용하여 CI에서 동일한 스타일을 적용하세요.
대규모 종속성 또는 구성 변경을 커밋하기 전에 TOML을 포맷팅하여 Git diff가 **실제 변경 사항**에 집중하고 공백 노이즈에 방해받지 않도록 하세요.
구성을 리팩토링할 때는 파일을 먼저 포맷팅하고 커밋한 다음 값을 변경하세요. 이렇게 하면 실제로 무엇이 변경되었는지 검토하기가 더 쉬워집니다.
모든 TOML 파일에서 동일한 **들여쓰기 크기**와 **줄 바꿈 길이**를 사용하여 프로젝트 간 탐색과 코드 리뷰를 일관성 있게 느껴지도록 하세요.
Additional Resources
Other Tools
- CSS 정리 도구
- HTML 정리 도구
- 자바스크립트 정리 도구
- PHP 정리 도구
- 색상 선택기
- 스프라이트 추출기
- Base64 디코더
- Base64 인코더
- C# 포맷터
- CSV 포맷터
- Dockerfile Formatter
- Elm 포맷터
- ENV 포맷터
- Go 포맷터
- GraphQL 포맷터
- HCL 포맷터
- INI 포맷터
- JSON 포맷터
- LaTeX 포맷터
- 마크다운 포맷터
- Objective-C 포맷터
- Php Formatter
- 프로토콜 버퍼 포맷터
- Python 포맷터
- Ruby 포맷터
- Rust 포맷터
- Scala 포맷터
- 셸 스크립트 포맷터
- SQL 포맷터
- SVG 포맷터
- Swift 포맷터
- Typescript Formatter
- XML 포맷터
- YAML 포맷터
- Yarn 포맷터
- CSS 압축기
- Html Minifier
- Javascript Minifier
- JSON 압축기
- XML 최소화 도구
- HTTP 헤더 뷰어
- PDF 텍스트 변환
- 정규식 테스터
- 검색 순위 확인기
- Whois 조회