开发VS Code扩展:能否通过API调用命令面板中的命令?
在VS Code扩展中调用命令面板命令的方法
其实不需要专门调用命令面板的API,VS Code提供了直接执行命令的核心API,不管这个命令是不是只在命令面板里显示,只要你知道它的命令ID,就能直接调用。
- 核心API是
vscode.commands.executeCommand,用法很简单:传入命令ID即可,若命令需要参数,在ID后依次传入。 - 示例代码:
// 调用无参数命令(比如打开设置) await vscode.commands.executeCommand('workbench.action.openSettings'); // 调用带参数命令(比如打开特定设置项) await vscode.commands.executeCommand('workbench.action.openSettings', 'editor.fontSize'); - 如何查找目标命令的ID:打开命令面板(Ctrl+Shift+P),输入“Preferences: Open Keyboard Shortcuts (JSON)”,在打开的快捷键配置文件中搜索对应命令名称,就能看到它的ID。
你想要的类似vscode.commandPalette.run的效果,用vscode.commands.executeCommand就能完全实现,这是官方推荐的标准方式。
内容的提问来源于stack exchange,提问作者Ethan
相关产品推荐
相关产品推荐

