Edited at

Adobe Photoshop CC 2015 エクステンション開発 ハマりどころ

More than 3 years have passed since last update.


エクステンションの種類と概要

まずは、エクステンションの種類を確認したいと思います。

こんなところでしょうか、他にもありましたらご指摘お願いします。

タイプ
概要

ExtensionScript
jsxと呼ばれるスクリプトファイル

Generator
Photoshopに内蔵しているNodeJSを使って処理を行う、イベント検知型(画面はない?)

カスタムGUI(CEP※1)
HTMLを使ってGUIがつくれる、Node.jsを使うことも可能

develop by SDK
未調査


jsx


Generator

Generator≠生成ではないので注意、GeneratorはNode.jsサーバを指します。

これについて詳しく紹介されている記事 Node.js+Photoshop: Generatorの設計と使い方


  • レイヤーを選択した、レイヤーに変更を加えたなど主に加工に関わる操作をした際に発行される imageChanged

  • 主にツールパレットでツールを変更した際に発行されるtoolChanged

  • 選択しているPSDを切り替えた際に発行されるcurrentDocumentChanged

    他にも色々ありますが、このようなイベントに対して拡張機能をつくるのがこのGeneratorになります。

    -Photoshop Generatorプラグインの作り方

    -サンプルソース


カスタムGUI(CEP※1)

これが今回一番やりたかったこと

まずはこの記事で概要を確認します。CEPガイド1:紹介と技術の概要

Photoshop CC 2015では色々とハマるところがあるので注意です。


ハマったポイントはコチラ


  • CC 2015からnode.jsがデフォルトでサポートされなくなっている。

  • CC 2015からzxp化されていない、プラグインは追加出来ないようになっている。CC 2014まではextensionフォルダにいれるだけで使えたらしい、、、

  • CC 2015からExtension Managerが使えなくなった。コマンドラインで(ExManCmd)でのインストールすることになっている。

  • Creative Cloud Extension Builder for Bracketsから生成する、雛形のバージョンがCC 2015に対応していない


  • ZXPInstallerで証明書エラーがでる、ZXPInstallerはExManCmdのラップしただけのGUIツールのようだが、上手く行かない時はろくなエラーを出さないので、原因究明が困難になります。Adobe labから提供のExManCmdを使うのが吉。


私の体験から得た、CEPプラグイン開発の最短ルートは以下のようになりました。

1.bracketsをインストール

2.bracketsにCreative Cloud Extension Builder for Bracketsプラグインをインストール

3.まっさらなプラグインを作成、プラグインの出力先は次のようになっています。

~/Library/Application Support/Adobe/CEP/extensions/

4. CSXS/manifest.xmlのバージョンの修正、ターゲットが古くなっているはずなので次のように変更しました。

            <Host Name="PHXS" Version="[15.0,16.9]" />

<Host Name="PHSP" Version="[15.0,16.9]" />

nodeを使用する場合は、内に下記の記述を追加

<CEFCommandLine>

<Parameter>--enable-nodejs</Parameter>
<Parameter>--mixed-context</Parameter>
</CEFCommandLine>

5. コマンドラインツールをダウンロード

- http://www.adobeexchange.com/ExManCmd_mac.zip

- http://labs.adobe.com/downloads/extensionbuilder3.html

「ExManCmd_mac.zip」と"Download CC Extensions Signing Toolkit for Mac"から「ccextensionsmac.zip」をダウンロード&解凍してください。

ExManCmdとZXPSignCmdが次の作業で必要になるのでフォルダを統合してもらっても構いません。

6. セルフサイン証明書(.p12)を作成する。

# ZXPSignCmd -selfSignedCert 国 地域 組織 名前 パスワード 出力ファイル名

./ZXPSignCmd -selfSignedCert JP Tokyo company name password myCert.p12

7. パッケージング

# ZXPSignCmd -sign ソース 出力ファイル名 証明書 パスワード

./ZXPSignCmd -sign "../extensionSource" myExt.zxp myCert.p12 password

8.インストール

# ExManCmd --install zxpファイル

./ExManCmd --install myExt.zxp

9.Photoshopの再起動

2回目移行のインストールの場合は、再起動が不要になる場合がありますが、zxpを新規インストールする場合は反映されないことがあますので念の為再起動してください。


  • 作りかけのプラグイン
    NodeGitを使ったpsdファイルをgit管理するツール、まだ未完成の為ソースコードの公開はしばらく先になりそうですw

unspecified-1.png


用語

※1CEP(Common Extensibility Platform・共通拡張プラットフォーム)


参考にしたサイト