IDE и плагины для Битрикс
Эффективная работа с кодовой базой Битрикса в IDE опирается на генерацию ORM-аннотаций (php bitrix.php orm:annotate), открывающих автодополнение виртуальных методов сущностей. Для нормальной скорости индексации из области анализа исключают каталоги кеша и upload, обязательно оставляя в индексе исходники ядра bitrix/modules/.
Прогресс хранится в этом браузере. Войдите, чтобы сохранить его в аккаунте.
Что нужно понимать
-
1
PHPStorm + плагины
-
2
VS Code
-
3
Cursor
Материалы
Официальная документация
-
Отладка кода с помощью Xdebug Новая дока
-
Composer Новая дока
Проверь себя
IDE не подсказывает getName() у объекта из fetchObject(). Почему и что делать?
Методы ORM-объектов виртуальные, через __call, в коде класса их нет. Нужны аннотации: php bitrix.php orm:annotate -m all из папки /bitrix создаст /bitrix/modules/orm_annotations.php; для ядра есть готовый /bitrix/modules/main/meta/orm.php. Команде нужен установленный composer.
Индексация проекта в IDE занимает полчаса и вешает ноутбук. Что исключить?
bitrix/cache, bitrix/managed_cache, bitrix/stack_cache, bitrix/html_pages и upload: это сгенерированные файлы, их тысячи, и по ним не нужно переходить. bitrix/modules исключать нельзя — там ядро.
Точка останова в Docker-окружении не срабатывает, хотя Xdebug включён. Что проверить в IDE?
Сопоставление путей: папка проекта на машине должна быть привязана к пути сайта в контейнере, /opt/www в официальном окружении. Без маппинга IDE не связывает файл в контейнере с открытым у вас файлом.
Чем работа с ядром в Cursor отличается от PhpStorm, если код тот же?
Cursor подсказывает через модель, и качество зависит от того, есть ли ядро в контексте: если bitrix/modules исключён из индекса, агент угадывает сигнатуры. PhpStorm читает классы напрямую и с аннотациями ORM ошибается заметно реже.
Не сходится?
Спросите ассистента BXMax: он знает документацию и материалы сайта по этой теме.
Знаете материал лучше?
Предложите ссылку: после проверки она появится в этом разделе.
Войти, чтобы предложить