В этой статье будем интегрировать документацию 1С-Битрикс прямо в IDE PhpStorm c помощью подключения внешней библиотеки bxApiDocs.
При разработке сайтов на 1С-Битрикс приходится часто обращаться к API системы на офф сайте компании — http://dev.1c-bitrix.ru/api_help/. Все бы хорошо, но переход на сайт, поиск нужного метода по огромной документации занимает драгоценное время. Было бы круто иметь документацию прямо в среде разработки! Такая возможность есть, давайте перейдем к ее настройке!
bxApiDocs
Для начала нам понадобится скачать bxApiDocs. Это проект неких энтузиастов (http://www.wexpert.ru), которые смогли собрать последнюю версию «битриксовой» папки modules и интегрировать в нее документацию. Над каждым методом в файлах данной папки присутствует PHPDoc-комментарий, который дублирует описание метода из документации на сайте.
А так, как наша IDE умеет индексировать такие комментарии — мы автоматически получаем готовую документацию в каждом файле проекта для большинства методов BitrixFramework лишь поставив курсор на нужную функцию и нажав Ctrl+Q. Действительно впечатляет!
Распакуйте архив, рекомендую для удобства держать это все в папке с проектами PhpStorm. Далее переходим к подключению модулей в самой IDE.
Подключение bsApiDocs в PhpStorm
Переходим в IDE, открываем проект с сайтом на Битрикс. В левой части экрана под папками проекта есть пункт External Libraries:
Кликаем по нему два раза:
Нажимаем на зеленый плюсик для добавления новой внешней библиотеки. Ищем разархивированную папку bxApiDocs и выбираем в ней папку modules для подключения и применяем изменения:
Запустится индексация библиотеки:
Наслаждаемся результатом
Теперь при выделение какого-либо «битриксового» метода в коде и нажатии Ctrl+Q мы увидим окошко с документацией по данному методу
Юналиев Рамиль, Возможно из-за того, что Вы подключили не конкретно папку modules, а еще и папку, в которой она лежит (на моем скрине это BitrixCore). Попробуйте указать именно папку modules
Саакян Игорь, попробуйте исключить из индексации "оригинальный" каталог с модулями, а то IDE не понимает откуда ей тянуть инфо (multiple definition). http://joxi.ru/L4Ak7ogUBE66Aq
Невенчанный Пётр, ребята стараются обновлять их с каждым релизом битрикса, что видно на этой странице - https://github.com/matiaspub/bxApiDocs...its/master. Вам лишь останется подключать эту папку в свои проекты из одного и того же места и делать Pull в свой локальный репозиторий после новых коммитов
Абдурахимов Родион, делал сравнение ваших кодов модуля advertising и кодов Битрикса и увидел такую вещь... вы всем методам класса прописали признак статичного класса (public static) но при таком написании не будет правильной работы дозаполнения.
А обязательно все файлы сайта скачивать для phpstorm? Или можно как в эклипс сделать, чтобы одни названия были, а когда уже открываешь файл, он и скачался, а когда изменил, то уже на сервер закачивается? И если не все файлы указываешь для скачивания, с ними можно потом будет работать или только нужно скачать файл\каталог с файлами, а потом появляется возможность с ним работать?
Александр Андреев, Sergey Tislenko, я пробовал шторм после эклипса. Теперь использую оба - эклипс для быстрой подержки проектов по фтп/ssh, а шторм - если надо зависимости подробные по основным проектам править, либо git опять же нужен.
Коллеги, подскажите, может кто знает, как можно создать шаблон файла с готовым набором переменных, но так, чтобы потом, при создании нового файла из этого шаблона, Storm не предлагал переопределить переменные ?
Абдурахимов Родион, смотрите, есть файлы, который с готовым набором переменных. Например, есть у меня файл, обрабатывающий аяксовые запросы. Такой вот файл-образец. Если я файл в таком вот виде, с переменными сохраняю в качестве файла-шаблона, то потом, при создании нового файла из шаблона, Storm выдает мне в форму, в которой кроме названия файла, нужно еще и каждой переменной соответствия сделать... Может оно и удобно, если для каждого файла сохраняется структура, но меняются переменные, но я создавал эту заготовку, как раз для того, чтобы ничего лишнего не переопределять каждый раз....
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».