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"]
}

これで開発が捗る。

参考


Related #vscode

VSCodeのターミナルをエディタ領域に表示する

terminal.integrated.defaultLocationをeditorに変更した

VSCodeでRubyのコード補完と関数ジャンプができるようにする

ruby拡張とsolargraph拡張を入れる

VSCodeでRails環境を整える

ショートカット大事

VSCodeでGoの開発ができるようにする

F5コマンドで実行できるのが便利