위키득계정 ↗
기술

Gofumpt

Gofumpt기술
대상 언어
Go
기반
Gofmt에서 분기
주요 역할
추가 서식 규칙 적용
편집기 연계
Gopls에서 지원
Gofumpt는 Go의 기본 서식 도구인 gofmt보다 엄격한 작성 형식을 적용하는 포매터다. Gofmt와 양립하는 범위에서 추가 기준을 적용해 코드의 빈 줄과 선언 배치 등을 일관되게 정리한다.

기본 형식에서 범위 좁히기

Gofmt가 허용하는 출력 형식 가운데 더 제한된 부분을 선택하는 접근이다. Gofumpt로 정리한 코드에 다시 gofmt를 적용해도 서식이 바뀌지 않는 것을 목표로 한다. 기본 도구와 전혀 다른 문법을 도입하기보다 같은 언어의 작성 기준을 더 엄격하게 다룬다.

추가되는 작성 기준

단순 대입 뒤의 불필요한 줄바꿈이나 함수 본문 주변의 빈 줄 등을 정리한다. 표준 라이브러리 가져오기 구문을 위쪽의 별도 묶음에 두는 기준도 있다. 이런 규칙은 프로그램의 기능을 설명하는 규칙보다 표현과 배치의 일관성을 다루는 기준이다.

프로젝트 적용 범위

파일과 디렉터리를 대상으로 실행할 수 있으며 vendor와 testdata는 직접 지정하지 않으면 건너뛴다. 생성된 Go 파일에도 추가 규칙의 기본 적용 범위가 다르다. 편집기에서 Gopls를 사용한다면 그 안의 Gofumpt 지원을 설정해 작성 중 서식 정리에 연결할 수 있다.

관련 문서

Prettier / Dprint / EditorConfig / Shfmt