1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/yangweijie-SublimePHPNinJaManual

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

SublimePHPNinJaManual

Руководство по функциям в Sublime с поддержкой китайского и других языков, которое можно создать с помощью команды.

Происхождение

Меня раздражало отсутствие хорошей подсказки функций PHP в Sublime. Однажды я реализовал это в плагине Sublime ThinkPHP. В то время я использовал библиотеку подсказок функций PHP из NetBeans для отображения, но она выглядела не очень хорошо. Я всегда думал, что Sublime не может создать хороший пользовательский интерфейс, потому что у него мало API.

Несколько дней назад я обнаружил инструмент Ctranslator, созданный китайскими разработчиками. Это именно то, что я хотел! Изучив исходный код, я понял, что он использует открытую библиотеку StyledPopup. Она предоставляет большую гибкость с использованием HTML.

Кроме того, я обычно использую плагин Chrome PHP NanJa Manual, который поддерживает различные языки и имеет список. Однако каждый раз открывать браузер для написания кода неудобно. Поскольку он предоставляет открытую библиотеку PHP Doc Parser, которая может преобразовывать официальное руководство PHP в файлы JSON, у меня возникла идея переноса.

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

Поскольку файл son слишком велик, а Python не имеет механизма кэширования (или, возможно, я не знаю об этом), я преобразовал его в базу данных с помощью ThinkPHP. Есть две таблицы: fun хранит имена функций, а funlist — имена функций и соответствующие данные son.

Установка

Используйте плагин Package Control для Sublime Text 3 (http://wbond.net/sublime_packages/package_control). Нажмите CTRL + SHIFT + P, затем введите Package Control: Install Package и нажмите Enter. Найдите PhpNinJaManual в списке (он должен быть доступен после проверки).

Или вы можете напрямую клонировать Git в каталог пакетов Sublime Text 3 (обычно находится в /Sublime Text 3/Packages/). Не забудьте изменить имя файла SublimePHPNinJaManual на PhpNinJaManual. У установки через pac не должно быть этой проблемы.

Использование

Выберите функцию PHP, которую хотите просмотреть, и щёлкните правой кнопкой мыши. Появится меню «Просмотр описания функции» (см. рисунок). После нажатия появится всплывающее окно с описанием функции.

Если вы хотите настроить сочетание клавиш, просто добавьте команду show_php_document в свои сочетания клавиш. Обратитесь к руководству по Sublime для получения дополнительной информации о настройке сочетаний клавиш. Например, вы можете использовать F1 или другое удобное сочетание клавиш.

Создание руководства для других языков

В качестве примера возьмём английский язык (en).

Перейдите на главную страницу парсера документации: https://github.com/martinsik/php-doc-parser. Создайте файл composer.json со следующим содержимым:

{
    "require": {
      ...
      "martinsik/php-doc-parser": "~2.0"
    }
}

Затем выполните команду composer.phar install или composer install. После успешной установки в текущем каталоге vendor/bin появится исполняемый файл. Затем выполните следующие действия:

vendor/bin/doc-parser help parser:run.

Это создаст два файла JSON. Скопируйте их в папку App/Runtime/Data вашего плагина (см. рисунок ниже).

После этого вместо zh будет en. Затем перейдите в каталог плагина и выполните следующую команду:

Он сообщит вам, сколько функций было импортировано. Поскольку я не создавал английскую версию, результат равен нулю.

Будущие функции

Возможно, я переработаю его с помощью PHPConnector. Также можно добавить список, хотя размер базы данных увеличится, и отображение может занять больше времени.

Примечание

  • Некоторые функции возвращают &$count, что приводит к невозможности анализа последующих строк HTML в некоторых плагинах Sublime. Пока неясно, как это исправить. Автор уже сообщил мне о способе решения проблемы, и она была исправлена. PHP возвращает '&', который был экранирован в этих функциях.
  • Поскольку компонент всплывающего окна не поддерживает настройку ширины и высоты, в настоящее время длинный контент вызывает появление полосы прокрутки. Автор также сообщил мне, что есть параметр ширины, и я изменил плагин, установив значение 700. Этого достаточно для моих целей, так как я тестировал его с функцией str_replace.
  • Для анализа руководства используется PHP, поэтому необходимо убедиться, что команда php доступна в вашей командной строке.
  • Параметры объясняются добавлением отображения типа возвращаемого значения и выделения, а также можно перейти на официальный сайт PHP для просмотра имени функции.
  • Если вы хотите определить формат вывода и стиль, вы можете посмотреть метод find контроллера приложения Doc в папке плагина. Также посмотрите на шаблон find.html.
  • Иногда возникает следующая ошибка:

Этот сбой происходит, когда моя конфигурация по умолчанию не считывается при инициализации плагина, что приводит к тому, что переменная lang не является объектом. Чтобы решить эту проблему, скопируйте конфигурацию по умолчанию в меню → параметры → PhpNinJaManual и найдите пользовательскую конфигурацию. Вставьте её, сохраните и повторите попытку. Сразу после изменения HTML и контроллера стало очень классно отлаживать плагин, жаль, что у меня нет таланта к подбору цветов. Однажды я попытался сделать тело белым, хотел создать лёгкий слой, но обнаружил, что за пределами body есть поля. В любом случае, каждый может свободно заниматься своим DIY. Подбирать стиль, подходящий для своей темы. Можете подсказать мне, чтобы в будущем я мог динамически вызывать разные стили для разных тем, достигая оптимальной визуализации.

Обратная связь при возникновении проблем

Если у вас возникнут какие-либо проблемы при использовании, пожалуйста, свяжитесь со мной:

Об авторе

var code-tech = {
    nickName  : "杨维杰",
    site : "http://code-tech.diandian.com"
}

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/yangweijie-SublimePHPNinJaManual.git
git@api.gitlife.ru:oschina-mirror/yangweijie-SublimePHPNinJaManual.git
oschina-mirror
yangweijie-SublimePHPNinJaManual
yangweijie-SublimePHPNinJaManual
master