Плагин автокомплита (автодополнения) по методам LiveStreet CMS для PhpStorm IDE

Разработка под LiveStreet CMS
Некоторое время назад из ЛС отделилась часть кода в отдельный фреймворк (пока не анонсирован), на котором можно строить свои проекты. Просматривая каталоги текущей девелоперской версии ливстрита на гитхабе, можно заметить что в корне остались всего лишь две папки с кодом: application и framework.

framework — отныне отдельный проект, который развивается вместе с ЛС. В каталоге application же теперь будут находится все пользовательские данные: екшены и модули, которые раньше находились в корне каталога в папке classes, пользовательские конфиги, шаблоны, файлы локализации и плагины.

Примечательно, что у фреймворка схожая структура файлов, но по большей части эти каталоги пусты и нужны лишь для универсальности. Но статья не об этом.

Дело в том, что в новых версиях PhpStorm (6.0.3, например) не работает плагин автокомплитера по методам, т.к. в нем жестко прописаны каталоги поиска файлов, а для тех, кто пишет под dev-версию лс, это может создавать определенные неудобства.

При написании любого символа в коде либо при попытке вызвать в IDE в консоли вываливаются кучи однородных ошибок:


RuntimeException: java.io.FileNotFoundException: Z:\home\site\www\framework\classes\modules\validate (Отказано в доступе): java.io.FileNotFoundException: Z:\home\site\www\framework\classes\modules\validate (Отказано в доступе)


Если кто-то думает что дело именно в директории validate — это не так, если её исключить из списка директорий, то начнет ругаться дальше на модуль plugin фреймворка, после исключения этой директории — на module images, после — на модуль ls, session, lang и т.д. В общем — на все модули из директории модулей фреймворка.

И «падать» плагин будет именно на новой структуре dev-версии лс. Чтобы заставить его работать придется полностью исключить каталог модулей фреймворка, но тогда не будет автокомплитера по методам модулей фреймворка (язык, изображения, кеш, бд, сессии, валидация и т.п.)

Решение выпадающей ошибки от плагина автодополнения методов для PhpStorm

  1. Поставить где-нибудь параллельно с dev-версией лс старую версию (1.0.3), можно совсем в другом каталоге, никак напрямую не связанным.

  2. Исключить директорию classes из фреймворка и подключить директории classes и engine из директории стандартной livestreet 1.0. Добавить их следует как ещё один content root

Выбрать в меню настроек слева список директорий проекта


Добавить к корневому каталогу проекта два каталога из LiveStreet версии 1.0.3


т.е. фактически проект состоит из каталога приложения (application) дев-версии лс и пары каталогов из лс версии 1.0. которые выступают как фреймворк. PhpStorm будет искать методы в подключенных директориях и ошибка более не будет появляться.

P.S. Хочу заметить что падение шторма на новой дев версии лс носит не регулярный характер и у некоторых разработчиков плагин на новой структуре файлов вполне нормально работает и не выдает никаких ошибок.
0 комментариев
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.