В новой платформе UXP понятие плагин объединяет как скрипты, так и панели.
Плагин может состоять из:
- 0 или более панелей;
- 0 или более диалогов, которые являются простыми модальными окнами;
- 0 или более команд, которые являются простыми скриптами;
Теперь скрипт в терминологии платформы называется командой и входит в состав плагина.
Плагин - команда.
Создадим плагин - команду (простой скрипт).
Создаем папку плагина, добавляем в нее файлы manifest.json, index.js, папку icons с иконками. Архив с примером.
Плагин пример нужно разархивировать и загрузить его через программу Adobe UXP Developer Tool нажав кнопку Add Existing Plugin..., загружать нужно файл manifest.json из папки плагина-примера.
Файл manifest.json
Редактируем нужные нам строки:
id - плагина должен быть уникальным
name - Имя команды которое будет отображаться на панели плагинов:
main - имя js скрипта который будет выполняться
app - имя хоста PS - Photoshop
minVersion - 22.0.0 - минимальная версия на которой работают UXP плагины.
Следующий важный раздел entrypoints - массив объектов плагина. В этом разделе размещаются все объекты плагина: команды-command, , панели-panel.
type - тип плагина, в данном случае это команды - command
id - уникальный номер объекта для внутреннего использования
label - имя команды отображаемой через меню:
Раздел Icons - определяет иконку на панели плагинов, иконки загружаются в 2 размерах 48х48 и 24х24
path - путь к файлу иконок
scale - масштабы иконок 1 и 2
обратите внимание на имена файлов иконок:
после имени описанном в "path" пишется @1 и @2 масштаб указанный в "scale".
theme - перечисляет в каких цветовых схемах будет показана эта иконка, по умолчанию во всех "all".
species - указывает где будут доступны иконки:
- pluginList - только на панели плагинов
- generic - везде
Файл index.js
Файл index.js это наш скрипт который будет выполняться при нажатии на строку в меню или на кнопку в панели плагинов.
Плагин с несколькими командами.
Файл manifest.json
Изменим имя плагина
"name": "Commands - scripts"
В раздел entrypoints добавим запись о команде:
Посмотрим как теперь выглядит наш плагин в меню и на панели:
Файл index.js
В разделе entrypoints.setup описываются команды указанные в manifest.json и сопоставляемые им функции.
Следуя новой логике платформы UXP, простые скрипты помещаются на панель плагинов, группируются в отдельные кнопки, что облегчает работу со скриптами для пользователя.