ハルの総合コマンドエディタでプラグインを開発する方法 その1
今回は私、ハルが作成しているハルの総合コマンドエディタに自作のプラグインを開発し追加する方法を簡単にご説明したいと思います。
開発環境
IDE:Visual Studio 2017 Community
開発言語:C#
まずはVisual Studio(以下VS)のファイル→新規作成から、クラスライブラリ(.NET Framework)を選択する。

プラグインの名前を入れて、OKを押す。

おそらく右側にあるソリューションエクスプローラーから、参照を右クリックし、参照の追加を選択。
表示された参照マネージャーの、参照ボタンを押して、ハルの総合コマンドエディタのdllフォルダに存在する、HaruPlugin.dllを選択する

public class Class1の後ろに、: HaruPlugin.IPluginと追記
namespace テストプラグイン
{
public class Class1 : HaruPlugin.IPlugin
{
}
}
HaruPlugin.IPluginが赤くなっているので、そこにカーソルを持っていくと、考えられる修正内容を表示すると表示されるので、それをクリック。
2つ候補が表示されると思いますが、今回はインターフェースを実装します。をクリック
するとこんなコードが表示されると思います。
using System;
using HaruPlugin;
namespace テストプラグイン
{
public class Class1 : HaruPlugin.IPlugin
{
public string Name => throw new NotImplementedException();
public string Description => throw new NotImplementedException();
public IPluginHost Host { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
public bool AutoRun => throw new NotImplementedException();
public void Run()
{
throw new NotImplementedException();
}
}
}
このコードを、以下をサンプルにして書き換えてください。
namespaceやClass1などはご自分の作成したときのままで
特にprivate IPluginHost _host;と、public IPluginHost Host { get => _host; set => _host = value; }はこのまま書き写しちゃっていいです。
名前とか説明は自分のオリジナルで
using HaruPlugin;
namespace テストプラグイン
{
public class Class1 : HaruPlugin.IPlugin
{
//ハルの総合コマンドエディタから受け取ったデータを格納しておく変数
private IPluginHost _host;
//ここがプラグインの名前
public string Name => "テストプラグイン";
//ここがプラグインの説明
public string Description => "プラグインの説明テスト";
//ここがハルの総合コマンドエディタからフォームなどの情報を受け取るために必要な文
public IPluginHost Host { get => _host; set => _host = value; }
//ハルの総合コマンドエディタ起動時に自動で実行されるかどうか
public bool AutoRun => false;
//プラグインが選択されたときに実行される処理
public void Run()
{
}
}
}
できたら、VSのタブからビルドタブを選択し、ソリューションのビルドを選択しましょう。
問題なくできた場合、VSの左下にビルド正常終了と表示されます。
ビルドできたら、デフォルトでは“C:\Users\ユーザー名\Documents\Visual Studio 2017\Projects\プロジェクト名\プロジェクト名\bin\Debug\プラグイン名.dll”
にできたプラグインがあるはずなので、それをハルの総合コマンドエディタのpluginsフォルダに格納します。
あとはハルの総合コマンドエディタのプラグインタブをクリックし、ちゃんとプラグイン名が表示されていたら、とりあえずプラグイン完成。

もちろんこのままでは何もクリックしても起きません。
処理を入れていきたい場合は、Run(){}の中にコードを書いていきましょう。
尚、作成していただいたプラグインは
ハルの総合コマンドエディタ専用アップローダー
で公開することもできます。
よろしければご利用ください。
以上、お疲れさまでした。
次回 ハルの総合コマンドエディタでプラグインを開発する方法 その2
