PHP CS Fixer порядок использования операторов по длине в PhpStorm ошибка выдачи

Так недавно я видел, как многие разработчики в сообществе 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}}'".

Так что я думаю, что я делаю что-то не так при настройке, но не могу понять, что. Любая идея кто-нибудь?

0

Решение

Аргументы выглядят корректно, если выполнить следующую команду из 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/

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]