ExtendScript Toolkit(ESTK)でコードを書く際に、コードを自動で整形したい場面があります。
その際に役立つのが、JavaScriptの整形ライブラリ「beautify.js」を利用した自動整形機能の追加です。
ここでは、ESTKのメニューからワンクリックでコードを整形できる機能を追加する手順を解説します。
Step1:beautify.js をダウンロード
標準の beautify.js(GitHubなどで配布されている最新版)はESTKのJavaScriptエンジンでは動作しないため、過去の互換性があるバージョンをダウンロードします。
http://age.s22.xrea.com/tool/EmEditor-beautify.zip
ZIPファイルを解凍し、任意のディレクトリに保存します。
配置例:D:\Adobe\estk\beautify.js
Step2:ESTKのメニューに「整形」機能を追加する
ESTKのメニューバーに整形コマンドを追加するため、メニュー登録用のスクリプト(ToolMenu.jsx)を作成します。
参考元記事は次のとおりです。
メニュー用JSXの設定
次の内容で ToolMenu.jsx を作成し、保存先パスを指定した箇所(例:6行目)を自身の環境に合わせて書き換えます。
#include "D:\\Adobe\\estk\\beautify.js"スクリプト内のパス区切り文字は、エスケープして 2重(\\) で記述します。
Step3:ToolMenu.jsx を所定のフォルダに設置
作成した ToolMenu.jsx を以下のフォルダに保存します。
C:\Program Files (x86)\Adobe\Adobe ExtendScript Toolkit CC\Required\このフォルダに配置すると、ESTK起動時にスクリプトが自動読み込みされ、ツールメニューへ「整形」が追加されます。
Step4:コードを自動整形する
ESTKを再起動し、メニューバーから「ツール > 整形」を実行します。
現在開いているコードが自動的にインデント整形されます。

Photoshop関連の操作手順は、以下の記事でも解説しています。

ExtendScriptの開発環境は、ほかにも書いています。




まとめ
Visual Studio Codeなどのモダンエディタにはコード整形機能が標準または拡張機能として備わっています。
ただし、現在もESTKでスクリプトの動作確認やデバッグを行いながら編集している環境では、
メニューからワンクリックで整形できる本設定が作業効率化につながります。
よくある質問:ESTKにコード自動整形機能を追加する
ExtendScript Toolkit(ESTK)に、コードの自動整形機能を追加できますか?
できます。記事では、JavaScriptの整形ライブラリ「beautify.js」を利用して、ESTKのメニューからワンクリックでコードを整形できる機能を追加する手順を紹介しています。
どんな場面で使う方法ですか?
Visual Studio Codeなどのモダンエディターには、コード整形機能が標準または拡張機能として備わっているとしています。ただし、現在もESTKでスクリプトの動作確認やデバッグを行いながら編集している環境では、メニューからワンクリックで整形できる設定が、作業効率化につながります。
最新のbeautify.jsを、そのまま使えますか?
使えません。標準のbeautify.js(GitHubなどで配布されている最新版)は、ESTKのJavaScriptエンジンでは動作しないため、過去の互換性があるバージョンをダウンロードします。記事では、配布元のZIPファイルを解凍し、任意のディレクトリに保存します(配置例:D:\Adobe\estk\beautify.js)。
メニューに「整形」を追加するには、どうしますか?
メニュー登録用のスクリプト(ToolMenu.jsx)を作成します。ToolMenu.jsxの中で、beautify.jsの保存先パスを指定した箇所(例:6行目)を、自身の環境に合わせて書き換えます。スクリプト内のパス区切り文字は、エスケープして2重(\\)で記述します。
ToolMenu.jsxは、どこに置きますか?
作成したToolMenu.jsxを、C:\Program Files (x86)\Adobe\Adobe ExtendScript Toolkit CC\Required\ のフォルダーに保存します。このフォルダーに配置すると、ESTK起動時にスクリプトが自動読み込みされ、ツールメニューに整形コマンドが追加されます。
整形は、どうやって実行しますか?
ESTKを再起動し、メニューバーから「ツール > 整形」を実行します。現在開いているコードが、自動的にインデント整形されます。
この方法は、macOSでも使えますか?
記事に載っている保存先は、Windowsのパス(C:\Program Files (x86)…)です。macOSでの手順は記事に記載がないため、確認できていません。
