Gopls:内联提示
内联提示是编辑器可以在源代码中内嵌显示的有用注解,例如函数调用中的参数名称。本文档描述了 gopls
提供的内联提示。
assignVariableTypes
"assignVariableTypes"
控制赋值语句中变量类型的内联提示
i/* int*/, j/* int*/ := 0, len(r)-1
默认禁用。通过设置 "hints": {"assignVariableTypes": true}
来启用它。
compositeLiteralFields
"compositeLiteralFields"
复合字面量字段名的内联提示
{/*in: */"Hello, world", /*want: */"dlrow ,olleH"}
默认禁用。通过设置 "hints": {"compositeLiteralFields": true}
来启用它。
compositeLiteralTypes
"compositeLiteralTypes"
控制复合字面量类型的内联提示
for _, c := range []struct {
in, want string
}{
/*struct{ in string; want string }*/{"Hello, world", "dlrow ,olleH"},
}
默认禁用。通过设置 "hints": {"compositeLiteralTypes": true}
来启用它。
constantValues
"constantValues"
控制常量值的内联提示
const (
KindNone Kind = iota/* = 0*/
KindPrint/* = 1*/
KindPrintf/* = 2*/
KindErrorf/* = 3*/
)
默认禁用。通过设置 "hints": {"constantValues": true}
来启用它。
functionTypeParameters
"functionTypeParameters"
泛型函数上隐式类型参数的内联提示
myFoo/*[int, string]*/(1, "hello")
默认禁用。通过设置 "hints": {"functionTypeParameters": true}
来启用它。
ignoredError
"ignoredError"
隐式丢弃错误的内联提示
f.Close() // ignore error
此检查会在任何函数调用其错误结果被隐式忽略的语句后插入一个 // ignore error
提示。
要隐藏提示,请在调用语句后写一个实际包含“ignore error”的注释,或者显式将结果赋值给一个空白变量。少数常用函数,例如 fmt.Println
,不包含在此检查范围内。
默认禁用。通过设置 "hints": {"ignoredError": true}
来启用它。
parameterNames
"parameterNames"
控制参数名的内联提示
parseInt(/* str: */ "123", /* radix: */ 8)
默认禁用。通过设置 "hints": {"parameterNames": true}
来启用它。
rangeVariableTypes
"rangeVariableTypes"
控制 range 语句中变量类型的内联提示
for k/* int*/, v/* string*/ := range []string{} {
fmt.Println(k, v)
}
默认禁用。通过设置 "hints": {"rangeVariableTypes": true}
来启用它。
本文档的源代码可以在 golang.org/x/tools/gopls/doc 下找到。