スクリプトエディタ
From Wikipedia, the free encyclopedia
| 開発元 | Apple |
|---|---|
| 最新版 |
2.11
/ 2019年9月17日 |
| 対応OS | Classic Mac OS, macOS |
| 種別 | ソースコードエディタ、実行環境 |
| ライセンス | プロプライエタリ |
| 公式サイト | スクリプトエディタユーザガイド |
スクリプトエディタは、macOS標準搭載の、AppleScriptなどのOSA (Open Scripting Architecture) 言語を記述、実行、保存、簡易デバッグするためのApple製GUIアプリケーションである。OSA言語はmacOSで動くコンピュータ上のGUIアプリケーションの自動化、機能の拡張や再構成のために用意されている機構。
スクリプトエディタは、Classic Mac OSから続いており、現行のmacOSに標準搭載されている。ただし、macOSのバージョンによって呼称が異なる。
- Classic Mac OS:スクリプト編集プログラム
- Mac OS X 10.1〜10.6:スクリプトエディタ
- OS X 10.7〜10.9:AppleScriptエディタ
- OS X 10.10〜:スクリプトエディタ
OS X 10.6までは「アプリケーション」フォルダに入っていたが、OS X 10.7からは「ユーティリティ」フォルダに入っている。
ファイル保存形式
スクリプトエディタが保存可能なファイル形式は、プレーンテキスト形式 (.applescript)、コンパイル(構文確認)ずみスクリプト (.scpt)、スクリプトバンドル (.scptd)、アプレット (.app)。OS X 10.8でAuto Saveに対応したため、構文未確認状態(=中間コードへの変換前)のスクリプトでも保存できるようになった。
バンドル形式のスクリプト (.scptd) を保存すると、バンドル内を直接操作するための編集ペインが表示できるようになり、バンドル内にスクリプトライブラリや各種Cocoa Frameworkの追加/削除/移動が可能になる。また、バンドルIDやバージョン番号などもバンドル形式時にのみ編集可能となる。
記述OSA言語の切り替え
macOSのOSA機構は登場当初の1993年から、アプリケーション操作自動化のためのOSA言語に複数言語をインストールして切り替え運用するスタイルを許容するようになっており、現在ではAppleScriptにくわえてJavaScriptベースのJXA (JavaScript for Automation) が標準搭載されている。これらのOSA言語の切り替えはOSA言語ポップアップメニューで行う。
現行のAppleScriptおよびJXA間、あるいはかつて存在していたShell OSA、Tcl OSA、Ruby OSA、PythonOSA、Perl OSA、JavaScript OSAなども実際にインストールして当時のスクリプトエディタ上で切り替えが可能なことを確認している(これらのOSA言語はOS X 10.7の64ビット化に対応できずに開発が打ち切られた)。
ただし、OSA言語ポップアップで記述言語を切り替えたとしても、記述中のScriptの内容が他のOSA言語に自動で翻訳されることはない。
コード署名
スクリプトエディタでは、スクリプトのアプリケーション書き出し時にコードサインを行うことができる。そのためにはmacOS開発者プログラムに登録して(有償)、証明書をダウンロードし、開発環境にインストールしておく必要がある。ただし、Xcode上でコードサインするのとは異なり、プロダクトごとに個別の証明書をダウンロードする必要はない。アプリケーション開発者ID (Developer ID) を指定すれば、コード署名が行える。
制限事項
Mac OS X 10.2まで、スクリプトエディタはCarbonベースで開発されており、編集可能なスクリプトに32Kバイトの上限が存在していた。Mac OS X 10.3ですべてCocoaベースで書き直されており、この32Kバイトの制限も撤廃された。OS X 10.7で64ビットアプリケーションに書き直され、32ビットOSAXとの互換性が失われた(スクリプトエディタ自体を32ビット起動すれば使えないことはない)。
OSA言語モジュールのインストールや、OSA言語の命令語拡張のためのスクリプティング拡張書類 (OSAX)、Script Librariesなどの管理についてスクリプトエディタは一切関知していない。
スクリプトエディタ上でGUI Scriptingを用いてGUI部品を強制的に操作する記述を行おうとしても、デフォルト時にはスクリプトエディタ自体にその機能にアクセスする許可が出ていない。このため、システム環境設定の「セキュリティとプライバシー」>「プライバシー」の「アクセシビリティ」項目でスクリプトエディタに「コンピュータの制御を許可」する必要がある(初回時のみ)。
拡張方法
スクリプト
スクリプトエディタ自体がOSA言語からコントロール可能な(スクリプタブルな)アプリケーションであり、AppleScriptなどのOSA言語からコントロール可能である。外部スクリプトやOS標準装備のスクリプトメニューからスクリプトを呼び出して、スクリプトエディタ自身を操作できる。
スクリプトアシスタント
スクリプトエディタの編集エリア上でControlキーを押しながらクリック、あるいは複数ボタンが存在しているマウスなどで右クリックすると、コンテクストメニューが表示される。このコンテクストメニューには、特定ディレクトリ (/Library/Scripts) 以下のフォルダ階層構造がそのまま反映され、選択したスクリプトを実行できるようになっている。
スクリプトエディタ上で選択中のテキストに対して処理を行うスクリプトを呼び出せるほか、サードパーティーが提供している強化スクリプトにより、変数名の置換や各種オプションの記述が必要なコマンドの自動記述(choose fileでUTIを指定してファイル選択を行う場合のUTI記述など)を行えるようになる。
プラグイン(macOS 10.14で廃止)
スクリプトエディタ自体にプラグインをインストールすることができるようになっている。過去にいくつかのプラグインが発表されたが、だいたいはのちにmacOSに標準装備されていった。目下、このプラグイン開発用の資料も公開されていないため、ほぼプラグインは存在していない。macOS 10.14のスクリプトエディタでは、環境設定ウィンドウから「プラグイン」のタブが削除された。