コツコツと

[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つです。

  1. 公式サイトで調べる
  2. Keybord Shortcuts で調べる
公式サイトで調べる

こちらに、コマンド(Built-in Commands)の仕様があります。その仕様中にコマンド ID が記載されています2

例えば、openFolder の仕様は次のように記載されています。

Keybord Shortcuts

Keybord Shortcuts

Keybord Shortcuts からもコマンド ID が調べられます。 ただし、コマンドに渡せる引数はわからないので、 ソースコードを見るなりして、自身で調べる必要があります。

調べる手順は次の通りです。

Keybord Shortcuts を開きます。(下図は Mac の場合です。)

Keybord Shortcuts

任意のコマンドを選択して、右クリックをしてコンテキストメニューを開きます。コンテキストメニュー中の、「Copy Command ID」を選択するとクリップボードにコマンド ID がコピーできています。

Copy Command ID


今回は、VS Code 拡張機能のコマンド ID の調べ方について紹介しました。


  1. https://code.visualstudio.com/api/extension-guides/command#programmatically-executing-a-command
  2. ただし、自分が利用したいコマンドのコマンド ID が載っていない場合があります。

© 2020 jiri3