For go1.15 and below:
go get -u github.com/cuonglm/gocmt
For go1.16 and above:
go install github.com/cuonglm/gocmt@latest
Some of my projects have many files with exported fields, variables, functions missing comment, so lint tools will complain.
I find a way to auto add missing comment to them, just to pass the lint tools but nothing existed.
So gocmt
comes in.
$ gocmt -h
usage: gocmt [flags] [file ...]
-d string
Directory to process
-i Make in-place editing
-t string
Comment template (default "...")
$ cat testdata/main.go
package p
var i = 0
var I = 1
var c = "constant un-exported"
const C = "constant exported"
type t struct{}
type T struct{}
func main() {
}
func unexport(s string) {
}
func Export(s string) {
}
func ExportWithComment(s string) {
}
Using gocmt
give you:
$ gocmt testdata/main.go
package p
var i = 0
// I ...
var I = 1
var c = "constant un-exported"
// C ...
const C = "constant exported"
type t struct{}
// T ...
type T struct{}
func main() {
}
func unexport(s string) {
}
// Export ...
func Export(s string) {
}
// ExportWithComment ...
func ExportWithComment(s string) {
}
Default template is ...
, you can change it using -t
option.
Cuong Manh Le cuong.manhle.vn@gmail.com
See LICENSE