WSHを使ったプラグイン機能の土台を作りました。
プラグインの方式はFirefoxやEclipseのように、
プログラム+メタ情報を一つのフォルダに格納する形式
です。
このパッチではプログラムの部分がJScriptやVBScriptになり
ます。
たぶん実例を見たほうが早いので、Rubyのアウトライン
析
プラグインを添付します。
今のところアウトライン解析しかプラグできません。
DLLではなくWSHを選んだのは、WSHのほうが簡単だし
すそ野が広そうだというのと、今までのEditorオブジェク
トを
そのまま利用できるためです。いちおう、CPluginを継承
て
CDllPluginを作ってやればDLLにも対応できるんじゃないか
思っていますが、DLLにあまり詳しくないので何とも…
今後の課題として私のほうで把握してるのは、
・エディタウィンドウを開くたびにプラグインをロード
してるので遅い。
ControlProcessで1回だけ読み込むようにしたい。
・DLLプラグイン対応。DLLからEditorオブジェクトを呼べる
の?
・少なくとも自動インデント機能はプラグ可能にしたい
。
・設定画面との矛盾とか、似たようなプラグインの競合
とか、
細かい部分のつじつま合わせ。
Nobody/Anonymous
None
None
Public
|
Date: 2009-12-06 16:46 まず謝らなければいけないのは、今まで何個かパッチをアップロードしましたが、ファイルに抜けがあり、おそらくコンパイルも通っていなかったであろうことに、今さら気付きました。大変失礼いたしました。 |
|
Date: 2009-12-01 15:38 2週間ほど経ちますがあんまり進んでいません。 |
|
Date: 2009-11-15 14:31 横やりをはさむだなんてとんでもない。自分と違う考え方を聞いてはじめて気付かされることも多々あるので、とても助かっています^^ |
|
Date: 2009-11-12 22:52 理由も聞かずに不要だと断定したのは間違いでした。すみません。順調に開発が進んでいる中、横やりをはさむばかりで心苦しいのですが、自由にプラグインを作成して公開してもらうことを考えると、作者やプラグインを一カ所でシリアライズするよりは |
|
Date: 2009-11-07 09:02 作者IDの理由ですが、将来プラグインが順調に受け入れられていけば、有志の方が自作プラグインをWebで公開してくれることを期待しています。仮にプラグインの識別をIDで行うとすると、重複しないようにどこか(たとえばWiki)で払い出しをすると思いますが、プラグイン一個作るたびにID払い出しを待つのは面倒くさいので、作者IDだけ登録すれば、下位のプラグインID(例えば2ケタで01~99)は作者が好きに決めることができて便利だろうと思いました。まあ、それは運用の話で、5桁の数字で重複しないように乱数生成するでもいいんですけどね。 |
|
Date: 2009-11-04 16:33 すべて承知しています。 |
|
Date: 2009-11-04 12:39 文字列と数字を混在させるのはやめた方がよいと思います。名前が1というプラグインがあったときに組み込みかプラグインかの区別ができません。組み込みルールも文字列にするのはアリですが。 |
|
Date: 2009-11-01 17:56 自分の考えを押しつけるつもりで食い下がるのではありませんが、微妙に伝わっていないようなので。1、2、3、と保存しているところに |
|
Date: 2009-11-01 15:50 選択肢の追加はAddOutlineMethodというマクロ関数を追加して、EditorStartイベント内で呼び出すようにしました。Extensionは廃止の方向で。まだアウトライン解析の呼び側ができていないのでアップしません。 |
|
Date: 2009-10-31 18:41 技術的な点に関してだけいえば、名前ベースでいいんじゃないかと思っています。あるプラグインが「Ruby」や「Ruby(hogeプラグイン)」というアウトライン解析を提供する、というように。名前が同じならどのプラグインがその解析方法を提供していても気にする必要はないと思います。 |
|
Date: 2009-10-31 16:00 ds14050さん、コメントありがとうございます。 |
|
Date: 2009-10-31 08:33 プラグインの必須情報として「Extension=rb」というのがあります。プラグイン側が適合するファイルを規定するのではなく、タイプ別設定の「アウトライン解析方法」にプラグイン定義の選択肢を追加して、エディタ使用者が選択できるようにするのではいけないですか? |
| Filename | Description | Download |
|---|---|---|
| プラグインサンプル集.zip | サンプル詰め合わせ(Rubyアウトライン・Rubyインデント・DLLサンプル) | Download |
| ツールバーアイコン.zip | 下から2行目の右端にプラグインコマンド用アイコンを追加 | Download |
| WSH_Plugin_U4.patch | パッチ4。共通設定のプラグインタブ。DLLプラグイン(仮) | Download |
| WSH_Plugin_U1.patch | パッチ。インタフェースオブジェクト複数化。WSHプラグイン機能。 | Download |
| RubyOutline.zip | Rubyアウトラインプラグイン。sakura.iniのあるフォルダに plugins フォルダを作成し、その中に解凍する。 | Download |
| プラグイン仕様_20091029.txt | 説明書。 | Download |
| WSH_Plugin_U2.patch | パッチ2。アウトライン解析を選択肢から選べるように。コマンド追加機能。 | Download |
| RubyOutline2.zip | Rubyアウトラインプラグイン。パッチ2対応版。 | Download |
| WSH_Plugin_U3.patch | パッチ3。スマートインデント機能をプラグ可能に。追加コマンドをツールバー・メニューに登録可能に。 | Download |
| RubyIndent.zip | Rubyインデントプラグイン。 | Download |
| プラグイン仕様_20091115.txt | 説明書。 | Download |
| Field | Old Value | Date | By |
|---|---|---|---|
| File Added | 354100: プラグインサンプル集.zip | 2009-12-06 16:13 | syat |
| File Added | 354099: ツールバーアイコン.zip | 2009-12-06 16:08 | syat |
| File Added | 354097: WSH_Plugin_U4.patch | 2009-12-06 16:04 | syat |
| File Added | 350948: プラグイン仕様_20091115.txt | 2009-11-15 13:04 | syat |
| File Added | 350947: RubyIndent.zip | 2009-11-15 13:04 | syat |
| File Added | 350946: WSH_Plugin_U3.patch | 2009-11-15 13:03 | syat |
| File Added | 349879: RubyOutline2.zip | 2009-11-07 07:57 | syat |
| File Added | 349878: WSH_Plugin_U2.patch | 2009-11-07 07:56 | syat |
| File Added | 348942: プラグイン仕様_20091029.txt | 2009-10-31 02:57 | syat |
| File Added | 348940: RubyOutline.zip | 2009-10-31 02:54 | syat |
| File Added | 348938: WSH_Plugin_U1.patch | 2009-10-31 02:31 | syat |
Copyright © 2010 Geeknet, Inc. All rights reserved. Terms of Use