Автор Тема: SublimeLinter  (Прочитано 85346 раз)

Jounsy

  • Newbie
  • *
  • Сообщений: 9
SublimeLinter
« : Ноября 10, 2012, 21:46:01 »
Всех приветствую!
Думаю вы слышали о плагине SublimeLinter, после установки которого должна работать подсветка синтаксиса ошибок php. Но у меня почему-то не работает.
Где я только не искал информацию о SublimeLinter, везде одно и тоже: установить, прописать путь до интерпретатора php и будет вам счастье. Но оно не приходит...
Реально бесит, когда пропустил одну запятую или закрывающую скобку и браузер выдает тебе ошибку 500, мол синтаксис смотри... Пару раз проискал такую ошибку порядка 2х часов и всё, нервы... Пришлось установить NetBeans, создать проект, открыть файл и.... опа-на, ошибку сразу он подсветил. Ну это же не дело!
Очень нравится SL2, поэтому ищу выход из положения.

Подскажите, пожалуйста, что я делаю не так, что у меня не работает подсветка?!

Loac

  • Administrator
  • Hero Member
  • *
  • Сообщений: 612
Re: SublimeLinter
« Ответ #1 : Ноября 10, 2012, 23:17:54 »
Поставил попробовать. Установил через Sublime Package Control. Ничего не настраивал. Ошибки он подсвечивает только в php файлах. Например, CMS Drupal хранит файлы модулей в *.module и там ошибки не подсветились. Также были проигнорированы файлы *.inc. Подсветка происходит только первой ошибки и только после сохранения файла.

Примерно так она выглядит у меня (см. атач).

Какая у тебя ОС?
Есть какие-нибудь ошибки в консоли ST2?
Где лежит редактор и файлы проекта? Как выяснилось, встречаются проблемы с кирилицей в именах файлов.
« Последнее редактирование: Ноября 10, 2012, 23:23:36 от Loac »

Jounsy

  • Newbie
  • *
  • Сообщений: 9
Re: SublimeLinter
« Ответ #2 : Ноября 10, 2012, 23:31:45 »
Да, должна работать подсветка ошибок только в php. Как у вас и выделилось - в однопиксельной рамке. Но у меня вообще не работает, даже как у вас - частично.
Ставил на системе Win7 64x и Win8 64x.

Ребята, которые пользуются ST2, говорят, что тоже просто установили и всё... Но есть такая статья на хабре (надеюсь можно разместить): http://habrahabr.ru/sandbox/47857/
в которой пишут, что нужно еще прописать путь до интерпретатора php. Вот может быть в этом дело? Посмотрите, пожалуйста, что у вас там прописано (Preferences->Package Settings->SublimeLinter->Settings — Default)?

Прописал также (у меня вроде тот же путь,  но возможно неправильно прописал) - не работает, убрал вообще - не стало лучше...

Бред, и никто не может понять, что не так.

Некоторые ребята советовали установить плагин cTags, мол должно помочь. Зачем он, так и не понял. Установил - не работает....

