2011/08/07

Windows Live Writer プラグインのつくりかた

  1. .NET Framework クラスライブラリを作成し、ターゲットフレームワークを .NET Framework 2.0 に設定する
  2. Writer のインストールフォルダにある WindowsLive.Writer.Api.dll を参照設定に追加する
  3. WindowsLive.Writer.Api.ContentSource クラスを継承したクラスを適当に作る
  4. WindowsLive.Writer.Api.WriterPluginAttribute を作成したクラスに設定する
    1. id には適当な GUID を設定する(ブラケットは含まない)
    2. name にはプラグイン名を設定する
    3. プラグイン名の横にアイコンを設定したい場合は ImagePath で指定する
  5. WindowsLive.Writer.Api.InsertableContentSourceAttribute を作成したクラスに設定する
    1. menuText にメニューに表示されるテキストを設定する
  6. ContentSource.CreateContent メソッドをオーバーライドして実装する
    1. 範囲選択されている場合、content にはそのコードが格納されている
    2. 挿入したいコードを content に代入する
    3. DialogResult.OK を返すとコンテンツが作成され、DialogResult.Cancel を返すと操作がキャンセルされる
  7. Writer のインストールフォルダにある Plugins フォルダにビルドした DLL をコピーすれば自動で認識される(レジストリを使って、別の場所にあるプラグインを認識させることもできる。→MSDN))
  8. おつかれさまでした

コード例:

[WriterPlugin("B6854B3A-2CB1-4932-8458-372F34D91268", "VSHighlight")]
[InsertableContentSource("VSHighlight")]
public class VSHighlight : ContentSource
{
    public override DialogResult CreateContent(IWin32Window dialogOwner, ref string content)
    {
        var clipboard = GetRTFFromClipboard();
        if (clipboard != string.Empty)
        {
            content = Rtf2Html(clipboard);
            return DialogResult.OK;
        }
        else
        {
            return DialogResult.Cancel;
        }
    }

0 件のコメント:

コメントを投稿