Проверка синтаксиса PHP в Sublime Text Editor

В Gedit я могу добавить внешний инструмент "php -l" в текущий документ, и если у меня установлена ​​командная строка PHP, он будет проверять синтаксис документа. Есть ли способ сделать это с помощью Sublime Text Editor? (Обратите внимание, у меня есть Mac, и на нем установлен PHP CLI.)

Я полагаю, мне придется вставить фрагмент кода в плагин Sublime, верно?

1 ответ

Решение

Действие, на которое вы ссылаетесь, называется "linting", и существует множество плагинов для Sublime, которые связывают PHP-файлы. Как упомянуто Len_D, PHP Syntax Checker один, но я бы порекомендовал SublimeLinter для возвышенного текста 2 вместо. (Есть другая версия SublimeLinter для ST3, но не имеет обратной совместимости и имеет совершенно другую архитектуру, чем версия ST2, которая больше официально не поддерживается.)

Для установки сначала установите Package Control, если вы еще этого не сделали, а затем перезапустите Sublime. Откройте командную палитру с помощью Ctrl Shift P и введите pci воспитывать Package Control: Install Package, Нажмите Enter, затем введите sublimelinter, затем нажмите Enter еще раз, чтобы установить. После завершения установки перезапустите ST2 снова для удачи. Для настройки сначала откройте Sublime Text 2 -> Preferences -> Package Settings -> SublimeLinter -> Settings-Default и скопируйте все содержимое. Затем откройте Settings-User из того же подменю и вставьте содержимое в него. Теперь вы можете закрыть Settings-Default, Для правильного выделения синтаксиса (чтобы узнать, где находятся комментарии), выберите JavaScript -> JSON из списка опций в правом нижнем углу окна Sublime.

Прокрутите вниз до строки 36 в "sublimelinter_executable_map" продиктовать и добавить пустую строку между открытием { и закрытие } брекеты. Найдите полный путь к php исполняемый файл в вашей системе, открыв Терминал и набрав which php, Скопируйте путь и добавьте запись для "php" на пустой строке, которую вы только что сделали. Например, если путь /opt/local/bin/php, полный раздел должен выглядеть так:

"sublimelinter_executable_map":
{
    "php": "/opt/local/bin/php"
},

Прокрутите вниз по остальной части "sublimelinter_*" варианты и измените их в соответствии с вашими предпочтениями. Варианты после строки 108, скорее всего, для вас неактуальны, так как имеют дело с линтерами для JavaScript, CSS, Python и т. Д. Однако, не стесняйтесь их читать, если хотите использовать SublimeLinter для других языков. Как только вы закончите, сохраните файл, и у вас все будет готово. SublimeLinter будет отображать свои сообщения в соответствии с "sublimelinter" (строка 13) и "sublimelinter_delay" настройки (строка 67) (увеличьте значение, чтобы увеличить задержку между прекращением набора текста и появлением сообщений linter). Если вы не хотите эту "живую" подкладку, установите "sublimelinter" в load-save, save-only, или же false в зависимости от ваших предпочтений. Лично я считаю, что живые линтинги довольно раздражают...

И это все. Полная документация доступна в README. Пожалуйста, имейте в виду, что если / когда вы обновитесь до Sublime Text 3 (что я очень рекомендую, кстати), вам нужно будет установить и настроить SublimeLinter3, что является полной переписью плагина в более модульную архитектуру. Таким образом, база SublimeLinter пакет должен быть дополнен языковым плагином для линтеров, таким как SublimeLinter-php, Пожалуйста, убедитесь, что вы прочитали полную документацию (да, есть много, но оно того стоит), чтобы все работало гладко.

Удачи!

Другие вопросы по тегам