【发布时间】:2017-03-10 03:50:45
【问题描述】:
Vscode 扩展仅在满足某些条件时才被激活。 (基于activationEvents)。
在我的扩展中,我想添加一个菜单贡献。问题是,如果扩展程序未激活,单击按钮将触发错误。所以理想情况下,它只有在扩展程序处于活动状态时才可见。
我怎样才能做到这一点? when-clause 似乎太有限了。
"activationEvents": [
"workspaceContains:server"
],
"contributes": {
"commands": [
{
"command": "extension.displayHelp",
"title": "RCE Help"
}
],
"menus": {
"editor/title": [{
"when": "resourceLangId != markdown",
"command": "extension.displayHelp",
"group": "navigation"
}]
},
}
编辑:
原来在activationEvents 作品中添加了onCommand。
尽管 Vscode 在错误消息中声明未找到该命令,但它确实找到了它并决定不触发它。
"activationEvents": [
"onCommand:extension.displayHelp",
"workspaceContains:server",
],
但是,如果扩展程序未激活,我仍然希望完全隐藏菜单贡献。
【问题讨论】:
-
我有同样的问题,但我不想将 onCommand 添加到activationEvents。如果我的激活事件不匹配,命令将失败(缺少配置信息)。最好不要显示非活动扩展的贡献或至少有选项。
标签: visual-studio-code vscode-extensions