Last updated February 2023, to coincide with the Premiere Pro 23.2 release, also known as "Premiere Pro 2023".
-
Creative Cloud. Use the Creative Cloud application to install Premiere Pro CC and other Adobe applications with which you'll be developing and testing, as well as ExtendScript Toolkit (available under 'previous versions').
-
The CEP Test Panel shows the full capabilities of CEP panels.
-
The PProPanel sample project is exhaustive in its exercise of Premiere Pro's ExtendScript API. If you're reading this, you likely already have the PProPanel sample.
-
Microsoft Visual Studio Code, and the ExtendScript debugging extension. This extension running in VSCode is Adobe's recommended ExtendScript development environment. Sorry, ExtendScript Toolkit; you had a good long run.
Note: Creative Cloud Desktop handles >95% of all extension installation cases, and the Adobe Exchange Store can take your extension's directory as an input, and generate a .zxp file for you. However, it is often desirable to be able to test deployment on a local system, so we're still including links to the following stand-alone tools.
-
Use the UPIA command line utility to test .zxp installation.
-
The ZXPSignCmd signing utility creates signed .zxp bundles for Add-Ons or direct distribution.
Further relevant information is available from the Extensibility team.
Note: Premiere Pro 23.x integrates CEP11, so even if you had unsigned panels loading before (up to CEP10), you'll need to perform this step again, but for key CSXS.11.
On MacOS, type the following into Terminal, then relaunch Finder (either via rebooting, or from the Force Quit dialog):
defaults write /Users/<username>/Library/Preferences/com.adobe.CSXS.11.plist PlayerDebugMode 1
On Windows, make the following registry entry (a new Key, of type String):
Put /PProPanel
or your own panel's containing directory here, to have Premiere
Pro load it:
Windows: C:\Program Files (x86)\Common Files\Adobe\CEP\extensions
Mac: /Library/Application Support/Adobe/CEP/extensions
Note: That's the root /Library, not a specific user's ~/Library...
Use Microsoft Visual Studio Code to debug your panel's JavaScript.
Optional diagnostics: Turn on CEP logging. Find CEP logs (distinct from Premiere Pro's logs) here. Note that Mac Library path is the system's library, not the user's. Also, note that logging WILL impact performance.
Windows: %\AppData\Local\Temp\csxs11-PPRO.log
Mac: /Library/Logs/CSXS/csxs11-PPRO.log
Set logging level in Windows Registry (see above), or MacOS X .plist:
defaults write /Users/<username>/Library/Preferences/com.adobe.CSXS.11.plist LogLevel 6
Once you've installed the ExtendScript debugging extension, you can set breakpoints in your ExtendScript code within VSCode.
Here's a screen video showing how to debug panels at both the JavaScript and ExtendScript levels.
Further relevant information is available from the Extensibility team.
For extensions deployed exclusively via Creative Cloud Desktop, submitting your extension to the Adobe Exchange Store is all you need to do; the Store will generate a cross-platform .zxp file with which your extension can be installed, and Creative Cloud Desktop will take care of extension configuration management, across your Creative Cloud systems.
You can either generate a self-signed certificate (ZXPSignCmd will make them for you), or get one from a commercial security provider. Here's an example:
./ZXPSignCmd -selfSignedCert US California Adobe "Bruce Bullis" TotallySecurePassword certificate.p12
To sign directory /PanelDir
with certificate.p12
, do the following:
./ZXPSignCmd -sign panelDir/ PanelName.zxp certificate.p12 password -tsa http://timestamp.digicert.com/
Submit your panel to the Adobe Add-Ons site for approval, and distribution. You can also directly supply the .zxp file enterprise customers, and those who do not connect their systems to the public internet, for installation using UPIA, the command line version of Extension Manager.
If you encounter any issues with the Add-Ons store or ExManCmd, please contact the Add-Ons team.
Note: As we work toward providing UXP-based extensibility, we've stopped additional work on the ExtendScript API.