我正在扩展VS Code。在package.json
中,例如contributes.menus.view/title
,我可以有when
子句,例如
"menus": {
"view/title": [
{
"command": "lgtm-projects.add",
"when": "view == lgtm-projects",
"group": "navigation"
},
可以正常工作,但是如果我想为命令设置键绑定,"view == ..."
语法由于某种原因总是评估为false,因此我不得不求助于手动设置上下文,例如,
vscode.commands.executeCommand('setContext', 'hasSelectedProject', true);
在extension.ts
中,并像这样编写键绑定的when
子句:
"keybindings": [{
"command": "lgtm-projects.rename",
"key": "f2",
"when": "visibleProjectView"
}]
感觉这里一定有某种只使用"view == ..."
语法的方法,但是由于某种原因,它不起作用。 setContext
的工作方式可行,但由于when
子句的view == ...
语法在其他地方可以工作,因此感觉有点脏。
有什么我想念的吗?