初めてPhotoshopのスクリプトを少し作成しましたが、 ExtendScriptToolkitアプリのJavascriptコンソールに配列とオブジェクトの値を出力するためのconsole.logのような関数があると便利です。
同等の機能はありますか?
初めてPhotoshopのスクリプトを少し作成しましたが、 ExtendScriptToolkitアプリのJavascriptコンソールに配列とオブジェクトの値を出力するためのconsole.logのような関数があると便利です。
同等の機能はありますか?
$.writeln()
あなたが探しているものです。詳細については、JavaScriptツールガイド(PDF)を参照してください。
ExtendScript Toolkitバージョン4.0を使用_print('foo')
していますが、使用するとうまくいくようです。
write("any message");
XToolsforPhotoshopで機能するものです。Mac OSXのCS6では、Photoshopデバッガーが常にクラッシュすることがわかりました。
XToolsの詳細については、http://ps-scripts.sourceforge.net/xtools.htmlを参照してください。
素晴らしいです!
これは古いことは知っていますが、最近、InDesignスクリプトのいくつかの値をログに記録する必要があり、「解決策」を共有したいと思います。
私の最初の問題は、によって生成された出力がどこに行くのかさえ理解していなかったことでした$.writeln()
。そこで、ドキュメントディレクトリ内のファイルにログを記録する大まかな関数に頼りました。多分それは誰かに役立つでしょう。これは、Photoshopやその他のExtendScript環境でも機能する可能性があると思います。
JSON
ExtendScriptがメソッドをサポートしていないことを知ったので、ポリフィルを使用しました。ファイル(私の場合json2.js
)をと同じディレクトリに置くだけ.jsx
です。
#include "json2.js"; // include polyfill file
function log (input) {
if(!debug) return;
if(!JSON || !JSON.stringify) return;
var now = new Date();
var output = JSON.stringify(input);
$.writeln(now.toTimeString() + ": " + output);
var logFile = File(app.activeDocument.filePath + "/log.txt");
logFile.open("a");
logFile.writeln(now.toTimeString() + ": " + output);
logFile.close();
}
var debug = true;
log("abc 123");
log([1, 3, 4343, "ddddd", null, false]);
変数を使用して、debug
出力をすばやく有効または無効にします。