VSCode
VisualStudioCode

VSCode拡張機能開発でコンテキストメニューを使う

VSCode拡張機能開発でコンテキストメニューを使う方法

package.jsonのcontributesに以下の要素を追加

"menus": {
    "editor/context": [{
        "when": "editorHasSelection",
        "command": "extension.Command",
        "group": "myGroup@1"
    }]
}

解説

menuはメニューに関する情報を表現する辞書です。menu内のeditor/contextは、エディタ上で右クリックをした時に表示されるコンテキストメニューを表しており、他にはエクスプローラー上でのコンテキストメニューを表すexplorer/contextや、エディタのタイトルメニューバーを表すeditor/titleなどがあります。whenでどのようなタイミングでのコンテキストメニューに機能を追加するか制御できます。このjsonの場合、editorHasSelectionなので、何かを選択している状態で右クリックをした時、追加した機能を実行するアイテムが追加されます。

参考

https://code.visualstudio.com/docs/extensionAPI/extension-points