LoginSignup
1
0

More than 3 years have passed since last update.

Photoshop extensionでjsxを呼び出す方法

Last updated at Posted at 2018-08-31

Photoshop extensionでjsxを呼び出す方法

複数のjsxを作成してくると、scriptで呼び出しするのが面倒になり、Extensionでボタン一個で呼び出したくなる。
最初はmanifest.xmlに複数ScriptPathを入れればうまくいくだろーと言う気持ちだったのですが、これがどうにもうまく行かず....(一つしか読み込めない仕様なのかな?)
仕方なく、押したパネルのボタンに応じてjsxを読み込む方式にすることに。
ちょっと癖があったので備忘録。

現在のScriptPathを取得

jsxの読み込みは相対パスだとうまく行かないので、絶対パスを取得する。
埋め込んでもいいですが、汎用性が低くなるのでプログラムで取得したい

function getScriptPath()
{
  return new CSInterface().getSystemPath(SystemPath.EXTENSION);
}

CSInterfaceくん便利....

指定したjsxを実行

function scriptExecuter(name)
{
  var path = getScriptPath() + "/jsx/"+name+".jsx";
  try { csInterface.evalScript('$.evalFile( "'+path+'")'); }
  catch(e) { alert(e); }
}

jsxはextensionプロジェクト以下の/jsxフォルダに全部まとめる。
呼び出すjsxの中身は即時関数になっているか、読み込んだタイミングでうまくメインの関数が呼ばれる仕組みになっていないといけないのが注意.

普段、スクリプトから呼び出す形式で開発していたjsxをそのまま配置すれば使えるので、なかなか便利。
スクリプトでは普通に#include hogehogeとか使えます

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0