2019-3-10
[PHPStorm]ESLintで保存時にAutoFix
手順
端末ごとに1回だけやればいい
ESLintの自動修正+保存
のマクロを登録
プロジェクト毎にやる
- PHPStorm で ESLint を利用するようにする
- エイリアスを利用している場合は、PHPStorm にエイリアスを認識させるためのファイルを配置
詳細
ESLintの自動修正+保存
のマクロを登録
キーマップの設定からFix ESLint Problems
に対して適当なショートカットを設定。設定したショートカットはマクロ経由でしか使わないので本当に適当でいい。
Edit > Macros > Start Macro Recording
で、Fix ESLint Problems(先程設定したショートカット) > Command+S
を実行。Edit > Macros > Stop Macro Recording
をし適当な名前でマクロを保存。
最後に、キーマップの設定からCommand+S
に作成したマクロを登録することで保存と同時に ESLint の Fix が実行されるようになる。
PHPStorm で ESLint を利用するようにする
Preferences > Languages & Frameworks > JavaScript > Code Quality Tools > ESLint
で ESLint の設定を開き、Enable
にチェックを入れる
エイリアスを利用している場合は、PHPStorm にエイリアスを認識させるためのファイルを配置
import SomeClass from '@/SomeClass'
といった感じで@
をエイリアスとして使用することが多いが、プロジェクト内のwebpack.config.js
にエイリアスの指定がされていない場合は PHPStorm が認識してくれない。例えばVue CLI
やLaravel Mix
を使用しているときとか。
なので、以下のような内容のファイルをプロジェクトに配置して、@
をエイリアスとして認識させる。(Laravel Mix
での例)
// PHPStormにaliasを認識させるためのファイル
System.config({
paths: {
'@/*': 'resources/assets/js/*',
},
})
Vue CLI
の場合だとPreference > Languages & Frameworks > Webpack > webpack configuration file
から/Users/xxxx/project/node_modules/@vue/cli-service/webpack.config.js
といった感じでVue CLI
の config を読むようにして解決する方法もある。(Laravel Mix
だと無理)
トラブルシューティング
スタンダードスタイルなのに、「セミコロンがないよ」って警告が出る
PHPStorm デフォ機能のコードスタイルチェックが、何故か ESLint があるのに勝手に働いてしまう時がある。
Preference > Editor > Inspections > JavaScript > Code Style Issues
からUnterminated Statement
のチェックを外せば警告が出なくなる。
同様の方法で Vue テンプレート内にでる大量の HTML の警告も消せる。