Menu

Skip to content
AppleScriptの穴
  • Home
  • Products
  • Books
  • Docs
  • Events
  • Forum
  • About This Blog
  • License
  • 仕事依頼

AppleScriptの穴

Useful & Practical AppleScript archive. Click '★Click Here to Open This Script' Link to download each AppleScript

Wikipediaの「スクリプトエディタ」の項目書き換え

ホーム › フォーラム › AS Hole Forum › Wikipediaの「スクリプトエディタ」の項目書き換え

  • このトピックには2件の返信、1人の参加者があり、最後にTakaaki Naganoyaにより5年前に更新されました。
3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • 2018年8月28日 5:36 PM #4006
    Takaaki 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 #4007
    Takaaki Naganoya
    キーマスター

    構文色分けの機能についての言及がないかも?

    2018年8月29日 11:14 AM #4012
    Takaaki 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専用)。

  • 投稿者
    投稿
3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • このトピックに返信するにはログインが必要です。
ログイン

電子書籍(PDF)をオンラインストアで販売中!

Google Search

Popular posts

  • macOS 13, Ventura(継続更新)
  • アラートダイアログ上にWebViewで3Dコンテンツを表示(WebGL+three.js)v3
  • Xcode 14.2でAppleScript App Templateを復活させる
  • macOS 13 TTS Voice環境に変更
  • UI Browserがgithub上でソース公開され、オープンソースに
  • 2022年に書いた価値あるAppleScript
  • ChatGPTで文章のベクトル化(Embedding)
  • 新発売:AppleScriptからSiriを呼び出そう!
  • iWork 12.2がリリースされた
  • 従来と異なるmacOS 13の性格?
  • 新発売:CotEditor Scripting Book with AppleScript
  • macOS 13対応アップデート:AppleScript実践的テクニック集(1)GUI Scripting
  • AS関連データの取り扱いを容易にする(はずの)privateDataTypeLib
  • macOS 13でNSNotFoundバグふたたび
  • macOS 12.5.1、11.6.8でFinderのselectionでスクリーンショット画像をopenできない問題
  • ChatGPTでchatに対する応答文を取得
  • 新発売:iWork Scripting Book with AppleScript
  • Finderの隠し命令openVirtualLocationが発見される
  • macOS 13.1アップデートでスクリプトエディタの挙動がようやくまともに
  • あのコン過去ログビューワー(暫定版)

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1390) 10.14savvy (586) 10.15savvy (434) 11.0savvy (277) 12.0savvy (185) 13.0savvy (57) CotEditor (60) Finder (47) iTunes (19) Keynote (98) NSAlert (60) NSArray (51) NSBezierPath (18) NSBitmapImageRep (20) NSBundle (20) NSButton (34) NSColor (51) NSDictionary (27) NSFileManager (23) NSFont (18) NSImage (41) NSJSONSerialization (21) NSMutableArray (62) NSMutableDictionary (21) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (117) NSURL (97) NSURLRequest (23) NSUTF8StringEncoding (30) NSView (33) NSWorkspace (20) Numbers (56) Pages (37) Safari (41) Script Editor (20) WKUserContentController (21) WKUserScript (20) WKUserScriptInjectionTimeAtDocumentEnd (18) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • AppleScript Application on Xcode
  • beta
  • Bluetooth
  • Books
  • boolean
  • bounds
  • Bug
  • Calendar
  • call by reference
  • Clipboard
  • Code Sign
  • Color
  • Custom Class
  • dialog
  • drive
  • exif
  • file
  • File path
  • filter
  • folder
  • Font
  • Font
  • GAME
  • geolocation
  • GUI
  • GUI Scripting
  • Hex
  • History
  • How To
  • iCloud
  • Icon
  • Image
  • Input Method
  • Internet
  • iOS App
  • JavaScript
  • JSON
  • JXA
  • Keychain
  • Keychain
  • Language
  • Library
  • list
  • Locale
  • Machine Learning
  • Map
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • PDF
  • Peripheral
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • rectangle
  • recursive call
  • regexp
  • Release
  • Remote Control
  • Require Control-Command-R to run
  • REST API
  • Review
  • RTF
  • Sandbox
  • Screen Saver
  • Script Libraries
  • sdef
  • search
  • Security
  • selection
  • shell script
  • Shortcuts Workflow
  • Sort
  • Sound
  • Spellchecker
  • Spotlight
  • SVG
  • System
  • Tag
  • Telephony
  • Text
  • Text to Speech
  • timezone
  • Tools
  • Update
  • URL
  • UTI
  • Web Contents Control
  • WiFi
  • XML
  • XML-RPC
  • イベント(Event)
  • 未分類

アーカイブ

  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月

https://piyomarusoft.booth.pm/items/301502

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org

Forum Posts

  • 人気のトピック
  • 返信がないトピック

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
Proudly powered by WordPress
Theme: Flint by Star Verte LLC