はじめに
こんにちは。
簡単な設定の話です。
cs-fxierを自動で走らせたいなーと思ってて、色々調べた結果です。
ググると結構出てくるんですが、どれもバージョンが古いのかうまく設定できませんでしたので、自分が一番しっくりきた設定を残しておきます。
phpstormのバージョンは 2021.1.4
です。
本題
まず事前にプロジェクトに cs-fixerをinstallしておきます。
$ composer require --dev friendsofphp/php-cs-fixer $ ./vendor/bin/php-cs-fixer --version PHP CS Fixer 2.18.2 Remote Void by Fabien Potencier and Dariusz Ruminski‘
次に設定を開きます。
Preference > Tools > File Watchers
今ひとつ追加していますが、まさにこれです。
新規の場合は +
で追加します。
FileType: PHP
を指定します。
Scope: Project Files
を指定します。僕はねんのため、 Module
で対象を指定しています(必要ないのかな?)
Program: php-cs-fixerファイルまでのフルパスを指定します。
Arguments : 以下のようにします。
fix --config=.php_cs.dist ファイルまでのフルパス "$FilePath$"
configがない場合は --rules
とかで指定する感じだと思います。
そして、 auto-save edited files to trigger the watcher
のチェックを外します。
このチェックを外さないと、自動保存とcs-fixerの実行が素早く動くため、おそらく快適にプログラムを書けないと思います。
このチェックを外しておくと Ctrl+S
で保存した際、または、AutoSave側の設定にも準じてfixerが動きますので、今の所快適に開発できています。
終わりに
この手の情報で出てきていたブログでは AutoSave側でコントロールしようとしていたのですが、自分の使用しているバージョンではうまく行かなかったので自分はこのアプローチになりました。
現場からは以上です。