VisualStudioCodeの環境設定(GO言語)

VisualStudioCodeの環境設定(GO言語)

外部ライブラリを実装時に自動で import に追加するための settings.json の最適な設定 を以下にまとめました。
この設定を適用すれば、godotenv.Load() などをコードに書いた際に import 文が自動で追加される ようになります。


🔧 設定ファイル (settings.json)

{
    "[go]": {
        "editor.defaultFormatter": "golang.go",
        "editor.formatOnSave": true,
        "editor.codeActionsOnSave": {
            "source.organizeImports": true
        }
    },
    "go.formatTool": "goimports",
    "go.useLanguageServer": true,
    "go.languageServerFlags": [
        "-rpc.trace"
    ],
    "gopls": {
        "formatting.gofumpt": true,
        "analyses": {
            "unusedparams": true,
            "shadow": true
        },
        "staticcheck": true,
        "memoryMode": "DegradeClosed",
        "verboseOutput": true
    },
    "go.toolsManagement.autoUpdate": true,
    "editor.codeActionsOnSave": {
        "source.organizeImports": true
    }
}

🔍 各設定の意味

設定キー説明
"editor.defaultFormatter": "golang.go"Go の標準フォーマッターを使用
"editor.formatOnSave": true保存時にコードの整形を自動実行
"editor.codeActionsOnSave": { "source.organizeImports": true }未使用の import を削除 & 必要な import を自動追加
"go.formatTool": "goimports"goimports を使い、import の最適化を実行
"go.useLanguageServer": trueVS Code の Go 言語サーバー (gopls) を有効化
"go.languageServerFlags": ["-rpc.trace"]言語サーバーの詳細なログを出力(デバッグ用)
"gopls.formatting.gofumpt": truegofumpt を使用し、より厳格なフォーマットを適用
"gopls.analyses.unusedparams": true未使用の関数パラメータを警告
"gopls.analyses.shadow": true変数のシャドーイング(重複定義)を警告
"gopls.staticcheck": truestaticcheck を有効化し、静的解析を強化
"gopls.memoryMode": "DegradeClosed"メモリ管理の最適化
"gopls.verboseOutput": truegopls の詳細ログを有効化(問題がある場合のデバッグ用)
"go.toolsManagement.autoUpdate": trueGo の開発ツールを自動更新

🚀 設定後の動作

godotenv.Load() を書くだけで import "github.com/joho/godotenv"自動追加
import 文の並び順を自動整理
不要な import を削除
gopls をフル活用して、Go のコード解析と最適化を強化


📌 もし import が自動追加されない場合

  1. Go 言語サーバー (gopls) を再インストール go install golang.org/x/tools/gopls@latest
  2. VS Code を再起動
    • 設定が適用されるように Ctrl + Shift + PReload Window を実行
  3. 手動で goimports をインストール go install golang.org/x/tools/cmd/goimports@latest
  4. キャッシュクリア gopls clean rm -rf $(go env GOPATH)/pkg/mod/cache

この settings.json を使えば、外部ライブラリも自動で import されるようになります!

私の環境では出来るようにはなりました。