https://www.lexium.ru/2020/10/the-php-php-cs-fixer-path-cs_fixer_path-configuration-option-has-been-deprecated-atom-windows-10/

The «PHP — PHP-CS-Fixer Path (cs_fixer_path)» configuration option has been deprecated | Atom | Windows 10

Устанавливаем плагин atom-beautify (для IDE Atom) правильно

Прежде чем начать, кратко отрезюмирую последовательность действий по установке плагина atom-beautify.

  1. Устанавливаем плагин atom-beautify в IDE Atom.
  2. Устанавливаем плагин php-cs-fixer в IDE Atom.
  3. Устанавливаем OpenServer на диск C: (он распакуется в папку).
  4. Заходим в папку OpenServer на диске C:, в папку modules, в папку php и ищем в  ней папку с PHP последней версии. У меня путь к интерпретатору получился C:\OpenServer\modules\php\PHP_7.4\php.exe Запоминаем этот путь (а лучше записываем), он нам ещё пригодится.
  5. Устанавливаем Composer. Качать тут https://getcomposer.org/download/ Во время установки инсталлятор может попросить указать путь к интерпретатору PHP. Указываем тот, что в п.4
  6. В консоли выполняем команду composer global require friendsofphp/php-cs-fixer Чтобы вызвать консоль, прожимаем Win-R, вводим в поле команду cmd и жмём ОК. Вот она, консоль (чёрное окно с белыми буквами).
  7. Возможно, для работы Композера, понадобится прописать путь к php.exe в системную переменную среды — Path.
    Для этого идём в Панель управления — Безопасность и система — Система — Дополнительные параметры системы — Переменные среды, делаем двойной клик на надпись Path в табличке, жмём кнопку «Создать» и добавляем туда папку где лежит php.exe (C:\OpenServer\modules\php\PHP_7.4).
  8. Проверяем, находится-ли php-cs-fixer.bat по пути C:\Users\имя_пользователя\AppData\Roaming\Composer\vendor\bin\php-cs-fixer.bat, и если да, то переходим в Atom, жмём там «Ctrl-,» и видим окно Settings.
  9. В окне Settings клацаем пункт меню Packages, а в нём — на плагин php-cs-fixer
  10. В настройках php-cs-fixer в поле PHP executable path пишем C:\OpenServer\modules\php\PHP_7.4\php.exe, а в поле PHP-CS-fixer executable path пишем C:\Users\имя_пользователя\AppData\Roaming\Composer\vendor\bin\php-cs-fixer.bat

    Картинка кликабельна.
  11. В настройках atom-beautify мотаем до PHP, раскрываем и смотрим, чтобы не было никаких лишних путей, а так же ставим галку на Beautify On Save.

    Картинка кликабельна.
  12. Открываем php файл, жмём Ctrl-Alt-B и убеждаемся, что ошибок больше не вылазит.

А теперь пара слов о том, что заняло несколько часов и чуть не привело к выбрасыванию Atom’а, вместе с его плюшками, в помойку.


Atom — замечательная и бесплатная IDE (среда разработки), созданная под патронажем всеми любимого GitHub. Тут много приятных вещиц, облегчающих и ускоряющих труд программиста. Но…

Вот такая ошибка смотрит на меня с экрана в данный момент: The «PHP — PHP-CS-Fixer Path (cs_fixer_path)» configuration option has been deprecated. Please switch to using the option in section «Executables» (near the top) in subsection «PHP-CS-Fixer» labelled «Path» in Atom-Beautify package settings.

Сейчас расскажу что с этим делать, но сперва несколько пояснений что да как.

Продукт бесплатный. Плагины пилят энтузиасты. А ещё, эта IDE кроссплатформенная. Т.е. доступна и на Linux’ах, и на Mac OS… Ну и вы, презренные недоразрабы, сидящие на кодомерзком Windows, тоже располагайтесь рядышком со мной, на коврике в проходе.

Не рассчитан Atom на Windows. Работать работает, но стоит захотеть вкусностей, и всё, готовь свой огромный бубен к изнурительному камланию. У вас ведь есть бубен?

Вот взять к примеру плагин Linter и нужную его часть, плагин php-linter. Принцип работы прост. Код выполняется раз в -дцать секунд, и если интерпретатор PHP находит ошибку в строке, эта строка в редакторе будет помечаться красным кружочком и снабдится подсказкой с текстом ошибки.

Архи-нужная и архи-важная штука! Показывает ошибки в коде. Мечта, а не плагин. Эх! Мне бы что-то такое в школу, в 20-й век, на уроки русского языка!

Но есть нюанс. Он не работает от слова «вообще». Вместо того, чтобы искать ошибки, плюёт в тебя окошками с ошибками собственного сочинения.

Чтобы заставить его работать, пришлось поставить OpenServer, загнать на него тестовые сайты, добавить папки этих сайтов как проекты в Atom, и, внимание, прописать в настройках php-linter путь к интерпретатору php из ОпенСервера.

