Skip to main content

golang code format

· 3 min read

myfmt简介

myfmt是我自己在github上开源的一款代码格式化工具,格式化golang

why myfmt

golang代码通过格式化可以使风格统一, 这样即使是不同的程序员看到同样一份代码头也不会变得那么大

你可以通过下面的途径来格式化你的 go code

  • 手动使用 go fmt
  • IDE保存的时候,自动格式化

既然IDE都能搞定的事,为何又要折腾?

因为我的工作环境仅支持vim 和 sublime 2种环境,goland会很卡

sublime之前配的有golang代码保存自动格式化,但是如果你不小心开了PS or AI,那么一保存

你会发现即使一个小小的修改你都会卡半天,很浪费时间,所以我就把sublime的格式化配置删掉了;

这样就导致我必须经常切换到不同的目录去go fmt,这显得很机械,显然把宝贵时间浪费在fmt上是很不理智的,于是myfmt应运而生,你可以把它看做是go fmt的升级版

myfmt特性

  • 第一次运行,当前文件夹及其子文件夹的所有go文件都会被格式化
  • 再次运行,只会格式化被修改后的文件

这样你在github上提交代码的时候就不会混乱,既美化了代码,又只会在对应的文件上打上你想要的commit,完美!

安装和使用

# download
go get https://github.com/scott-x/myfmt.git
cd myfmt
# init database
go run db/bin/init.go
# install
go install github.com/scott-x/myfmt
# use
myfmt

演示: