gofumpt - gofmt より厳格な Go コードフォーマッター
(github.com/mvdan)- 既存の
gofmtと下位互換でありながら、より厳格なルールを強制するフォーマッター gofmtが許容するフォーマットのサブセットとしてドロップイン置換が可能で、gofumpt実行後にgofmtを実行しても変更は発生しないgofmtだけでは検出できないスタイルのばらつきを自動で統一- 不要な空行、空白、括弧などを自動削除
- import で標準ライブラリを別グループに分離
var s = "x"→s := "x"、0755→0o755、//Foo→// Foo- 複合リテラルの改行を一貫させるなど、多数の追加フォーマット規則を適用
vendor、testdataディレクトリは明示的な引数でない限りスキップし、生成された Go ファイルにも追加ルールは適用しないgo.modのignoreディレクティブを尊重- 「gofmt の上に作らず、置き換えようとする理由は?」
- 設計自体は
gofmtの上に構築するものであり、gofmtのフォーマットと衝突するルールは追加しない — 競合ではなく拡張 - エディター/スクリプトでドロップイン置換として使うため、
gofmtの修正版コピーという形を取っている
- 設計自体は
まだコメントはありません。