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:
{/*in: */"Hello, world", /*want: */"dlrow ,olleH"}
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}
.
"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}
.