Можно ли добавить пункт меню в Photoshop с помощью скрипта?

Я написал скрипт, в котором есть несколько функций для копирования и вставки. Я хотел бы добавить пункт меню (возможно, в разделе «Редактировать») для обоих и связать их с каждой соответствующей функцией. Это вообще возможно? Я использую CS6 Javascript. Спасибо.

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


person manafire    schedule 18.12.2013    source источник


Ответы (3)


Я так не думаю. Для создания элементов меню необходимо создать подключаемый модуль с помощью Photoshop SDK. Есть много примеров, которые поставляются с включенной документацией.

person Alex Blackwood    schedule 19.12.2013
comment
Хорошо спасибо. Я подумал, что это может быть натяжкой для сценариев, и если кто-то не может показать обратное, мы будем считать, что это невозможно. - person manafire; 30.12.2013

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

  1. Добавьте свой скрипт в папку Preset (это будет что-то вроде C:\Program Files\Adobe\Adobe Photoshop CC 2014\Presets\Scripts)
  2. Перезапустите Photoshop, и ваш пресет появится в списке вместе с другими скриптами в меню (Файл -> Скрипты).
  3. Добавьте сочетание клавиш к пункту меню. В меню (Правка -> Сочетания клавиш) разверните вкладку (Файл -> Сценарии) и следуйте инструкциям по добавлению сочетаний клавиш.
person AlaskaJohn    schedule 24.09.2014
comment
К сожалению, не отражает изменений в сценарии, имхо. Он запоминает сценарий при запуске Photoshop. Но тем не менее полезно. - person Dolfa; 14.08.2020

Элементы меню можно создавать с помощью инструмента Adobe Generator. См. ссылку ниже для получения дополнительной информации.

https://github.com/adobe-photoshop/generator-core

_generator.addMenuItem(id, label, true, false).then(
    function () {
        console.log("menu item added:", label)
    }, function () {
        console.error("unable to add menu item", label)
    }
);
person Can    schedule 11.01.2016