VSCode如何限制Git暂存/取消暂存快捷键仅在源码控制菜单生效?
解决方案
你需要用activeViewlet == 'workbench.view.scm'作为when条件,这个条件会严格判断当前激活的视图面板是否是源代码控制(SCM)面板,只有当你通过Ctrl+Shift+G打开并聚焦该面板时,快捷键才会生效。
修改后的配置如下:
{ "key": "ctrl+shift+up", "command": "git.stageAll", "when": "activeViewlet == 'workbench.view.scm'" }, { "key": "ctrl+shift+down", "command": "git.unstageAll", "when": "activeViewlet == 'workbench.view.scm'" }
workbench.scm.active不生效的原因是:这个条件仅判断当前是否有活跃的SCM提供程序(比如项目已关联Git仓库),即便SCM面板未打开,只要项目识别了Git,该条件就会成立,无法实现仅面板激活时生效的限制。而activeViewlet是直接判断用户当前正在查看的面板是否为指定视图,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者Pompan
相关产品推荐
相关产品推荐

