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でc++の実行環境を整える

『問題解決力を鍛える!アルゴリズムとデータ構造』を読んで実践するために

VSCode + PrettierでRubyのコードを自動フォーマットする

@prettier/plugin-rubyを利用

VSCodeでRails環境を整える

ショートカット大事

VSCode RemoteでWindowsマシンに接続する際にstderr> 'uname'エラーが発生

言語設定を変更する必要があった

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

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