Так недавно я видел, как многие разработчики в сообществе PHP упорядочивают свои операторы использования по длине. Мне всегда было интересно, как это сделать в PhpStorm. Я думаю, что наконец-то нашел решение, но думаю, что я делаю что-то не так, и это не работает.
Так называется инструмент PHP-CS-Fixer имеет возможность сделать это. И я знаю, что могу использовать этот инструмент с PhpStorm, используя Tools -> External Tools
и нажав на +
подписать и затем настроить его.
Примечание: я вытащил инструмент, используя Composer, вот так composer global require friendsofphp/php-cs-fixer
Итак, моя конфигурация внешнего инструмента в PhpStorm выглядит так:
/Users/rohan0793/.composer/vendor/bin/php-cs-fixer
fix --rules='{"ordered_imports": {"sort_algorithm":"length"}}' $FileDir$/$FileName$
$ProjectFileDir$
Но когда я запустил его, я увидел эту ошибку:
The rules contain unknown fixers: "'{ordered_imports{sort_algorithm:length}}'".
Так что я думаю, что я делаю что-то не так при настройке, но не могу понять, что. Любая идея кто-нибудь?
Аргументы выглядят корректно, если выполнить следующую команду из CLI, она работает отлично, поэтому, действительно, речь идет о передаче этой конфигурации из IDE в CLI.
php-cs-fixer fix --rules='{"ordered_imports": {"sort_algorithm":"length"}}'
Позвольте мне предложить, как сделать это по-другому.
Как правило, рекомендуется помещать конфигурацию в файл конфигурации, а не в параметры IDE, чтобы файл конфигурации можно было использовать совместно с хранилищем. Пример здесь:
https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/2.12/.php_cs.dist
Также вам не нужно настраивать внешний инструмент для PHPStorm. Теперь он имеет встроенную поддержку PHP CS Fixer, см. Сообщение в блоге здесь: https://blog.jetbrains.com/phpstorm/2018/09/phpstorm-2018-3-early-access-program-is-open/
Других решений пока нет …