Our great sponsors
- Onboard AI - Learn any GitHub repo in 59 seconds
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- SaaSHub - Software Alternatives and Reviews
gofumpt | goimports | |
---|---|---|
15 | 45 | |
2,679 | 7,040 | |
- | 0.9% | |
7.1 | 0.0 | |
about 1 month ago | 7 days ago | |
Go | Go | |
BSD 3-clause "New" or "Revised" License | BSD 3-clause "New" or "Revised" License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gofumpt
Posts with mentions or reviews of gofumpt.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-02-10.
-
Gofumpt: It's like gofmt except more strict
In the roadmap section[1] the author says it's more of an experiment with a possibility that some of the rules might end up in the original 'gofmt' tool. While I agree that Go having a de facto formatter built in is wonderful, there are some absolutely fantastic additions in 'gofumpt' that I do hope wind up in 'gofmt'
---
-
go-global-update - the missing command for updating globally installed go executables
I am the author of go-global-update, the missing command to update globally installed go executables (like gofumpt, gopls, gotop, and other CLI tools you may have installed globally in your system - in your GOBIN directory).
-
setting up emacs for go programming language
I think that the one tool that might still be useful outside of gopls is goimports. It can be used as a gofmt replacement, that also automatically manages and removes imports. Gopls can integrate staticcheck and gofumpt, but my understanding is that they have to be installed manually. See the settings section for more on that(1).
-
Is there a better alternative to `gofmt`?
I use gofumpt but I'm pretty sure it doesn't wrap either (and I don't want it to so we're good)
-
doc comment revisions: headings, lists, and links · Discussion #48305 · golang/go
Thats why things like gofumpt make sense.
-
https://np.reddit.com/r/golang/comments/p4lykq/precommitgolang_v100beta4_recent_updates/h8zn8nf/
Support for goumpt
-
The GoLand team is looking for feedback about running 'go fmt' on save
gofumports on save!
goimports
Posts with mentions or reviews of goimports.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-06-12.
-
How to find all methods which return struct "Foo" (vscode or cli)
Just a guess, but it might be somewhere in gopls https://github.com/golang/tools/tree/master/gopls/doc On this page https://langserver.org/ it says it should support "finding references"
- GitHub - orijtech/structslop: structslop is a static analyzer for Go that recommends struct field rearrangements to provide for maximum space/allocation efficiency.
-
betteralign - structs field alignment static analyzer for Go
For more gopls settings, you can see files in this folder: https://github.com/golang/tools/tree/master/gopls/doc
-
Linter for explicit hint to interface which gets implemented.
But finding which interface is satisfied by a type is trivial anyways through gopls which integrates conveniently into any LSP supporting IDE (such as VSCode and Goland).
-
LMDE5 + VSCodium setup issues
Error loading workspace: gopls was not able to find modules in your workspace. When outside of GOPATH, gopls needs to know which modules you are working on. You can fix this by opening your workspace to a folder inside a Go module, or by using a go.work file to specify multiple modules. See the documentation for more information on setting up your workspace: https://github.com/golang/tools/blob/master/gopls/doc/workspace.md.
-
How to use AWS SAM with Go in Visual Studio Code
The ResponseEvent struct. The reason for this is that the IDE has set the GOPATH to the root of the project. Therefor the imports are not correct. By using Workspace Folders you can change this behavior so that each folder has it’s own scope.
-
Is there any way to autocomplete language functions? For example, show things like fmt.Printf or fmt.Println when writing fmt.Print and pressing the autocomplete key.
Here are a few resources to get you started: 1. https://github.com/neovim/nvim-lspconfig 1. https://github.com/golang/tools/tree/master/gopls 1. https://github.com/williamboman/nvim-lsp-installer
-
Using multiple repositories in your CI builds
Like with the previous post, we're going to use djinn-ci/imgsrv as an example of using multiple sources in a build manifest. If we look at the top of the manifest file, we will see that it requires three repositories to build. These are, the source code for djinn-ci/imgsrv itself, golang/tools, and valyala/quicktemplate, defined like so,
-
Go Linux/Debian users which is the apt command to install Go via terminal?
Other useful solutions: https://github.com/golang/tools/tree/master/cmd/getgo https://go.dev/doc/manage-install
-
LSP codelens and inlayhints
I was reading about some of the gopls settings and ended up enabling a few, especially about codelens and inlayhints, only to come to the realization that more work is needed to make them work.
What are some alternatives?
When comparing gofumpt and goimports you can also consider the following projects:
nvim-lspconfig - Quickstart configs for Nvim LSP
goreturns - A gofmt/goimports-like tool for Go programmers that fills in Go return statements with zero values to match the func return types
GoLint - [mirror] This is a linter for Go source code. (deprecated)
staticcheck
golines - A golang formatter that fixes long lines
goimports-reviser - Right imports sorting & code formatting tool (goimports alternative)
go-checkstyle - checkstyle for go
Go Metalinter
GNU/Emacs go-mode - Emacs mode for the Go programming language
interfacer
GoCover.io - GoCover.io offers the code coverage of any golang package as a service.
lint - Run linters from Go code -