VSCodeで特定のファイルだけeditor.formatOnSaveを無効化する
VSCodeにprettierとESLintを導入して開発を行う際に、[[editor.formatOnSave]]と[[source.fixAll.eslint]]の設定が競合して正しく自動修正ができなくなることがある。
[[editor.formatOnSave]]を無効化するという手もあるが、この場合だとeslintの対象外のファイルの自動修正ができないのでこれはこれで困る。
特定のファイルだけformatOnSaveを無効化することができないか調べてみたところ、下記のようにファイルタイプを指定することで、そのファイルタイプのみ無効化できた。
// .vscode/settings.json
{
"editor.formatOnSave": true,
"[html]": {
"editor.formatOnSave": false
},
"[javascript]": {
"editor.formatOnSave": false
},
"[javascriptreact]": {
"editor.formatOnSave": false
},
"[typescript]": {
"editor.formatOnSave": false
},
"[typescriptreact]": {
"editor.formatOnSave": false
},
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"eslint.validate": ["html", "javascript", "javascriptreact", "typescript", "typescriptreact"]
}
これで開発が捗る。