背景:
我目前正在开发一个简单的VS Code扩展,它将为我的构建和调试任务提供动态设置的command variables。该计划将具有一系列属性,这些属性将通过"${command:extension.myCommand}"
语法在launch.json等中访问。
注册这样的命令就像将一个条目添加到package.json文件一样简单,例如:
"contributes": {
"commands": [
{
"command": "extension.myCommand",
"title": ""
}
]
}
并在我的主扩展文件中实现相应的命令:
let disposable = vscode.commands.registerCommand('extension.myCommand', () => {
return "dynvar";
});
context.subscriptions.push(disposable);
问题:
不幸的是,这些命令现在也出现在命令面板中,并且由于它们没有任何交互性,这很烦人。
问题:
有什么方法可以隐藏VS Code的命令面板中通过扩展贡献的命令吗?
答案 0 :(得分:1)
如果您不需要将"icon"
或"title"
与您的命令相关联,则只需从"commands"
中省略它-此处未列出的命令仍可以调用,只要它们已经通过vscode.commands
进行了注册。
否则,您可以使用以下技巧从命令面板中将其隐藏:
"contributes": {
"menus": {
"commandPalette": [
{
"command": "extension.myCommand",
"when": "false"
}
]
}
}
答案 1 :(得分:0)
"contributes": {
"commands": [
{
"command": "extension.myHiddenCommand",
"title": "Compile folder"
}
],
"menus": {
"commandPalette": [
{
"command": "extension.myHiddenCommand",
"when": "false"
}
]
}
}