[VS Code 拡張機能開発] 拡張機能のコマンドIDを調べる方法
November 17, 2020
VS Code の拡張機能開発では、executeCommand
API1 を利用すると、指定したコマンド ID のコマンドを呼び出すことができます。
次のコードは、任意のフォルダを新しいウインドウで開く実装の例です。
import * as vscode from "vscode";
...
vscode.commands.executeCommand("vscode.openFolder", folderUrl, true);
開発中の拡張機能から他の拡張機能の機能を使いたい場合に便利な API です。
API を利用する際コマンド ID を調べる必要があるので、
今回はその方法を紹介します。
現状、私が把握している方法は次の2つです。
- 公式サイトで調べる
- Keybord Shortcuts で調べる
公式サイトで調べる
こちらに、コマンド(Built-in Commands)の仕様があります。その仕様中にコマンド ID が記載されています2。
例えば、openFolder の仕様は次のように記載されています。
Keybord Shortcuts
Keybord Shortcuts からもコマンド ID が調べられます。 ただし、コマンドに渡せる引数はわからないので、 ソースコードを見るなりして、自身で調べる必要があります。
調べる手順は次の通りです。
Keybord Shortcuts を開きます。(下図は Mac の場合です。)
任意のコマンドを選択して、右クリックをしてコンテキストメニューを開きます。コンテキストメニュー中の、「Copy Command ID」を選択するとクリップボードにコマンド ID がコピーできています。
今回は、VS Code 拡張機能のコマンド ID の調べ方について紹介しました。
- https://code.visualstudio.com/api/extension-guides/command#programmatically-executing-a-command↩
- ただし、自分が利用したいコマンドのコマンド ID が載っていない場合があります。↩