ESLintを導入してみた
ESLintとは
Javascriptの静的解析を行ってくれるツールです。
フォーマッタとしての機能も兼ね備えていますが、この機能はPrettier
を使用するのが主流みたいです。
導入及び設定
拡張機能をインストールする
setting.jsonに設定を追加する
Vscodeではファイルの保存時に、ESLintの自動修正が走るように設定を行えます。
下記で行っている設定はESLint
の対象になっているファイルのみ走るようになっています。
"editor.codeActionsOnSave": { "source.fixAll.eslint": true }
Vscode上でにオプション(一部紹介)
参考 => ESLint - Visual Studio Marketplace
eslint.enable
ESLintの有効/無効を設定できます。デフォルトは有効です。
eslint.debug
デバッグモードの有効/無効を設定できます。
eslint.lintTask.enable
Vscodeのワークスペースにある全てのフォルダを対象にするかを設定できます。
eslint.run
ESLintが実行されるタイミングを設定できる。
- onsave => ファイルが保存された時
- ontype => コードの区切りを入力した時
eslint.codeActionsOnSave.mode
all
これはターミナルで--fix
オプションをつけて eslint を実行したのと同じコードパスで実行されるため、時間がかかることがあります。これがデフォルト値です。problems
テキスト編集が重複していない限り、修正可能な既知の問題のみを修正します。このモードの方がはるかに高速ですが、問題の一部だけを修正する可能性が高いです。
eslint.format.enable
ESlintで検証されたファイルのフォーマッタとしてESlintを使用します。この設定を有効にした場合、他のフォーマッタを無効にしてください。
例:
"[javascript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" } , "[typescript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" }
ESlintをインストールする
拡張機能はワークツリー下にインストールされたESLintがある場合はそちらを参照し、なければグローバルにインストールされたESLintを参照します。
- ローカル
npm install -D eslint
- グローバル
npm install -g eslint
Eslintの設定ファイルを作成する
npx eslint --init
上記を実行するとどのような設定を行うか対話式で聞いてきます。
後から修正も可能ですので間違っても問題ありません。
eslintrc.json
(.jsonは選択した拡張子で変わります)が作成されます。