ホーム › フォーラム › AS Hole Forum › Wikipediaの「スクリプトエディタ」の項目書き換え
- このトピックには2件の返信、1人の参加者があり、最後にTakaaki Naganoyaにより5年前に更新されました。
-
投稿者投稿
-
2018年8月28日 5:36 PM #4006Takaaki Naganoyaキーマスター
400%内容がまちがっているWikipediaの「スクリプトエディタ」の項目の書き換え案です。
————————————————————————
スクリプトエディタは、macOS標準搭載の、AppleScriptなどのOSAベースのスクリプト言語を記述、実行、保存、簡易デバッグ、対応アプリケーションの用語辞書のブラウジングを行うためのアプリケーション。
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からは「ユーティリティ」フォルダに入っている。制限事項
Classic Mac OS〜Mac OS X 10.2の間、スクリプトエディタはCarbonベースで開発されており、編集可能なスクリプトに32Kバイトの上限が存在していた。Mac OS X 10.3ですべてCocoaベースで書き直されており、この32Kバイトの制限も撤廃された。OS X 10.7で64ビットアプリケーションに書き直された。OSA言語モジュールのインストールや、OSA言語の命令語拡張のためのスクリプティング拡張書類(OSAX)、Script Librariesなどの管理についてスクリプトエディタは一切関知していない。
保存形式
スクリプトエディタが保存可能なファイル形式は、プレーンテキスト形式(.applescript)、コンパイル(構文確認)ずみスクリプト(.scpt)、スクリプトバンドル(.scptd)、アプレット(.app)。OS X 10.8でAuto Saveに対応したため、構文未確認状態のスクリプトでも保存できるようになった。バンドル形式のスクリプト(.scptd)を保存すると、バンドル内を直接操作するための編集ペインが表示できるようになり、バンドル内にスクリプトライブラリや各種Cocoa Frameworkの追加/削除/移動が可能になる。また、Bundle IDやバージョン番号などもバンドル形式時にのみ編集可能。
記述OSA言語の切り替え
macOSのOSA(Open Scripting Architecture)は登場当初の1993年から、アプリケーション操作自動化のためのOSA言語に複数の言語の存在を許容するようになっており、現在ではAppleScriptとJavaScriptベースのJXA(JavaScript for Automation)が標準搭載されている。これらのOSA言語の切り替えはOSA言語ポップアップから選択するようになっている。ただし、OSA言語ポップアップで記述言語を切り替えたとしても、記述中のScriptの内容が他のOSA言語に自動で翻訳されることはない。
コードサイン
スクリプトエディタでは、スクリプトのアプリケーション書き出し時にコードサインを行うことができる。ただし、そのためにはmacOS開発者プログラムに登録して(有償)、コード証明書をダウンロードし、開発環境にインストールしておく必要がある。拡張方法
(1)スクリプト
スクリプトエディタ自体がOSA言語からコントロール可能な(スクリプタブルな)アプリケーションであり、AppleScriptなどのOSA言語からコントロール可能である。外部スクリプトやOS標準装備のスクリプトメニューからスクリプトを呼び出して、スクリプトエディタを操作可能。(2)スクリプトアシスタント
スクリプトエディタの編集エリア上でControlキーを押しながらクリック、あるいは複数ボタンが存在しているマウスなどで右クリックすると、コンテクストメニューが表示される。このコンテクストメニューには、特定ディレクトリ以下のフォルダ階層構造がそのまま反映され、選択したスクリプトを実行できるようになっている。選択中のテキストに対して処理を行う補助スクリプトを呼び出せるほか、サードパーティが提供している強化スクリプトにより、変数名の置換や各種オプションの記述が必要なコマンドの自動記述(choose fileでUTIを指定してファイル選択を行う場合のUTI記述など)を行える。
(3)プラグイン
スクリプトエディタ自体にプラグインをインストールすることができるようになっている。過去にいくつかのプラグインが発表されたが、だいたいはOSに標準機能として搭載されるようになった。開発用の資料も公開されていないため、ほぼプラグインは存在していない。特殊機能
(1)「フォアグラウンドで実行」機能
Controlキーを押しながら「スクリプト」メニューをクリックすると、「実行」コマンドが「フォアグラウンドで実行」コマンドに表示変更される。本機能は、スクリプト内でCocoaの機能を呼び出したときに、NSWindowやWebViewなどのメインスレッドで呼び出す必要のあるクラスの操作に備えたもの。これらのクラスを用いている場合に、普通の実行コマンドを操作しただけではエラーになったり、スクリプトエディタがクラッシュしたりする。(2)「記録」機能
アプリケーションの操作を「記録」(レコーディング)できる機能。ただし、OSA言語による操作に対応していて、そのうえで「記録」に対応しているアプリケーションの動作しか記録できない。対応アプリケーションも少なく、記録されている内容を読んでも理解しやすい内容になっているわけではないので、メーカーからも非推奨の機能になっている。有名な対応アプリケーションには、FinderやBare Bones SoftwareのBBEditがある。2018年8月28日 5:40 PM #4007Takaaki Naganoyaキーマスター構文色分けの機能についての言及がないかも?
2018年8月29日 11:14 AM #4012Takaaki Naganoyaキーマスターこんな感じかな。
スクリプトエディタは、macOS標準搭載の、AppleScriptなどのOSA(Open Scripting Architecture)ベースのスクリプト言語を記述、実行、保存、簡易デバッグ、対応アプリケーションの用語辞書のブラウジングを行うためのアプリケーション。
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からは「ユーティリティ」フォルダに入っている。制限事項
Classic Mac OS〜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などの管理についてスクリプトエディタは一切関知していない。
保存形式
スクリプトエディタが保存可能なファイル形式は、プレーンテキスト形式(.applescript)、コンパイル(構文確認)ずみスクリプト(.scpt)、スクリプトバンドル(.scptd)、アプレット(.app)。OS X 10.8でAuto Saveに対応したため、構文未確認状態のスクリプトでも保存できるようになった。バンドル形式のスクリプト(.scptd)を保存すると、バンドル内を直接操作するための編集ペインが表示できるようになり、バンドル内にスクリプトライブラリや各種Cocoa Frameworkの追加/削除/移動が可能になる。また、Bundle IDやバージョン番号などもバンドル形式時にのみ編集可能。
記述OSA言語の切り替え
macOSのOSA機構は登場当初の1993年から、アプリケーション操作自動化のためのOSA言語に複数言語をインストールして切り替え運用するスタイルを許容するようになっており、現在ではAppleScriptとJavaScriptベースのJXA(JavaScript for Automation)が標準搭載されている。これらのOSA言語の切り替えはOSA言語ポップアップから選択するようになっている。かつて存在していたshell OSA、Tcl OSA、Perl OSA、JavaScript OSAなども実際にインストールして当時のスクリプトエディタ上で切り替えが可能なことを確認している(これらのOSA言語はOS X 10.7の64ビット化に対応できずに消えた)。
ただし、OSA言語ポップアップで記述言語を切り替えたとしても、記述中のScriptの内容が他のOSA言語に自動で翻訳されることはない。
コードサイン
スクリプトエディタでは、スクリプトのアプリケーション書き出し時にコードサインを行うことができる。ただし、そのためにはmacOS開発者プログラムに登録して(有償)、コード証明書をダウンロードし、開発環境にインストールしておく必要がある。拡張方法
(1)スクリプト
スクリプトエディタ自体がOSA言語からコントロール可能な(スクリプタブルな)アプリケーションであり、AppleScriptなどのOSA言語からコントロール可能である。外部スクリプトやOS標準装備のスクリプトメニューからスクリプトを呼び出して、スクリプトエディタを操作可能。(2)スクリプトアシスタント
スクリプトエディタの編集エリア上でControlキーを押しながらクリック、あるいは複数ボタンが存在しているマウスなどで右クリックすると、コンテクストメニューが表示される。このコンテクストメニューには、特定ディレクトリ以下のフォルダ階層構造がそのまま反映され、選択したスクリプトを実行できるようになっている。選択中のテキストに対して処理を行う補助スクリプトを呼び出せるほか、サードパーティが提供している強化スクリプトにより、変数名の置換や各種オプションの記述が必要なコマンドの自動記述(choose fileでUTIを指定してファイル選択を行う場合のUTI記述など)を行える。
(3)プラグイン
スクリプトエディタ自体にプラグインをインストールすることができるようになっている。過去にいくつかのプラグインが発表されたが、だいたいはOSに標準機能として搭載されるようになった。開発用の資料も公開されていないため、ほぼプラグインは存在していない。特殊機能
(1)「フォアグラウンドで実行」機能
Controlキーを押しながら「スクリプト」メニューをクリックすると、「実行」コマンドが「フォアグラウンドで実行」コマンドに表示変更される。本機能は、スクリプト内でCocoaの機能を呼び出したときに、NSWindowやWebViewなどのメインスレッドで呼び出す必要のあるクラスの操作に備えたもの。これらのクラスを用いている場合に、普通の実行コマンドを操作しただけではエラーになったり、スクリプトエディタがクラッシュしたりする。(2)「記録」機能
アプリケーションの操作を「記録」(レコーディング)できる機能。ただし、OSA言語による操作に対応していて、そのうえで「記録」に対応しているアプリケーションの動作しか記録できない。対応アプリケーションも少なく、記録されている内容を読んでも理解しやすい内容になっているわけではないので、メーカーからも非推奨の機能になっている。有名な対応アプリケーションには、FinderやBare Bones SoftwareのBBEditがある。(3)構文色分け設定機能
OSA言語ごとに構文色分けを設定できるようになっている。ユーザーは自分の好みの構文色分けを定義することで、スクリプトをより読みやすくすることができる。とくにAppleScriptにおいては「return return」(サブルーチンから返り値として改行コードを返す)といった記述もできるため、構文要素ごとに色分けされていないと可読性が著しく低下する(AppleがOS出荷時にデフォルトで設定している構文色分け内容は、お世辞にも見やすいものではない)。(4)簡易デバッグ機能
スクリプトエディタには、アプリケーションからの返り値などを確認するために、簡易ログ表示機能が用意されている。アプリケーションからの応答内容などを確認するのが主な用途であるため、変数のリアルタイム監視やブレークポイントの設定などの機能は持たない。AppleScript内蔵のlogコマンドでこのログへの変数や定数の内容表示でき、こちらが主に利用されている。スクリプトエディタのデバッグ機能はあくまで簡易版であるため、変数のリアルタイム監視やブレークポイントの設定、ステップ実行などのデバッガーの機能についてはサードパーティのアプリケーション「Script Debugger」の導入を検討すべきである(同デバッガはAppleScript専用)。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。