スクリプトによるハンドラの実装
概要
マニフェストに拡張ポイントとして定義したコマンドやイベントに対して、それらの処理を実装します。 それらの処理を実装した関数を コマンドハンドラ 、 イベントハンドラ と呼びます。 それらのハンドラはマニフェストでエントリーポイントに指定したスクリプトファイルに実装します。
実装例
マニフェストで次のようなコマンドが定義されている場合について、コマンドハンドラの実装例を示します。
マニフェストのコマンド定義例
manifest.json
"extensionPoints": {
"commands": [
{
"id": "Command.SayHello",
"execFunc": "SayHello"
}
],
...
}
上記コマンド定義例の場合、extensionPoints.commands[0].execFunc プロパティに指定されている SayHello という名前のコマンドハンドラを、エントリーポイントのスクリプトファイルに公開関数として実装します。
スクリプトファイルでのコマンドハンドラの実装例
- C#
- Python
main.cs
// コマンドハンドラ
public void SayHello(ICommandContext context,ICommandParams commandParams)
{
App.Window.UI.ShowInformationDialog("Hello !","Hello World");
}
main.py
def say_hello(context, commandParams):
context.App.Window.UI.ShowInformationDialog("Hello !", "Hello World")
- スクリプトで利用できるグローバルオブジェクトの詳細については、グローバルオブジェクトを参照してください。
コマンドハンドラに渡される引数の詳細については、次のリファレンスを参照してください。
重要
- C# の場合、ハンドラは公開関数として実装する必要があります。
- Python の場合、ハンドラはトップレベルの関数として定義します。
- すべてのハンドラはエントリーポイントに指定したスクリプトファイルに実装する必要があります。