拡張ポイントの定義¶
概要¶
エクステンションによる次の拡張ポイントをマニフェストに定義します。
- リボン
- イベント
- コマンド
リファレンス
- 拡張ポイントの詳細については、マニフェストガイド > 拡張ポイント定義 > 概要を参照してください。
Tip
- マニフェスト編集に役立つ JSON スキーマ定義を ダウンロード > JSON スキーマ定義 からダウンロードできます。
実装例¶
ここではエクステンションの機能を実行するボタン1つを定義したシンプルな拡張ポイントの実装例を示します。
extensionPoints
セクションにリボンの構成を表すribbon
と実行コマンドを表すcommands
を定義します。- リボンには、リボンを構成するタブとグループとボタンなどのコントロールを定義します。
- ボタンには実行するコマンドを割り当てます。
この例では
extensionPoints.ribbon.tabs[0].groups[0].controls[0].command
プロパティに、後で定義するコマンドの IDCommand.SayHello
を指定しています。
- コマンドには、実行コマンドの ID とタイトルとコマンドハンドラの関数名を定義します。
この例では
extensionPoints.commands
プロパティに1つ目の実行コマンドとして IDCommand.SayHello
のコマンドを定義しています。
extensionPoints.commands[0].execFunc
プロパティのSayHello
という名前が、エントリーポイントの実行プログラムmain.cs
に実装されるコマンドハンドラの関数名です。
manifest.json
{
// エクステンション定義
"name": "HelloWorld",
"main": "main.cs",
"lifecycle": "application",
// 拡張ポイント定義
"extensionPoints": {
// リボン
"ribbon": {
"tabs": [
// リボンタブ
{
"id": "HelloWorld.MainTab",
"label": "HelloWorld",
"orderBefore": "System.View",
"groups": [
// リボンタブ内のグループ
{
"id": "HelloWorld.FirstGroup",
"label": "グループ1",
"controls": [
// ボタン
{
"id": "HelloWorld.SayHelloButton",
"type": "Button",
"label": "Say Hello",
"imageLarge": "images/About.png",
"command": "Command.SayHello"
}
]
}
]
}
]
},
// コマンド
"commands": [
{
"id": "Command.SayHello",
"execFunc": "SayHello"
}
]
}
}