コマンドをコマンドパレットから呼び出せるようにする
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));
通報 ...