Плагин ScriptingListener
macOS:
- Photoshop 2020: Scripting Listener Plug-in for macOS
- Photoshop 2019 и ранееr: Scripting Listener Plug-in for macOS
Windows:
Установка плагина - папку Scripting Utilities из архива необходимо скопировать по следующему пути:
macOS: Applications\Adobe Photoshop [Photoshop_version]\Plug-ins\
Windows: Program Files\Adobe\Adobe Photoshop [Photoshop_version]\Plug-ins\
После перезапустить Photoshop. Теперь все производимые действия будут записываться в текстовые файлы на рабочем столе.
Файл с кодом на JavaScript будет называться ScriptingListenerJS.log
В него будет записываться JavaScript код всех операций выполняемых в Photoshop. Не забывайте периодически удалять эти файлы, при запуске Photoshop файлы листинга создаются автоматически и со временем они разрастаются до значительных размеров. При необходимости удалите плагин из папки Plug-ins.
Подготовьтесь к записи скрипта, непосредственно перед действиями, которые вы хотите записать в скрипт, удалите файлы листинга с рабочего стола, после этого начинайте выполнять операции которые вы хотите записать в скрипт. После того как операции будут выполнены откройте файл листинга и заберите из него требуемый код.
Если запустить полученный код, то на первом же блоке появится ошибка.
Плагин записывает все события происходящие в программе, для воспроизведения действий некоторые события нам не нужны.
Основные шаги в скрипте отмечены строками с комментариями, по ним можно разграничивать шаги скрипта.
Анализируем код и удаляем блоки имеющие в первой строке следующие команды:
var idinvokeCommand = stringIDToTypeID( "invokeCommand" );
var idmodalStateChanged = stringIDToTypeID( "modalStateChanged" );
var idhistoryStateChanged = stringIDToTypeID( "historyStateChanged" );
var idlayersFiltered = stringIDToTypeID( "layersFiltered" );
var idtoolModalStateChanged = stringIDToTypeID( "toolModalStateChanged" );
После удаления ненужного кода скрипт будет работать, но так делать не удобно, особенно если код достаточно большой и в нем много шагов.
Для чистки кода и приведение его к более читаемому виду служит скрипт Clean SL.
Скачайте его и запустите скрипт Clean SL.jsx:
После запуска скрипта Clean SL.jsx откроется окно программы с 2 окнами, в левое вставить текст из листинга. Нажать кнопку Remove junk code, в левой части окна исчезнут ненужные блоки кода, затем нажать кнопку Clean Code, в правой части отобразится оптимизированный код, можно изменять опции на свой вкус. После того как в правом окне код станет приемлемым для чтения и понимания его можно сохранить в скрипт.
После обработки кода скриптом Clean SL.jsx его читабельность значительно лучше кода создаваемого скриптами из операций.