【不具合】プラグイン SDK の関数

  1. ks です.
    プラグイン開発中に見つけたいくつかの不具合を報告します.
    ただ現状回避手段もあり特に困っているわけではないので,また気が向いたときにでも見てもらえると助かります.

    ・Editor_Info 関数の MI_GET_ACTIVE_DOC
     常に NULL を返します.
     MI_GET_ACTIVE_INDEX と MI_INDEX_TO_DOC の組み合わせで回避可能.

    ・Editor_GetSelText  のバッファサイズ指定
     第 2 引数に選択文字数以上のサイズを指定すると,選択領域を超えて取得します.
     事前に必ず選択文字数を取得するようにすることで回避可能.

    ・Editor_GetCmdID
     常に 0 を返します.
     プラグインの識別用に使いたかったですが,現状は別の手段で識別用の ID をふっています.

     |  ks  |  返信
  2. こんばんは、ご報告ありがとうございます。
    プラグインを開発する機会がないと気付かない部分なのでとても助かります。

    > ・Editor_Info 関数の MI_GET_ACTIVE_DOC

    すみません、定数は用意していたものの機能を実装するのを忘れていましたorz
    次バージョンでは治っている予定です。

    > ・Editor_GetSelText  のバッファサイズ指定

    おお、、、全然気づきませんでした。
    もはや SelText じゃなくなってますね、、、修正しておきます。

    > ・Editor_GetCmdID
    >  常に 0 を返します.

    アウチ!実装はしているものの全く関係ない値を返していました。
    早速修正しておきます。

    実は最近、プラグインの機能拡張を行っており、SDK の方も少し手を入れています。
    主に文書単位でのアクセスを可能とするメソッドの追加とバグフィックスです。大きな仕様変更はしていませんので自作プラグインもたぶん大丈夫なはず・・・。

     |  Kuro  |  返信
  3. Kuro さん,ご対応ありがとうございます.

    > 実は最近、プラグインの機能拡張を行っており、SDK の方も少し手を入れています。
    これは楽しみですね.
    Emmet LiveStyle 用に本体に手を入れるという話でしたが,その関係でしょうか.

    > 主に文書単位でのアクセスを可能とするメソッドの追加とバグフィックスです。大きな仕様変更はしていませんので自作プラグインもたぶん大丈夫なはず・・・。
    文書単位でのアクセスが可能になるのは,非常に嬉しい機能追加です!
    アクティブなドキュメントが対象なのを知っていればどうと言うことはないですが,プラグインを作り始めた人には若干混乱しやすい部分になりそうなので.

    これを機にプラグイン制作が捗る...捗れば良いんですけど.
    もう少しマトモなプラグインを作らねば(ニッチすぎるプラグインではなく)

     |  ks  |  返信
  4. > Emmet LiveStyle 用に本体に手を入れるという話でしたが,その関係でしょうか.

    まさにその通りです。
    Emmet LiveStyle のためだけというわけではなく、普通に文書単位でのアクセスができた方が良いだろうと思ったのもありますけどね。

    あと、ちょっと本体側に新たな機能 (メニュー) を追加しまして、それに伴い MEID の値を振り直してしまいました。あまり変更したくなかった部分ではありますが、1 つ追加したメニューだけケツに番号振って付け加えるっていうのも気持ち悪くて・・・。もうメニュー追加はやりたくない!

    マクロの ExecuteCommandByID、プラグインの Editor_ExecCommand を使われている場合は修正が必要になりそうです。ごめんなさい。

    さらに ks さんがプラグイン仕様をドキュメント化してくれてたりしていたと思いますがその辺にも影響がありそうで申し訳ないです。

    > これを機にプラグイン制作が捗る...捗れば良いんですけど.
    > もう少しマトモなプラグインを作らねば(ニッチすぎるプラグインではなく)

    Mery のプラグインを開発されている方って ks さんしかいないような・・・w
    ありがたい限りです。

    あと、マクロの構文の方も別のスクリプトをインクルードできるような機能を追加する予定です。今回は結構大幅な改修になりそうです。

     |  Kuro  |  返信