[VSC] Получение автокомплита полей и методов классов MODX
Привет! Достаточно давно я писал про свое расширение — vscodemodx, которое позволяет использовать все методы и поля пространства MODX и xPDO, а так же работал в Fenom. Теперь появился способ сделать все как «в PHPStorm», в котором можно добавить производную директорию для анализа.
Возможно, кто-то уже знал как это можно сделать. Мне пришлось зайти сегодня в проект через VSCode по причине того что лицензия на PHPStorm истекла :)
Что необходимо сделать для того, чтобы эта функция заработала?
Для начала, установим расширение PHP, если оно не было установлено ранее. Для этого перейдем в extensions и установим пакет PHP Intelephense

Далее необходимо рассказать VSCode, что не нужно использовать встроенные языковые функции. Для этого в той же вкладке extensions введем @builtin php и выключим для всего редактора PHP Language Features

В принципе — все, вы восхитительны! Давайте проверим. Откроем какой-нибудь проект и откроем какой-нибудь код, в котором содержатся PHP функции и попробуем получить подсказки от пространства $modx

Клево! Давайте попробуем получить информацию о определенном методе и узнаем его параметры:

При наведении на метод, мы получим его более подробную информацию.

Так же работают go to defenition переходы

В целом — клево, VSCode продолжает прокачиваться и это не может не радовать. Осталось буквально пару фишек которых не хватает из PHPStorm. Их очень не хватает, а именно:
Что необходимо сделать для того, чтобы эта функция заработала?
Для начала, установим расширение PHP, если оно не было установлено ранее. Для этого перейдем в extensions и установим пакет PHP Intelephense

Далее необходимо рассказать VSCode, что не нужно использовать встроенные языковые функции. Для этого в той же вкладке extensions введем @builtin php и выключим для всего редактора PHP Language Features

В принципе — все, вы восхитительны! Давайте проверим. Откроем какой-нибудь проект и откроем какой-нибудь код, в котором содержатся PHP функции и попробуем получить подсказки от пространства $modx

Клево! Давайте попробуем получить информацию о определенном методе и узнаем его параметры:

При наведении на метод, мы получим его более подробную информацию.

Так же работают go to defenition переходы

В целом — клево, VSCode продолжает прокачиваться и это не может не радовать. Осталось буквально пару фишек которых не хватает из PHPStorm. Их очень не хватает, а именно:
- Адекватного автодеплоя (неадекватный — есть, речь про адекватный)
- Быстрый поиск по проекту (текущий — медленный, более того он ищет только внутри проекта, а хочется еще по декларациям)
- И т.д
Поблагодарить автора
Отправить деньги
Комментарии: 8
Спасибо за полезную информацию
Спасибо. То есть если приложение PHP уже установлено, то редактор сам должен начать индексировать файлы открытого проекта?
Да, все верно
попробовал — работает и это чертовси приятно. Учитывая бесплатность и функционал, который местами уже выходит за рамки редактора кода — продукт получается роскошный.
Долго просидел на VS Code, пока не столкнулся со странной багой:
только под Линуксом, открыл проект, где были несколько .html файлов с кириллицей, файлы в кодировке utf-8, но VS Code упорно, каждый раз открывает их в кодировке Windows-1251, естественно превращая всё в кракозябры…
Никакие настройки типа принудительного utf-8 не работают.
Судя по github о проблеме сообщают уже больше года и не только про кириллицу, но китайцы, корейцы и т.д.
Но Microsoft не чешется по этому поводу.
Решат эту проблему — вернусь на VS Code не раздумывая, а пока WebStorm выручает.
только под Линуксом, открыл проект, где были несколько .html файлов с кириллицей, файлы в кодировке utf-8, но VS Code упорно, каждый раз открывает их в кодировке Windows-1251, естественно превращая всё в кракозябры…
Никакие настройки типа принудительного utf-8 не работают.
Судя по github о проблеме сообщают уже больше года и не только про кириллицу, но китайцы, корейцы и т.д.
Но Microsoft не чешется по этому поводу.
Решат эту проблему — вернусь на VS Code не раздумывая, а пока WebStorm выручает.
Не пробовали на разных дистрибутивах линукса?
Иногда получаются очень разные результаты.
У меня наоборот с phpStrom были схожие проблемы. В debian все кнопки отображаются в программе, но текст либо совсем отсутствует либо только первая буква, к примеру от Cancel остается С
Но этот же phpStorm, запущенный в Ubuntu c кедами — работал отлично.
Иногда получаются очень разные результаты.
У меня наоборот с phpStrom были схожие проблемы. В debian все кнопки отображаются в программе, но текст либо совсем отсутствует либо только первая буква, к примеру от Cancel остается С
Но этот же phpStorm, запущенный в Ubuntu c кедами — работал отлично.
Нет, не доводилось пробовать другие дистрибутивы. В Ubuntu 18.4 проблема, в Windows 10 всё ок.
Но работаю 95% времени в Линуксе, поэтому пока пользуюсь WebStorm.
Но работаю 95% времени в Линуксе, поэтому пока пользуюсь WebStorm.
Вот сделал автокомплит вызова сниппетов на fenom для phpStorm, ещё не разобрался как сделать на примере автокомплита $_modx-> но думаю когда-то разберусь.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.