| # 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`. |
| |
| <!-- This portion is generated by doc/generate from golang.AllInlayHints. --> |
| <!-- BEGIN Hints: DO NOT MANUALLY EDIT THIS SECTION --> |
| ## **assignVariableTypes** |
| |
| `"assignVariableTypes"` controls inlay hints for variable types in assign statements: |
| ```go |
| 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: |
| ```go |
| {/*in: */"Hello, world", /*want: */"dlrow ,olleH"} |
| ``` |
| |
| |
| **Disabled by default. Enable it by setting `"hints": {"compositeLiteralFields": true}`.** |
| |
| ## **compositeLiteralTypes** |
| |
| `"compositeLiteralTypes"` controls inlay hints for composite literal types: |
| ```go |
| 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: |
| ```go |
| 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: |
| ```go |
| myFoo/*[int, string]*/(1, "hello") |
| ``` |
| |
| |
| **Disabled by default. Enable it by setting `"hints": {"functionTypeParameters": true}`.** |
| |
| ## **parameterNames** |
| |
| `"parameterNames"` controls inlay hints for parameter names: |
| ```go |
| 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: |
| ```go |
| for k/* int*/, v/* string*/ := range []string{} { |
| fmt.Println(k, v) |
| } |
| ``` |
| |
| |
| **Disabled by default. Enable it by setting `"hints": {"rangeVariableTypes": true}`.** |
| |
| <!-- END Hints: DO NOT MANUALLY EDIT THIS SECTION --> |