TL;DR

  • Go の実験的なパッケージをエディタで補完させるには、gopls に環境変数 GOEXPERIMENT を渡す。
  • Visual Studio Code では go.toolsEnvVars、Zed では lsp.gopls.initialization_options.env に設定する。

背景

encoding/json/v2 を試したかった。このパッケージは GOEXPERIMENT=jsonv2 を指定したときだけ使えるので、エディタでも補完が効くようにしたかった。

検証

Visual Studio Code

.vscode/settings.json に次のように書いた。

{
  "go.toolsEnvVars": {
    "GOEXPERIMENT": "jsonv2"
  }
}

Zed

.zed/settings.json に次のように書いた。

{
  "lsp": {
    "gopls": {
      "initialization_options": {
        "env": {
          "GOEXPERIMENT": "jsonv2"
        }
      }
    }
  }
}

キーワード

参考