日記
AreaEditorにしましょう (13:51)Edit

extedit(http://mylog.ishinao.net/id/1177)をご利用のみなさん、AreaEditorに乗り換えましょう。exteditの欠点(ブラウザがロックされる)が解消された完璧なIE外部エディタ連携ソフトですよ。Sleipnirとかから秀丸を開いて、タブを移動しながらテキストを書いて保存とか、ちゃんとできるようになりますよ。

内部的な動きを想像してみると、まずトリガーとしてはexteditと同じくIEから呼び出された際に、呼び出し元IE(Window)オブジェクト(external.menuArguments)をもらって、そこから該当のtextareaオブジェクトを得ているんでしょう。

で、textareaオブジェクトのインスタンスを得たあとは、データディレクトリにtextareaの内容をテキストファイルとして出力し、それを指定されたエディタで開き、ひとまずIEから呼び出されたスレッドは終了してしまう。これでブラウザのロックは解消される。

以降は、先ほど生成したテキストファイルの更新を監視(確かそういうAPIがあったよな)。ファイルが更新されたら、テキストファイルの内容を読んで、textareaオブジェクトの内容を更新する。って感じじゃないかな。

というか、exteditの欠点を解消すべく、そういうものを自分でも作ってみようかと思ったんだけど、

  • 他の言語で、IEのコンテキストメニューハンドラから呼び出されたときに、external.menuArgumentsオブジェクトを得る方法がよくわからん
  • コンテキストメニューから呼び出されたスレッドでは、external.menuArgumentsとかその中身のオブジェクトとかは有効だろうけど、そのスレッドが終了したあとにも、そこで取得したインスタンスは有効なんだろうか?

とかがよくわからなくて放置していたんだよなー。

Published At2004-07-02 00:00Updated At2004-07-02 00:00