Gopls: Inlay hints

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

"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

"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

"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

"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

"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

"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

"parameterNames" controls inlay hints for parameter names:

    parseInt(« str: » "123", « radix: » 8)

Disabled by default. Enable it by setting "hints": {"parameterNames": true}.

rangeVariableTypes

"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}.


The source files for this documentation can be found beneath golang.org/x/tools/gopls/doc.