P.S.: а может просто подсветка НЕ работает на винде? хотя нет: у двух товарищей linux, а у 3го - винда 7. У всех работает...((((

Ошибок в консоли никаких нет.
Файлы лежат по умолчанию, ни одной русской буквы. И файлы проектов тоже! Вот такой путь я использую до проектов: D/sublimetextProject/test_site.com

P.P.S.: вот, кстати, еще одна статья: http://popel.com.ua/blog/article/razrabotka-s-pomoschiu-sublime-text-2.html , в самом конце которой говорится об этом плагине. Пишут: "Если вы используете Windows, не забудьте добавить папку PHP в переменную окружения Path". ЧТО ЭТО ЗНАЧИТ?! Кто-нить может подсказать?!
« Последнее редактирование: Ноября 11, 2012, 00:17:35 от Jounsy »

Loac

  • Administrator
  • Hero Member
  • *
  • Сообщений: 612
Re: SublimeLinter
« Ответ #3 : Ноября 12, 2012, 00:22:11 »
Странно, статей про SublimeLinter нагуглил, а про переменную нет? :)

set PATH=%PATH%;C:\php
PS. Проверил под Windows. После редактирования PATH, все Ок.

Jounsy

  • Newbie
  • *
  • Сообщений: 9
Re: SublimeLinter
« Ответ #4 : Ноября 12, 2012, 07:14:26 »
Про нее тоже нашел, только как правильно прописать там, не понял (вернее прописал, но неправильно, т.к. перестал работать апач и ST2 перестал видеть локальные проекты. Ну и ошибка постоянно выскакивала, мол в системе косяк). Вернул на место.

У меня в PATH написано сейчас так: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\

Какой код нужно прописать для php, можете написать?
Я так понимаю, через точку с запятой:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%SistemRoot%\а здесь что?

У меня установлен Денвер здесь: C:/ServerApach/

PHP.exe файлы есть в нескольких разных папках:
1. C:/ServerApach/usr/bin/
2. C:/ServerApach/usr/local/ (внутри еще папки, а в них php.exe)
3. C:/ServerApach/usr/sbin/


Вот чесслово, не понимаю я, что там прописывать!

Подскажите, плиз, какой код прописать в PATH? Прям на примере моего!

Loac

  • Administrator
  • Hero Member
  • *
  • Сообщений: 612
Re: SublimeLinter
« Ответ #5 : Ноября 12, 2012, 19:41:21 »
Я же написал. Нужно открыть консоль и выполнить команду: set PATH=%PATH%;C:\php — перемернной PATH присвоить ее текущее значение, плюс еще что-то.

Я с денвером не работал, но думаю, что в твоем случае должно быть так:

set PATH=%PATH%;C:\ServerApach\usr\bin\
« Последнее редактирование: Ноября 12, 2012, 19:43:23 от Loac »

anton.suprun

  • Newbie
  • *
  • Сообщений: 1
Re: SublimeLinter
« Ответ #6 : Ноября 13, 2012, 17:55:59 »
У меня в PATH написано сейчас так: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\

Какой код нужно прописать для php, можете написать?

У меня установлен Денвер здесь: C:/ServerApach/

PHP.exe файлы есть в нескольких разных папках:
1. C:/ServerApach/usr/bin/
2. C:/ServerApach/usr/local/ (внутри еще папки, а в них php.exe)
3. C:/ServerApach/usr/sbin/


В Денвере основная папка с PHP находится в /usr/bin/php/

С учетом вашего значения Path, вам необходимо прописать в Path следующее:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\ServerApach\usr\bin\php
Обратите внимание на обратную косую черту в адресах.

Цитировать
set PATH=%PATH%;C:\ServerApach\usr\bin\

Такой вариант, насколько я знаю, изменит значение переменной только на время текущей сессии, то есть до перезагрузки компьютера.

Jounsy

  • Newbie
  • *
  • Сообщений: 9
Re: SublimeLinter
« Ответ #7 : Ноября 14, 2012, 13:06:54 »
Спасибо, Антон, за подробный ответ. Сделал так, как вы написали, но.... не работает всё-равно...
Может теперь дело за малым - в SublimeLinter неправильно прописал?

Попробовал 2 варианта (в Settings - Default, в сроке "sublimelinter_executable_map"):

1. "sublimelinter_executable_map":
    {
        "php":"php.exe"
    },

2. "sublimelinter_executable_map":
    {
        "php":"php"
    },

Ни так, ни так подсветка не заработала. В строке 13 написано так:
"sublimelinter": true,

Что еще можете порекомендовать?  ;D

Dusan

  • Newbie
  • *
  • Сообщений: 1
Re: SublimeLinter
« Ответ #8 : Января 31, 2013, 22:36:28 »
Preferences>Package Settings>SublimeLinter> Settings - Default
В сроке "sublimelinter_executable_map"

"sublimelinter_executable_map":
    {
        "php":"C://ServerApach//usr//bin//php.exe"
        "php":"C://ServerApach//usr//local//php.exe "
        "php":"C://ServerApach//usr//sbin//php.exe"
    }
Адрес пиши с двойной косой чертой.

olegdizus

  • Newbie
  • *
  • Сообщений: 5
Re: SublimeLinter
« Ответ #9 : Мая 12, 2013, 10:41:33 »
Все делал, как здесь описано, но в результате вылетает следующее (см вложение)

В чем может быть проблема?

Loac

  • Administrator
  • Hero Member
  • *
  • Сообщений: 612
Re: SublimeLinter
« Ответ #10 : Мая 12, 2013, 17:37:52 »
Жалуется на отсутсвие библиотеки php_curl.dll. Сам PHP нормально работает? Можно открыть страницу в брузере или выполнить php из консоли?

PHP сам устанваливал или используешь сборку вроде Денвера?

olegdizus

  • Newbie
  • *
  • Сообщений: 5
Re: SublimeLinter
« Ответ #11 : Мая 12, 2013, 18:28:57 »
Он жалуется на отсутствие нескольких библиотек. Все они на месте.

Устанавливал в виде Денвера. Проблем нигде никогда не было - уже года два использую практически каждый день.

Как мне кажется, проблема в обратном слэше после ext. Пробовал прописывать //     \\   \/    -  ничего.   

Loac

  • Administrator
  • Hero Member
  • *
  • Сообщений: 612
Re: SublimeLinter
« Ответ #12 : Мая 13, 2013, 17:28:16 »
Покажи свои пользовательские настройки SublimeLinter.

У меня не получилось добиться возникновения такой ошибки. Если указать неверный путь до PHP, то SublimeLinter просто ничего не делает.

Попробуй либо полностью указать путь до php.exe Денвера, или скачать PHP самостоятельно (http://php.net/downloads.php#v5), распаковать отдельно от Денвера и указать путь до этого php.exe.

У меня сделано так:

Preferences > Package Settings > SublimeLinter > Settings - User

"sublimelinter_executable_map":
{
    {
        "php":"D:\\php\\php.exe"
    }
}
« Последнее редактирование: Мая 13, 2013, 17:39:04 от Loac »

olegdizus

  • Newbie
  • *
  • Сообщений: 5
Re: SublimeLinter
« Ответ #13 : Мая 14, 2013, 09:09:32 »
Спасибо! Со скачанным отдельно php заработало!

И еще небольшой вопрос - как вы настроили проверку html и css?

Loac

  • Administrator
  • Hero Member
  • *
  • Сообщений: 612
Re: SublimeLinter
« Ответ #14 : Мая 14, 2013, 16:56:33 »
Для HTML требуется библиотека HTML Tidy for HTML5 (http://w3c.github.io/tidy-html5/). К сожалению, официального скомпилированного exe файла нет. Нужно либо собирать все самому, либо искать готовый. Я скачал здесь (http://www.broerse.net/wordpress/2012/04/28/tidy-html5/). Кладем tidy.exe в удобное место.

Для CSS нужно установить однин из JS движков: Node.js или JavaScriptCore. Я установил Node.js (http://nodejs.org/#download).

Добавляем несколько строк в конфиг:

"sublimelinter_executable_map":
{
    {
        "php":"D:\\php\\php.exe",
        "html":"D:\\tidy\\tidy.exe",
        "css": "node"
    }
}

Перезагружаем ST, открываем консоль и убеждаемся, что все подключилось. Должны быть строчки:

SublimeLinter: css enabled (using node.js)
SublimeLinter: html enabled (using tidy for executable)
« Последнее редактирование: Мая 14, 2013, 21:12:03 от Loac »