基本用法
コマンド設定
各コマンドには、id、label、function が必要です:
メニュー設定
menuCommands 配列は、メニュー構造内のコマンドの配置場所を定義します:
path 配列はメニュー階層を指定します。例えば、["ファイル", "エクスポート"] は、「ファイル」メニュー下の「エクスポート」サブメニューにコマンドを追加します。
app.registerExtension({
name: "MyExtension",
// コマンドの定義
commands: [
{
id: "myCommand",
label: "マイコマンド",
function: () => { alert("コマンドが実行されました!"); }
}
],
// コマンドをメニューに追加
menuCommands: [
{
path: ["拡張機能", "マイ拡張機能"],
commands: ["myCommand"]
}
]
});
id、label、function が必要です:
{
id: string, // コマンドの一意の識別子
label: string, // コマンドの表示名
function: () => void // コマンドがトリガーされたときに実行される関数
}
menuCommands 配列は、メニュー構造内のコマンドの配置場所を定義します:
{
path: string[], // メニュー階層を表す配列
commands: string[] // この場所に追加するコマンド ID の配列
}
path 配列はメニュー階層を指定します。例えば、["ファイル", "エクスポート"] は、「ファイル」メニュー下の「エクスポート」サブメニューにコマンドを追加します。
app.registerExtension({
name: "MenuExamples",
commands: [
{
id: "saveAsImage",
label: "画像として保存",
function: () => {
// キャンバスを画像として保存するコード
}
},
{
id: "exportWorkflow",
label: "ワークフローをエクスポート",
function: () => {
// ワークフローをエクスポートするコード
}
}
],
menuCommands: [
// ファイルメニューに追加
{
path: ["ファイル"],
commands: ["saveAsImage", "exportWorkflow"]
}
]
});
app.registerExtension({
name: "SubmenuExample",
commands: [
{
id: "option1",
label: "オプション 1",
function: () => { console.log("オプション 1"); }
},
{
id: "option2",
label: "オプション 2",
function: () => { console.log("オプション 2"); }
},
{
id: "suboption1",
label: "サブオプション 1",
function: () => { console.log("サブオプション 1"); }
}
],
menuCommands: [
// ネストされたメニュー構造を作成
{
path: ["拡張機能", "マイツール"],
commands: ["option1", "option2"]
},
{
path: ["拡張機能", "マイツール", "詳細"],
commands: ["suboption1"]
}
]
});
app.registerExtension({
name: "MultiLocationExample",
commands: [
{
id: "helpCommand",
label: "ヘルプを取得",
function: () => { window.open("https://docs.example.com", "_blank"); }
}
],
menuCommands: [
// ヘルプメニューに追加
{
path: ["ヘルプ"],
commands: ["helpCommand"]
},
// 拡張機能メニューにも追加
{
path: ["拡張機能"],
commands: ["helpCommand"]
}
]
});