Skip to content

3. SwiftFormat

gookhee edited this page Dec 9, 2021 · 1 revision

What?

Swift 코드를 규칙에 따라 변경해주는 라이브러리 및 commandline tool입니다.

linting을 지원하지만 기본 기능은 재포맷팅입니다.

반면, SwiftLint는 일부 문제를 자동으로 수정할 수 있지만 linting이 기본 기능입니다.

이 글 작성시점에는 63개의 규칙이 포함되어 있습니다.

GitHub Repo & Guide

사용하기

가이드에 있는대로 homebrew로 SwiftFormat을 설치해서 실행해봤습니다.

예. 설정파일의 설정대로 규칙을 적용. 현재 디렉터리 이하 모든 파일

> swiftformat --config .wanted.swiftformat .

Rules

문서

Rules.md

규칙별로 identifier, 옵션, 예제 등의 규칙에 대한 정보를 제공해줍니다.

swiftformat명령을 실행할 때나 설정파일에서 규칙을 커스터마이징할 때 사용합니다.

규칙 커스텀 설정

swiftformat 파일을 생성해서 project root에 추가합니다.

Rules.md 의 스펙을 참고하여 개별 규칙의 옵션을 조정할 수 있습니다.

설정파일은 Wantedlab Swift Style Guide에 맞춰 작성했습니다.

가이드라인에 표시하는 이미지 레이블

Wantedlab Swift Style Guide에서 가이드라인을 지원하는 SwiftFormat 규칙이 있다면 레이블을 달고, 레이블을 클릭하면 스펙으로 연결되도록 했습니다.

SwiftFormat: redundantSelf