VSCode 键绑定隐藏资源管理器

Posted

技术标签:

【中文标题】VSCode 键绑定隐藏资源管理器【英文标题】:VSCode keybinding to hide Explorer 【发布时间】:2016-10-15 09:21:55 【问题描述】:

VSCode 中是否有任何可以隐藏资源管理器的键绑定,例如 Ctrl+Shift+E 可以用来显示它?

我讨厌伸手去拿鼠标,而且我没有足够的屏幕空间来让 Explorer 始终打开。

【问题讨论】:

【参考方案1】:

切换侧边栏可见性:Ctrl+B (Windows/Linux)

如果你是 MacOS 用户,那么它是 + b

Visual Studio Code Key Bindings

【讨论】:

我不得不放弃快捷方式的优先级,因为在我的 Mac 上 CMD-b 也被分配给“在快速打开中导航下一个”。 我让 Vscodevim 在第一部分劫持了Ctrl + /。如果有人想知道keybinds.json 的实际名称,那就是workbench.action.toggleSidebar 在我的情况下它不起作用,因为 ctrl+b 被分配给 workbench.action.toggleSidebar 和一些调试命令(默认情况下,我没有更改任何内容)。编辑 workbench.action.toggleSidebar 快捷方式并按 ctrl+b 将显示您是否有此类重复项,因此您可以根据具体情况删除/更改冲突的键绑定。 我会说,如果有使用Ctrl+B 的vim 插件,Shift+Bworkbench.action.toggleSidebar 的更好选择【参考方案2】:

如果你是 MacOS 用户,那么它是 + b

我不会在没有 GIF 的情况下离开你。

【讨论】:

不知道您为什么不只是编辑一年前的正确答案。所以我改为这样做了。【参考方案3】:

一些澄清:通常Ctrl+B 用于关闭侧边栏(默认情况下不切换)。因此,如果您没有侧边栏并想要打开它 - 请按以下组合:Ctrl+Shift+E(使用活动资源管理器打开侧边栏)或 Ctr+Shift+F(使用活动搜索)等。现在,如果您想摆脱侧边栏按Ctrl+B。请注意,如果您正在使用 vim 插件并且想要关闭侧边栏但当前正在处理您的代码 - 首先通过按 (Ctrl+Shift+E) 激活侧边栏,然后通过 Ctrl+B 将其关闭。

更新:最近我发现Ctrl+Shift+E 无法与我的 neo vim 插件配合使用,因此为了克服它,还有另一个打开侧边栏资源管理器的快捷方式:单击 Ctrl+0 打开它并再按一次Ctrl+0 以集中注意力。

【讨论】:

当编辑器窗格被聚焦时,这对我有用。但这有点大便。如果我在编辑器上,我只想关闭房地产资源管理器而不是切换到资源管理器然后隐藏它。 Netbeans 给我 CTRL + ESC 从任何地方隐藏侧栏。 我希望侧边栏会以打开它的相同快捷方式关闭......这就是 phpstorm 的做法,感觉更自然。【参考方案4】:

我正在使用 Visual Studio 键盘映射。 在我的键盘快捷键中,Toggle Side Bar Visibility 设置为 CTRL+B 但不起作用。

我确实重新映射到 CTRL+B 并且工作正常。

文件 > 首选项 > 键盘快捷键

【讨论】:

【参考方案5】:

切换“侧边栏”又名“资源管理器”的 VSCode 默认键绑定是 CTRL+B。 只需 CTRL+B 就可以正常工作。

【讨论】:

对我来说,当编辑器聚焦时它不起作用。我必须做 CTRL + SHIFT + E 来聚焦资源管理器,然后 CTRL + B 真的对此没有印象【参考方案6】:

如果您想使用 cmd+b 打开和关闭您的资源管理器,请将这些行添加到您的 keybindings.json

    
        "key": "cmd+e",
        "command": "workbench.view.explorer"
    ,
    
        "key": "cmd+e",
        "command": "-workbench.view.explorer"
    ,
    
        "key": "cmd+e",
        "command": "workbench.action.toggleSidebarVisibility",
        "when": "explorerViewletVisible"
    ,
    
        "key": "cmd+e",
        "command": "-workbench.action.toggleSidebarVisibility",
        "when": "explorerViewletVisible"
    ,

当然,你必须把“e”换成“b”!

【讨论】:

【参考方案7】:

在 Mac 中为 cmd+B,在 Windows 中为 ctrl+B

