Настройка среды разработки расширений

В этой статье приводится несколько советов о том, как настроить ваше приложение Mozilla для удобной работы над расширениями.

Профиль для разработки

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

Для того, чтобы создать новый профиль в Firefox, достаточно запустить его с ключом "-ProfileManager", т.е.

firefox -ProfileManager

для Linux или

Win+R (или Пуск->Выполнить)
start "" "%ProgramFiles%\Mozilla Firefox\firefox.exe" -ProfileManager

для Windows.

После создания профиля (назовем его myDevProfile) можно запустить Firefox, указав ключ "-P myDevProfile". Профиль по умолчанию называется "default". Таким образом, для удобства запуска можно создать 2 ярлыка (символические ссылки) на Firefox с ключами "-P <profileName>".

Однако обычно нельзя запустить 2 копии Firefox с разными профилями. Чтобы сделать это укажите при запуске дополнительно ключ "-no-remote".

Настройки Firefox для разработки

Наверно, вы знаете о возможности настроить Firefox детально с помощью about:config. Если нет, рекомендуем вам прочитать статью конфигурационных файлов.

Итак, вот настройки, которые облегчат разработку расширений под Firefox.

  • javascript.options.showInConsole = true. Вывод ошибок в файлах chrome в консоль ошибок.

при редактировании здесь учтите также номер предлагаемой опции в последней секции

  • nglayout.debug.disable_xul_cache = true. Отключение кеширования XUL. Вы сможете видеть изменения в интерфейсе окон и диалогов без перезагрузки браузера (к оверлеям не относится). Чтобы это заработало, вы должны использовать папки, а не jar'ы.
  • browser.dom.window.dump.enabled = true. Позволяет использовать dump("string") для вывода в стандартную консоль. Можно также использовать en:nsIConsoleService из привелигированного скрипта.
  • javascript.options.strict = true. Обеспечит вывод предупреждений JavaScript в консоль ошибок. Учтите, что, так как большинство разработчиков отключают эту опцию, вы будете видеть предупреждения о проблемах в коде других скриптов вдобавок к своим. Можете попробовать использовать Console2.
  • extensions.logging.enabled = true. Вывод более детальной информации о проблемах установки и обновления расширения.

Расширения для разработки

Отдельное хранение кода расширения

Чтобы не переустанавливать расширение при каждом изменении и не опасаться случайного удаления кода при его деинсталляции, можно поместить ваш код в отдельное место.

  1. Найдите папку с вашим профилем. Если вы не создавали его специально, браузер использует профиль по умолчанию. Как найти папку с профилем.
  2. Откройте папку extensions. Если ее нет, создайте ее.
  3. Создайте новый текстовый файл и поместите в него лишь путь к вашему расширению (напр., C:\extensions\my_extension\ для Windows или ~/extensions/my_extension/ для Unix/Linux). Сохраните файл под именем, одинаковым с id вашего расширения.

Примечания:

  • Не забудьте конечный слеш.
  • Возможно возникновение проблем из-за знаков нижнего подчеркивания в названии; если так вышло, измените его.

Использование папок, а не JAR'ов

Учитывая предыдущий пункт, можно, поместив свой код в отдельное место, не упаковывать его. Это облегчит разработку вообще и позволит воспользоваться 2-й опцией в предлагаемых настройках.

Метки документа и участники

Метки: 
 Внесли вклад в эту страницу: teoli, fscholz, Yozh88
 Обновлялась последний раз: teoli,