VS Code scm/explorer/debug 键绑定以隐藏侧边栏如果已选择

问题描述

我希望打开左侧边栏的键绑定(例如文件浏览器、git、调试)像打开终端的键绑定一样工作,即:

  1. 如果我想要的侧边栏(例如 git/scm,当我按 ctrl+shift+g 时)不可见,则应该显示它(这是开箱即用的)

  2. 如果它已经可见,则侧边栏应该被隐藏(认情况下,在这种情况下,键绑定什么都不做)

在提交错误报告之前,我想知道是否可以通过键绑定面板中的“when”表达式来实现这一点。

我需要的只是一个“when”表达式,它可以检测给定的侧边栏(资源管理器、scm、调试等)是否已经可见。

通过让键绑定检查是否有任何类型的侧边栏可见,我已经接近我的目标了:

    {
        "key": "ctrl+shift+g","command": "-workbench.view.scm"
    },{
        "key": "ctrl+shift+g","command": "workbench.view.scm","when": "!sideBarVisible"
    },"command": "workbench.action.closeSidebar","when": "sideBarVisible"
    },{
        "key": "ctrl+shift+d","command": "-workbench.view.debug"
    },"command": "workbench.view.debug",{
        "key": "ctrl+shift+e","command": "-workbench.view.explorer"
    },"command": "workbench.view.explorer",

这在大多数情况下都有效,但在侧边栏可见时失败,但这不是我要求的。示例:如果显示文件浏览器侧边栏,并且我按 shift+ctrl+g,我希望侧边栏更改为 scm 视图,但它隐藏了侧边栏

是否有一个“when”表达式来说明侧边栏中的内容?或者可能使用不同的“何时”表达式来检测每个特定的侧边栏(scm、资源管理器、调试等)?

我发现了“when”表达式“scmRepository”,它有点接近,但这似乎是检测光标是否在提交消息输入框中,而不是检测 scm 侧边栏是否可见。

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)