背景:
我目前正在开发一个简单的 VS Code 扩展,它将为我的构建和调试任务提供动态设置的命令变量。计划是创建一系列属性,通过 "${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的命令面板中?
package.json
中注册一个命令才能调用它。"when": "false"
主要用于在 UI/按钮中使用的命令,但不应该在命令面板中显示。在这种情况下,您还需要设置"title"
和"icon"
。我会使用这些信息更新我的答案。 - Gama11registerCommand
/registerTextEditorCommand
注册一个在"menus":
中的命令,但未在 package.json 中添加到"commands":
中时,我会收到一个菜单项引用了 '命令名称' 命令,该命令在 'commands' 部分中未定义
的错误提示。 - user3064538