【CEP 扩展开发二】HelloWorld

【CEP 扩展开发二】HelloWorld

💡 原文中文,约11800字,阅读约需29分钟。
📝

内容提要

本文是CEP插件开发教程第二篇,以Photoshop为例实现Hello World插件。内容涵盖必备工具(PS、VSCode、Chrome)及建议使用英文界面的原因,插件目录结构、manifest.xml配置、前端HTML代码和JSX接口编写,以及开启CEP调试模式加载插件的方法。

🔎

延伸解读

为什么建议使用英文界面开发

文章强烈建议开发时使用英文版宿主软件,原因有三:一是便于阅读英文技术文档;二是避免第三方翻译包更新不及时或翻译不准确;三是能更快对应代码中的字段名。例如,通过英文界面可直观看到“密度”对应 density,从而在代码中准确使用 vectorMaskDensity 属性。这能显著提升开发效率,减少猜测和搜索时间。

插件存放位置与加载顺序

CEP 插件可放在三个位置:软件安装文件夹、系统级插件文件夹和用户级插件文件夹。加载顺序为软件安装文件夹 > 系统级 > 用户级。开发时应将插件放在用户级目录,因为该目录无需 root 权限,可随意修改代码。系统级目录适合存放生产环境插件,可防止用户误改导致签名不一致。

manifest.xml 配置要点

manifest.xml 是 CEP 插件的核心配置文件,用于定义插件 ID、版本、支持的宿主、面板类型、界面尺寸等。一个插件可包含多个面板,每个面板独立进程,互不影响。面板类型有 Panel、ModalDialog、Modeless 和 Custom,分别对应嵌入界面、模态、非模态和无界面。相对路径均相对于插件根目录。

调试模式配置与必要性

未签名的 CEP 插件必须开启调试模式才能加载。Mac 下通过终端命令 defaults write com.adobe.CSXS.11 PlayerDebugMode 1 开启,Windows 下需修改注册表 HKEY_CURRENT_USER/Software/Adobe/CSXS.11 中的 PlayerDebugMode 值为 1。不同 CEP 版本对应不同宿主软件版本,若不确定可同时开启多个版本。配置后重启宿主即可加载插件。

❓

Q&A

开发CEP插件需要准备哪些工具?

需要宿主应用(如Photoshop或After Effects)、代码编辑器(推荐VSCode,因其有ExtendScript Debugger等扩展)、操作系统(Windows或MacOS均可,CEP跨平台)以及基于Chromium内核的浏览器(如Chrome,用于远程调试)。

为什么建议使用英文界面的Photoshop进行CEP开发?

使用英文界面有助于更快更准确地理解代码中的字段名,方便抄代码和搜索关键字。因为代码和调试工具显示的都是英文,英文界面能直接对应,例如通过hover提示和Descriptor Info能快速找到vectorMaskDensity等属性。

CEP插件的目录结构包含哪些部分?

典型结构包括:.debug(调试配置文件)、CSXS/manifest.xml(扩展清单)、JSX/index.jsx(ExtendScript代码入口)和web/index.html(前端界面)。

manifest.xml文件的作用是什么?

manifest.xml是CEP插件的清单文件,用于配置插件名称、兼容性、图标、菜单等。它定义了插件ID、版本、支持的宿主(如Photoshop)、CEP版本、面板类型、尺寸以及前端HTML和JSX路径等。

如何开启CEP的调试模式?

Mac系统:在终端执行defaults write com.adobe.CSXS.11 PlayerDebugMode 1(11对应CEP版本)。Windows系统:打开注册表编辑器,定位到HKEY_CURRENT_USER/Software/Adobe/CSXS.11,将PlayerDebugMode的值设为1(字符串类型)。

CEP插件中前端如何调用JSX接口?

前端通过window.__adobe_cep__.evalScript(script, callback)执行JSX代码。例如调用api.getCurrentLayerName()获取当前图层名称,并在回调中处理结果。

🏷️

标签

➡️

继续阅读