-
Notifications
You must be signed in to change notification settings - Fork 0
SwiftFormat·SwiftLint 환경 세팅 가이드
Seolin(Kirby) edited this page Jul 8, 2025
·
1 revision
- SwiftFormat: 커밋 전에 자동으로 코드 스타일을 통일합니다.
- SwiftLint: 잠재적인 코드 스멜과 스타일 위반을 사전에 감지합니다.
이 도구들은 커밋 전에 자동 실행되도록 .lefthook.yml에 연결되어 있으며, 설정 파일은 프로젝트 루트에 함께 포함되어 있습니다.
터미널에서 다음 명령어를 실행하세요:
make setup이 명령어는 다음 작업을 수행합니다:
-
scripts/*.sh실행 권한 부여 - lefthook 설치 및 Git 훅 연동
- 커밋 메시지 템플릿 적용
-
.swiftformat,.swiftlint.yml설정 자동 적용 가능 상태로 준비
다음 명령어로 정상 설치 여부를 확인할 수 있습니다:
which swiftformat # /opt/homebrew/bin/swiftformat (또는 비슷한 경로)
which swiftlint # /opt/homebrew/bin/swiftlint만약 설치되어 있지 않다면 다음을 직접 실행:
brew install swiftformat swiftlintswiftformat . 명령이 pre-commit 훅에 연결되어 있어, 커밋 전 자동으로 실행됩니다.
- 4칸 들여쓰기 (
--indent 4) - 개행은 LF로 통일 (
--linebreaks lf) -
self.생략 (--self remove) -
--importgrouping testable-bottom:@testable import는 가장 아래
👉 수동 실행도 가능:
swiftformat .현재는 pre-commit 훅에는 연결되어 있지 않으며, 차후 CI 연동 또는 수동 실행으로 사용합니다.
SwiftLint의 설정이 어려우시다면, 이 글을 참고하세요.
- 비활성화 규칙: 강제 캐스팅, 강제 언래핑, 한 줄 제한 등
- Opt-in 규칙:
- sorted_imports: import 순서 정렬
- indentation_width: 4칸 들여쓰기 고정
- 허용 예외 폴더:
.vscode,Pods/,.build/,.git
👉 수동 검사 예시:
swiftlintXcode에 SwiftLint가 연동되어 있다면, 저장할 때 자동 린팅됩니다.
| 증상 | 원인 및 해결 방법 |
|---|---|
| 커밋이 중단되고 포맷 수정됨 |
swiftformat . 자동 적용됨 → 수정된 파일을 git add 후 다시 커밋 |
| SwiftLint 관련 오류 출력 |
swiftlint 수동 실행 → 어떤 규칙에 위배되었는지 확인 가능 |
| swiftformat: command not found |
brew install swiftformat 후 다시 시도 |
| make setup 중 lefthook: command not found |
brew install lefthook 필요 |
| 도구 | 역할 | 실행 시점 | 설정 파일 |
|---|---|---|---|
| SwiftFormat | 코드 포맷 정리 | git commit 전 자동 실행 | .swiftformat |
| SwiftLint | 코드 규칙 검사 | 수동 실행 또는 CI 적용 예정 | .swiftlint.yml |
- SwiftFormat 공식
- SwiftLint 공식
- 현재
.swiftformat,.swiftlint.yml파일은 프로젝트 루트에 커밋되어 있습니다.