隐藏资源管理器的 VSCode 密钥绑定

VSCode 中有没有可以隐藏资源管理器的密钥绑定,就像 Ctrl+Shift+E显示资源管理器一样?

我讨厌触摸鼠标,我没有足够的屏幕空间让资源管理器始终处于打开状态。

43977 次浏览

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

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

VisualStudio 代码键绑定

我正在使用 VisualStudio 关键字映射。 在我的键盘快捷键,切换边栏可见性被设置为 CTRL + B,但不工作。

我重新映射到 CTRL + B并且工作得很好。

档案 > 参考资料 > 键盘快捷键

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

没有 GIF 我不会离开你的。

shortcut for mac VS Code

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

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

一些说明: 通常 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就可以把注意力集中到它上面。

用于切换“边栏”或“资源管理器”的 VSCode 默认键绑定是 CTRL + B。 只要 CTRL + B 就可以了。

在 Mac 中,它是 cmd+B,在 windows 中,它是 ctrl+B

如果您想使用 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”!

这是@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可以在 准确的键绑定,想知道当前上下文。如何做?上找到。同样的信息也可以在 文件上找到。

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

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

现在,在 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'"
}

多亏了麦孔 · 海克。除了他说的,我把它改成了 Fn + B。因为我用的是视觉工作室的代码而且它把所有涉及到快捷键的代码都搞乱了。

将此代码放入 keybindings.json

  { "key": "whatever_key_binding", "command": "workbench.explorer.fileView.focus", "when": "!sideBarVisible" },
{ "key": "whatever_key_binding", "command": "workbench.action.closeSidebar", "when": "sideBarVisible" },

路径(macos)

~/Library/Application Support/Code/User/keybindings.json

密码

{
"key": "shift+cmd+e", // toggle
"command": "workbench.view.explorer", // show explorer
"when": "!sideBarVisible" // apply when sidebar is hidden
},
{
"key": "shift+cmd+e", // toggle
"command": "workbench.action.closeSidebar", // close sidebar
"when": "sideBarVisible" // apply when sidebar is visible
}

谢谢

Https://stackoverflow.com/a/73970771/1347601