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 の下にあります。