atom beautify php не работает
The «PHP — PHP-CS-Fixer Path (cs_fixer_path)» configuration option has been deprecated | Atom | Windows 10
Устанавливаем плагин atom-beautify (для IDE Atom) правильно
Прежде чем начать, кратко отрезюмирую последовательность действий по установке плагина atom-beautify.
А теперь пара слов о том, что заняло несколько часов и чуть не привело к выбрасыванию 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. Работать работает, но стоит захотеть вкусностей, и всё, готовь свой огромный бубен к изнурительному камланию. У вас ведь есть бубен?
Но есть нюанс. Он не работает от слова «вообще». Вместо того, чтобы искать ошибки, плюёт в тебя окошками с ошибками собственного сочинения.
Чтобы заставить его работать, пришлось поставить 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) полный путь к этому файлу.
Ок. Качаю, прописываю путь и… Снова ошибка.
Перехожу к следующему шагу! Оказывается, есть плагин php-cs-fixer, который, исходя из названия, чинит нашу проблему.
Устанавливаю его! Захожу в его настройки и вижу, что там есть два интересных поля:
Ну с первым понятно. Туда пишу путь к интерпретатору 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. Оказывается без него никак.
После установки пишу в командной строке вот это.
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 должно быть пустым. Такой вот неочевидный момент.
Вот теперь всё работает как надо.
Всего две важные функции: проверка ошибок и кодстайл, а сколько сил потрачено. И самое обидное, что большинство из них ушло на поиски простого и понятного рецепта установки.
Увы, ни один из них проблему не решил. Пришлось писать собственный. Возможно он будет полезен тому, кто пришёл сюда из поиска.
А с вами был Доктор Лексиум.
До новых постов.
Настройка Atom от GitHub для работы с PHP, Python и некоторыми другими языками программирования
Изначально считаем что у Вас установлена поддерживаемая операционная система, Node.JS и Atom. В примерах мы работаем в OpenSUSE (13.1) в нём (и вообще в дистрибутивах *nix) уже «из коробки» обычно есть не только Python но PHP и другие языки программирования. Так же исправно работает на Ubuntu (>12.04). Если у Вас Windows 7 или 8, а раньше Вы с ними (языками) не работали то их предварительно необходимо скачать и установить.
Примечание: перед началом работы желательно запускать Atom под root.
опыт показывает — работает стабильнее
Linter
Идеология Atom к подсветке в том, что основным пакетом для работы с синтаксисом и его анализа будет Linter, который является верхним уровнем в API для других линтеров кода. Это сделано для прекращения «войны между плагинами» (The idea is to stop the linter plugins war, by providing a top level API for linters to parse and display errors in the Atom editor). Тем не менее, не все сторонние разработчики придерживаются этой идеологии и пишут свои плагины.
Пакет Script: запуск программ из Atom
Script — пакет для запуска кода в atom.
Установка пакета Script, возможна из командной строки:
или меню
Packages->Settings View->Install->Packages
Каждый язык работает, при наличии предварительно установленного компилятора / интерпритатора.
Пакет Script обновляется довольно часто. Например поддержка Swift появилась менее двух недель назад. Так что скорее всего в ближайшее время появится поддержка новых языков.
Для запуска программы необходимо выбрать
Packages—>Script—>Run
Дополнительные опции можно найти в документации либо на страницах Atom`а или проекта.
Для функционирования должен быть создан рабочий каталог.
Путь к нему нужно прописать здесь:
Packages—>Script—>Configure Script—>Current Working Directory
Заявку разработчикам на поддержку нового языка можно оставить здесь (отвечают быстро)
И немного юмора от разработчиков пакета Script,
у которых, судя по всему, спрашивают всё на свете:
первод: Атом не может найти Нод | Руби | Питон | Мои носки
Python
Поддержка подсветки этого языка идёт изначально. Пакеты для работы с синтаксисом и отладки:
Linter + Language Python + Linter Python Pep8 + Script
Script запускает код на Python, а Linter и Linter Python Pep8 покажут синтаксические ошибки.
Возможно Вам, для работы с Python также поможет Atom Python Debugger.
Подсветка ошибок и запуск после установки будут выглядеть так:
Swift
Терминал
Для запуска исполняемого кода С, C++, Java иногда проще использовать сторонний пакет (не пакет Atom, а пакет вашего дистрибутива), который запускается через терминал, поскольку сам Atom поддерживает большое количество языков. Если Atom выступает в качестве редактора кода, a терминал рядом запускает его — это очень удобно для нас, поскольку терминал не имеет такое преимущество редактирования, как Atom.
Для запуска терминала в окне Atom установите пакет Term. Для запуска терминала в окне Atom выбрать
Packages—>Command Palette—>Toggle и Term
с нужными параметрами.
В заключении ещё один интересный кликабельный анимационный gif от разработчиков script, ссылки.
PHP Atom Beautifier won’t work in Windows #269
Comments
guillempascual commented Apr 7, 2015
Since I updated the Atom Beautifier plugin this morning it won’t work anymore.
The problem seems to be that is trying to run «cmd php-cs-fixer.phar», but it should call «cmd php php-cs-fixer.phar» instead.
Thanks.
This is the error message:
«Command failed: C:\WINDOWS\system32\cmd.exe /s /c «(«C:\php-5.5.3-Win32-VC11-x64\php-cs-fixer.phar» fix «C:\Users\Guillem\AppData\Local\Temp\input11537-6048-x2ee51») & move «C:\Users\Guillem\AppData\Local\Temp\input11537-6048-x2ee51» «C:\Users\Guillem\AppData\Local\Temp\11537-6048-u9u5tq»» El sistema no puede encontrar el archivo especificado.»
Platform: win32
Versions
Atom Version: 0.189.0
Atom Beautify Version: 0.23.2
Original file to be beautified
Original File Path: C:\htdocs\sermopp.es\httpdocs\exportaEstadisticasPedidosConsumibles.php
Original File Grammar: PHP
Original File Contents:
Beautification options
Editor Options:
Options from Atom Editor settings
Config Options:
Options from Atom Beautify package settings
Home Options:
Options from C:\home\.jsbeautifyrc
EditorConfig Options:
Options from EditorConfig file
Error logs: Not yet supported
The text was updated successfully, but these errors were encountered:
We are unable to convert the task to an issue at this time. Please try again.
The issue was successfully created but we are unable to update the comment at this time.
Glavin001 commented Apr 7, 2015
The problem seems to be that is trying to run «cmd php-cs-fixer.phar», but it should call «cmd php php-cs-fixer.phar» instead.
This sounds like an issue related to this Pull Request: #263
Looks like Windows needs the php command and Mac/Linux does not.
PHP beautifier using PHP-CS-Fixer does not work on Windows #248
Comments
guillempascual commented Mar 24, 2015
This is the message I got when trying to beautify PHP code. I’ve got PEAR C:\php-5.5.3-Win32-VC11-x64\pear\phpcs for beautifying and my system is a Windows 8.1 64bits.
This happened just after updating to the latest. It seems to look for an unexistant «mv» command.
«Command failed: C:\WINDOWS\system32\cmd.exe /s /c «(php «C:\php-5.5.3-Win32-VC11-x64\pear\phpcs» fix «C:\Users\Guillem\AppData\Local\Temp\input115224-8552-1c2ztx9») || (mv «C:\Users\Guillem\AppData\Local\Temp\input115224-8552-1c2ztx9» «C:\Users\Guillem\AppData\Local\Temp\115224-8552-2a2c59″)» «mv» it is not an external nor internal command»
The text was updated successfully, but these errors were encountered:
We are unable to convert the task to an issue at this time. Please try again.
The issue was successfully created but we are unable to update the comment at this time.
guillempascual commented Mar 24, 2015
I’m reviewing the README and seems that from now on the only PHP beautifier should be https://github.com/FriendsOfPHP/PHP-CS-Fixer. Until now it worked with PEAR::phpcs.
I’m switching to PHP-CS-Fixer and I’ll report back. Thank you.
guillempascual commented Mar 24, 2015
I’ve swtiched to PHP-CS_Fixer and «php-cs-fixer» can be now executed from the command line. However, it’ll still give the error «Command failed: C:\WINDOWS\system32\cmd.exe /s /c «(php «php-cs-fixer» fix «C:\Users\Guillem\AppData\Local\Temp\input115224-6064-1ji2zhy») || (mv «C:\Users\Guillem\AppData\Local\Temp\input115224-6064-1ji2zhy» «C:\Users\Guillem\AppData\Local\Temp\115224-6064-ohue7v»)» «mv» it is not an external nor internal command»
guillempascual commented Mar 24, 2015
I have configured PHP cs fixer path (to me it was unnecessary since php-cs-fixer was in ENV PATH) and now it won’t give any error nor fix anything. It seems that it’ll it work, but it won’t.
To this update I was working normally with atom-beautifier.
Attached, debug information. Thanks,
Platform: win32
Versions
Atom Version: 0.186.0
Atom Beautify Version: 0.23.0
Original file to be beautified
Original File Path: C:\htdocs\monitor\application\models\area_cliente_model.php
Original File Grammar: PHP
Original File Contents:
Beautification options
Editor Options:
Options from Atom Editor settings
Config Options:
Options from Atom Beautify package settings
Home Options:
Options from C:\home\.jsbeautifyrc
EditorConfig Options:
Options from EditorConfig file
Error logs: Not yet supported
Glavin001 commented Mar 24, 2015
I do not develop in PHP, so I doubt I will be much assistance debugging a PHP package or installation of one. Maybe @rrushton (who made the PR for PHP CS Fixer) could help / give advice?
However, this did work for me when installing PHP CS Fixer and configuring the path in Atom Beautify settings.
Glavin001 commented Mar 24, 2015
Thanks for reporting this. It looks like for now, PHP is not supported on Windows. This is a Windows specific bug with Atom Beautify for PHP.
guillempascual commented Mar 25, 2015
I have switched again: instead of having php-cs-fixer through Comporser, I have downloaded php-cs-fixer.phar and provided the path in the settings.
Command failed: C:\WINDOWS\system32\cmd.exe /s /c «(php «C:\php-5.5.3-Win32-VC11-x64\php-cs-fixer.phar» fix «C:\Users\Guillem\AppData\Local\Temp\input115225-4160-30qq97») || (mv «C:\Users\Guillem\AppData\Local\Temp\input115225-4160-30qq97» «C:\Users\Guillem\AppData\Local\Temp\115225-4160-1df87u2″)» «mv» no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.
Again, it is the «mv» command that will not be recognised.
Thank you, https://github.com/ffsantos92, but eliminating the comments will not solve the problem in my case.
Please find attached the debug information.
Platform: win32
Versions
Atom Version: 0.186.0
Atom Beautify Version: 0.23.0
Original file to be beautified
Original File Path: C:\htdocs\monitor\application\models\area_cliente_model.php
Original File Grammar: PHP
Original File Contents:
Beautification options
Editor Options:
Options from Atom Editor settings
Config Options:
Options from Atom Beautify package settings
Home Options:
Options from C:\home\.jsbeautifyrc
EditorConfig Options:
Options from EditorConfig file
Error logs: Not yet supported
rrushton commented Mar 25, 2015
I am a linux guy, so I never thought of having to use it on Windows, oops. @Glavin001 do you know if there is a way to know what OS is being used in the php-beautify.coffee file, if there is we could write an if statement to run a similar command but using Windows commands instead. The main issue here is that php-cs-fixer doesn’t have the option for an output file so the ‘mv’ extra command is required.
Glavin001 commented Mar 25, 2015
Hope they helps! Let me know if you need anything else :). Thanks for contributing.
On Wed, Mar 25, 2015 at 11:57 AM, rrushton notifications@github.com
wrote:
I am a linux guy, so I never thought of having to use it on Windows, oops. @Glavin001 do you know if there is a way to know what OS is being used in the php-beautify.coffee file, if there is we could write an if statement to run a similar command but using Windows commands instead. The main issue here is that php-cs-fixer doesn’t have the option for an output file so the ‘mv’ extra command is required.
Reply to this email directly or view it on GitHub:
#248 (comment)
rrushton commented Mar 25, 2015
Already found it thanks 🙂
I have updated my fork with a change, should I just do another pull request?



