Inlay hints are helpful annotations that the editor can optionally display in-line in the source code, such as the names of parameters in a function call. This document describes the inlay hints available from gopls.
"assignVariableTypes" controls inlay hints for variable types in assign statements:
i« int», j« int» := 0, len(r)-1
Disabled by default. Enable it by setting "hints": {"assignVariableTypes": true}.
"compositeLiteralFields" inlay hints for composite literal field names:
Point2D{«X: »1, «Y: »2}
Outer{«Embedded.»Field: 0}
Disabled by default. Enable it by setting "hints": {"compositeLiteralFields": true}.
"compositeLiteralTypes" controls inlay hints for composite literal types:
for _, c := range []struct {
in, want string
}{
«struct{ in string; want string }»{"Hello, world", "dlrow ,olleH"},
}
Disabled by default. Enable it by setting "hints": {"compositeLiteralTypes": true}.
"constantValues" controls inlay hints for constant values:
const (
KindNone Kind = iota« = 0»
KindPrint« = 1»
KindPrintf« = 2»
KindErrorf« = 3»
)
Disabled by default. Enable it by setting "hints": {"constantValues": true}.
"functionTypeParameters" inlay hints for implicit type parameters on generic functions:
myFoo«[int, string]»(1, "hello")
Disabled by default. Enable it by setting "hints": {"functionTypeParameters": true}.
"ignoredError" inlay hints for implicitly discarded errors:
f.Close()« // ignore error»
This check inserts an // ignore error hint following any statement that is a function call whose error result is implicitly ignored.
To suppress the hint, write an actual comment containing “ignore error” following the call statement, or explicitly assign the result to a blank variable. A handful of common functions such as fmt.Println are excluded from the check.
Disabled by default. Enable it by setting "hints": {"ignoredError": true}.
"parameterNames" controls inlay hints for parameter names:
parseInt(« str: » "123", « radix: » 8)
Disabled by default. Enable it by setting "hints": {"parameterNames": true}.
"rangeVariableTypes" controls inlay hints for variable types in range statements:
for k« int», v« string» := range []string{} {
fmt.Println(k, v)
}
Disabled by default. Enable it by setting "hints": {"rangeVariableTypes": true}.