У меня это c:\OpenServer\modules\php\PHP_7.4\php.exe

Будьте внимательны! Папок с интерпретаторами PHP у ОпенСервера несколько.

И вот результат — всё работает как надо!

Но, к чему я рассказываю про php-linter? К тому, что путь к PHP нужен плагину, о котором этот пост. И он не будет работать, если в коде скрипта есть ошибки.


Плагин для Atom — atom-beautify, господа! Подходим, знакомимся!

Умеет красиво, а главное автоматически, расставлять отступы в коде. Это делает код более читабельным и понятным. При том, может расставлять отступы как по горячим клавишам Ctrl-Alt-B, так и в момент сохранения.

Было

Стало

Думаю, польза очевидна. Вот только, не работает atom-beautify.

Итак, вы установили плагин atom-beautify, зашли в код какого-нибудь скрипта и ожидаете, что при нажатии Ctrl-Alt-B код сам собой расставится как учит нас великий и могучий Код Стайл. Увы, код расставляется согласно заветам товарища Обломова. Т.е., никак. Ещё и ошибку показывает.

Вы идёте гуглить и узнаёте, что для PHP-скриптов нужно указать путь к некому PHP-CS-Fixer. Некоторые товарищи советуют просто скачать файл php-cs-fixer-v2.phar по ссылке, разместить где-нибудь и указать в настройках (в поле PHP-CS-Fixer Path) полный путь к этому файлу.

Ок. Качаю, прописываю путь и… Снова ошибка.

Дурь про переустановку Atom’а, отключение/удаление других плагинов, упоминать не буду. Если охота развлекаться таким образом, то кто же запретит?

Перехожу к следующему шагу! Оказывается, есть плагин php-cs-fixer, который, исходя из названия, чинит нашу проблему.

Устанавливаю его! Захожу в его настройки и вижу, что там есть два интересных поля:

  1. PHP executable path
  2. PHP-CS-fixer executable path

Ну с первым понятно. Туда пишу путь к интерпретатору PHP. Некоторые советуют установить PHP 7.4 с официального сайта. Но он не будет работать на Windows потому, что к нему нужна библиотека C++. Эту библиотеку можно скачать с официального сайта Microsoft. Но она там версии 14.16 и потому PHP 7.4 с ней работать не станет. Ему нужна 14.0.

Можно установить PHP 7.2, но смысла это не имеет, поскольку для работы с тестовыми сайтами, они должны находиться на вашей же машине. А значит ставми OpenServer.

Но OpenServer, с официального сайта, скачивается 2.5 часа, если бесплатно. Если с пожертвованеим, то минут за 5. Изначально просят 100 рублей, но потом соглашаются на 60. Так что или готовьте мелочь за проезд, или готовьтесь ждать.

У меня путь к интерпретатору PHP с ОпенСервера — C:\OpenServer\modules\php\PHP_7.4\php.exe

Что писать во второй путь (PHP-CS-fixer executable path)? Пишу путь к тому самому php-cs-fixer-v2.phar который так рекомендовали.

— Помогло?

— Нет!!!

Идём дальше.


Устанавливаю Composer для Windows. Оказывается без него никак.

Качаем тут https://getcomposer.org/download/

После установки пишу в командной строке вот это.

composer global require friendsofphp/php-cs-fixer

Чтоб вы понимали, эта команда установит настоящий php-cs-fixer, а не просто плагин.

Теперь иду в оба плагина, и вместо пути к php-cs-fixer-v2.phar прописываю путь к исполняемому файлу php-cs-fixer.bat, который установил нам Composer.

У меня это C:\Users\имя_пользователя\AppData\Roaming\Composer\vendor\bin\php-cs-fixer.bat

Обратите внимание на имя пользователя в пути. У вас оно наверняка будет другое.

Проверяю. Впечатление двоякое. С одной стороны вылетает вот такая ошибка.

The «PHP — PHP-CS-Fixer Path (cs_fixer_path)» configuration option has been deprecated. Please switch to using the option in section «Executables» (near the top) in subsection «PHP-CS-Fixer» labelled «Path» in Atom-Beautify package settings.

С другой, код выстраивается красиво. Можно бы так и оставить, но сообщение об ошибке наводит на разные нехорошие мысли. Да и бесит.

Оказывается, если у вас установлен плагин php-cs-fixer, то поле PHP-CS-Fixer Path в настройках плагина atom-beautify должно быть пустым. Такой вот неочевидный момент.

Вот теперь всё работает как надо.


Всего две важные функции: проверка ошибок и кодстайл, а сколько сил потрачено. И самое обидное, что большинство из них ушло на поиски простого и понятного рецепта установки.

Увы, ни один из них проблему не решил. Пришлось писать собственный. Возможно он будет полезен тому, кто пришёл сюда из поиска.

А с вами был Доктор Лексиум.
До новых постов.

Напишите комментарий