✌️
vscodeでgolangが自動整形されない問題
この記事について
VSCodeで自動フォーマットがgolangに効かなかったので調べてまとめました。自分用メモです。
しょうもない記事ですが、誰かの助けになれば嬉しいです。
問題発生
私のVSCodeでは、拡張機能のPrettierとGo in Visual Studio Codeを入れています。
適当にgolangで記述したあとに保存していると、下記のような警告が出ていることに気づきました。
このときのsettings.jsonはこんな感じです。(重要なものだけ抜き出しています。)
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
}
これでは自動フォーマットされないようです。かなしい。
※ ちなみにsettings.jsonはVSCodeの設定ファイルです。
参考: 【VSCode】settings.jsonについて理解する
結論
settings.jsonを下記のように記述します。
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[go]": {
"editor.defaultFormatter": "golang.go"
},
}
解説
言語単位でフォーマットの設定を書き換えているだけです。
デフォルトのフォーマッターをgolangの時だけ上書きしています。
"golang.go"
は Go in Visual Studio Code の Formattingを使用しています。
下の記事は別の内容の解説ですが、わかりやすいのでおすすめです。
参考: [VSCode] Prettierをアップデートしたら言語単位でのフォーマット無効設定が動作しなくなったので対処した話
以上!
Discussion