のらてつの雑記帳

VSCode拡張機能開発ノート / 3

9 コメント
views
0 フォロー
3
noratetsu 2023/04/17 (月) 09:07:08 修正 >> 2

コマンドをコマンドパレットから呼び出せるようにする

package.jsonの編集

予めpackage.jsonにコマンドを書いておく必要がある。

{
  // 前後に色々ある

  "contributes": {
    "commands": [
      {
        "command": "hoge.foo",
        "title": "コマンド実行テスト"
      }
    ],

  // 前後に色々ある
}

extension.tsの記述

その上で、extension.tsのactivate関数の中に以下の形で記述。
なおregisterCommand関数とcommandオブジェクトは>> 2で作ったもの。こうするのが一般的というのではない。

export function activate(context: vscode.ExtensionContext) {
  context.subscriptions.push(registerCommand(command.foo));
}

例に普通書かれているのはこうとか↓

context.subscriptions.push(vscode.commands.registerCommand('hoge.foo', () => { console.log('コマンド実行'); }));

こう↓

const command = 'hoge.foo';
const commandHandler = () => { console.log('コマンド実行'); };
context.subscriptions.push(vscode.commands.registerCommand(command, commandHandler));
通報 ...