【发布时间】:2022-07-19 13:04:29
【问题描述】:
我正在编写一个扩展程序,我想知道是否有办法在命令面板中列出属于我的扩展程序的所有命令。
我在状态栏中添加了一个项目,一旦单击该项目,理想情况下应该会在命令面板中列出我的扩展程序中可用的所有命令,类似于单击语言时会显示语言列表。
我能得到的最接近的是:
const statusBar = vscode.window.createStatusBarItem();
statusBar.text = 'Cloudflare';
statusBar.command = 'cloudflareDevTools.commands';
statusBar.show();
let commands = vscode.commands.registerCommand('cloudflareDevTools.commands', () => {
vscode.commands.executeCommand("workbench.action.quickOpen", ">Cloudflare");
});
结果如下:
这样,我基本上是通过提供一个作为扩展名一部分的字符串来过滤命令面板中的命令,它有点工作,因为它显示了我的扩展中的所有命令,但你可以看到它在case 多个扩展名具有相似的名称。
进入设置时也有类似的东西:您可以提供@ext:kenhowardpdx.vscode-gist,这将列出与该特定扩展相关的所有设置。我想要类似的东西,但对于我在 package.json 和 extension.js 中注册的命令。
谢谢!
【问题讨论】:
-
我认为您没有可用于所有命令的一致命令
category,例如Cloudflare:请注意:来分隔您的类别。这似乎行得通。 -
@Mark 谢谢!你是对的
category会让我更接近,我现在就这样做,但肯定任何其他扩展都可能不小心使用相同的类别,把事情搞砸。我想知道是否有一个 API 点可以让我将所有扩展程序的命令提供给 QuickPick,但这暂时可以再次感谢 -
你有没有在你的
package.json中没有的命令?
标签: visual-studio-code vscode-extensions