背景
上一章讲到CEP扩展的开发环境,这一章讲下如何调试CEP扩展。调试是开发很重要的一环,如果不能调试,那么很难找出bug。由于CEP扩展是基于前端语言编写的,因此,调试信息可以在Chrome中显示。本章内容主要涉及调试的配置以及步骤。
调试配置
允许Adobe应用调试未签名的CEP扩展
在开发过程中,由于调试需要,代码内容是实时更新的,因此,如果修改一次代码就签名一次,效率是十分低下的。**最重要的是,签名后的文件夹,如果内容修改,那么签名就无效了,在Adobe应用中是无法正常打开扩展的。**因此,我们需要在Adobe应用中打开未签名的扩展,同时可调试。我们需要两个操作,一是修改注册表,二是创建.debug文件。
修改注册表
在window搜索窗下,输入“运行”=》“regedit”,打开注册表编辑器。选择HKEY_CURRENT_USER=>Software=>Adobe=>CSXS.x。这个.x需要根据自己的版本来选,这取决于自己manifest.xml中的应用的version有关,比如我是version=“7.0”,那么我就是打开CSXS.7。
在注册表中,右键新建=》字符串值。输入PlayerDebugMode,值为1,如图。
这个操作的含义是允许Adobe(对应版本的)应用调试未签名的CEP扩展。
如果想关闭调试模式,把该值设为0即可。
如果想方便地打开和关闭该功能,可以写.reg文件,如“不知语冰”就提供了两个这样的文件,修改CSXS版本后直接点击可以使用,这里有链接,可以对文本另存为。
关闭CEP调试模式.reg
打开CEP调试模式.reg
.debug文件
在CEP扩展文件夹的根目录中,需要创建一个.debug文件来存储调试信息。由于.开头的文件不能直接创建,在window下可以通过如下命令创建:
$>> copy con .debug
$>> Ctrl+Z
这样就创建了一个.debug文件。
然后我们编辑该文件,该文件是一个xml结构,结构如下:
<?xml version="1.0" encoding="UTF-8"?>
<ExtensionList>
<Extension Id="com.acc.ext.liyucep.1">
<HostList>
<!-- Illustrator -->
<Host Name="ILST" Port="8089"/>
</HostList>
</Extension>
</ExtensionList>
需要修改的地方主要是:
- <Extension>标签里的id,需要和manifest.xml中的扩展id一致。注意,是扩展id,而不是应用id。
- <HostList>标签里的<Host>指适用的Adobe应用,Name表示应用的Host ID,Port表示本机调试页面的端口。
上述的代码含义是,调试Illustrator,端口是8089。这样,当打开Illustrator中的扩展后,打开Chrome,输入localhost:8089,会出现如下页面。
点击index.html,就跳转到CEP扩展的调试页面,如图。
在这里,可以看到CEP扩展的调试信息。
如果要给多个Adobe应用添加该扩展的调试功能,就在<HostList>下添加其他应用的<Host>和不同的端口即可。
调试日志
要启用调试日志的功能,也需要修改注册表。同样是上述注册表位置,添加LogLevel字段,值对应的含义如下图。
不同数字对应不同级别的调试信息,如果想看到所有信息,那就设置为6。
那么日志对应的位置在哪里呢?在windows下日志的位置在
C:\Users\USERNAME\AppData\Local\Temp
看下日志内容,如下
参考资料
Adobe CEP 扩展开发教程 「 1 」Hello World!
CEP_7.0_HTML_Extension_Cookbook.pdf