Gopls release v0.22.0 (forthcoming)
Configuration changes
Navigation features
- Asking for references while hovering over the name of a required module in a
go.modfile will show all the imports of that module in the main module (the go.mod’s module).
Web-based features
Editing features
Analysis features
atomictypes analyzer
The new atomictypes analyzer suggests replacing the primitive sync/atomic functions with
the strongly typed atomic wrapper types introduced in Go1.19 (e.g.
atomic.Int32). It refactors declarations like var x int32 to
var x atomic.Int32 and updates all corresponding call sites from
atomic.AddInt32(&x, 1) to method calls like x.Add(1).
fieldassignment analyzer
The fieldassignment analyzer, which reports diagnostics about memory layout and was disabled in v0.17.0, has been restored. It is disabled by default.
writestring analyzer
The new writestring analyzer detects inefficient string concatenation in uses of WriteString, of the form WriteString(a+b), and offers to replace them with WriteString(a); WriteString(b).
waitgroup modernizer renamed to waitgroupgo
Previously there were two analyzers named waitgroup: an analyzer that checks
for misuses of sync.WaitGroup, and a modernizer that simplifies goroutine
management with sync.WaitGroup. We have renamed the modernizer to waitgroupgo.
Code transformation features
$feature
The source files for this documentation can be found beneath golang.org/x/tools/gopls/doc.