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 下找到。