【讨论】:

【参考方案8】:

这是@tsm 答案的扩展。

如果您想使用ctrl+e 切换Explorer,请使用以下键绑定。


    "key": "ctrl+e",
    "command": "-workbench.action.quickOpen"
,

    "key": "ctrl+e",
    "command": "-workbench.action.quickOpenNavigateNextInFilePicker",
    "when": "inFilesPicker && inQuickOpen"
,

    "key": "ctrl+b",
    "command": "-workbench.action.toggleSidebarVisibility"
,

    "key": "ctrl+e",
    "command": "workbench.view.explorer"
,

    "key": "ctrl+e",
    "command": "workbench.action.toggleSidebarVisibility",
    "when": "activeViewlet == 'workbench.view.explorer' || activeViewlet == 'workbench.view.search'|| activeViewlet == 'workbench.view.scm'|| activeViewlet == 'workbench.view.debug'|| activeViewlet == 'workbench.view.extensions' || activeViewlet == 'workbench.view.extension.test'|| activeViewlet == 'workbench.view.extension.bookmarks'|| activeViewlet == 'workbench.view.extension.project-manager' || activeViewlet == 'workbench.view.extension.gitlens'|| activeViewlet == 'workbench.view.extension.todo-tree-container'|| activeViewlet == 'snippet-explorer'"

这里,前两个键绑定是取消绑定ctrl+e。因此,这取决于您当前正在使用哪些命令与ctrl+e

第三个键绑定是取消绑定ctrl+b,因为您将不再需要ctrl+b切换侧边栏可见性

第四个键绑定是使用ctrl+e查看资源管理器。

现在是有趣的部分。第五键绑定。在这里,我是说:“如果侧边栏是打开的,我按ctrl+e 然后关闭侧边栏。”

请理解,打开Sidebar 的方法之一是单击Sidebar Icons 之一。当我们点击一​​个特定的Sidebar Icon,我们得到它对应的Sidebar View

要创建此键绑定,我们必须获取每个 Sidebar Views 的所有 Contexts(在本例中为 activeViewlet 的值)。

如何获得Contexts 可以在VSCODE Accurate keybinding, want to know current context. How to do? 上找到。同样的信息也可以在documentation 上找到。

所以,长话短说,我通过在命令托盘中运行 Developer: Inspect Context Keys 并观察 Developer Tools 来找到上下文。

    打开 VSCode 调试器(点击Help > Toggle Developer Tools)。 在命令托盘中运行Developer: Inspect Context Keys 打开你想知道上下文(activeViewlet的值)的侧边栏。 从开发者工具的控制台获取上下文。

现在,在 when 键中添加这些上下文(例如 workbench.view.explorerworkbench.view.searchworkbench.view.scm 等)。

更新 1:

您实际上不需要查找上下文。您可以使用:


    "key": "ctrl+e",
    "command": "workbench.action.toggleSidebarVisibility",
    "when": "activeViewlet != ''"

而不是


    "key": "ctrl+e",
    "command": "workbench.action.toggleSidebarVisibility",
    "when": "activeViewlet == 'workbench.view.explorer' || activeViewlet == 'workbench.view.search'|| activeViewlet == 'workbench.view.scm'|| activeViewlet == 'workbench.view.debug'|| activeViewlet == 'workbench.view.extensions' || activeViewlet == 'workbench.view.extension.test'|| activeViewlet == 'workbench.view.extension.bookmarks'|| activeViewlet == 'workbench.view.extension.project-manager' || activeViewlet == 'workbench.view.extension.gitlens'|| activeViewlet == 'workbench.view.extension.todo-tree-container'|| activeViewlet == 'snippet-explorer'"

【讨论】:

【参考方案9】:

我不得不说CTRL+B代表叫出侧边栏。

要隐藏侧边栏,您应该输入:CTRl+\

【讨论】:

我不认为你的答案是正确的,因为 ctrl + \ 用于分割编辑器

以上是关于VSCode 键绑定隐藏资源管理器的主要内容,如果未能解决你的问题,请参考以下文章

vscode任务栏没有远程资源管理器

是否有一个热键来固定/自动隐藏像解决方案资源管理器这样的面板?

VSCode 中有设备文件资源管理器吗?

带有 Xdebug 的 PHPUnit 测试资源管理器 - VSCode

从 Windows 资源管理器中打开 VS Code 中的文件夹

macOS 的 vscode 资源管理器中缺少 git 装饰