VSCodeがJSONファイルをFormat On Saveしてくれなくなったときはファイルの言語モードを確認する
更新
タグ:
結論
VSCodeがJSONファイルをFormat On SaveしてくれなくなったときはJSONファイルの言語モードを確認しましょう。言語モードがJSON with Comments
のファイルには、JSON
に対する設定は効きません。JSON with CommentsもFormat On Saveするには、settings.json
を編集します。
- 変更前の
settings.json
{
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
}
}
- 変更後の
settings.json
{
"[json][jsonc]": {
// jsoncを追加
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
}
}
これでJSON with CommentsファイルもFormat On Saveしてくれるようになります。
経緯
ある日突然JSONファイルのFormat On Saveが効かなくなりました。
手動のフォーマットはしてくれたので、Format On Saveだけ効かなくなった様子。さんざん時間を溶かしたあと、ふとVSCodeの右下の「言語モードの選択」を見てみると…。
なんか知らんヤツになっとる…!
前はJSON
だったはずなんですが、いつの間にかJSON with Comments
になっていました。Format On SaveはJSON
に対して設定していたので、JSON with Comments
にFormat On Saveが効かなかったのは当然ですね。settings.json
の[json]
に対する設定に、[jsonc]
を追加します。
{
"[json][jsonc]": {
// jsoncを追加
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
}
}
これでJSON with Comments
のファイルにもFormat On Saveされるようになりました。