我想要定义一个单和通用键盘绑定,它允许我无论窗口的类型如何,都可以切换 current窗口的最大化。
至少,一个窗口可以是:
通过maximization,,我的意思是,在 side 和side中,该窗口接管了完整的应用程序窗口,而侧边栏的异常(即,如果边条已经可见,那么它在任何时候都是可见的)。
当然,我的意思是在最初的布局(即记住它)和最大化结果之间来回切换。
我对这个问题的思考
有几个命令I,我认为在这里可以帮助,但他们似乎没有做我想做的。
workbench.action.toggleEditorWidthsworkbench.action.maximizeEditorworkbench.action.toggleMaximizePanelworkbench.action.toggleEditorVisibility我怀疑

发布于 2019-11-16 21:49:54
在您的keybindings.json中尝试以下操作(选择所需的键绑定):
{
"key": "alt+m",
"command": "workbench.action.toggleMaximizedPanel",
"when": "terminalFocus"
},
{
"key": "alt+m",
"command": "workbench.action.closePanel",
"when": "editorFocus && panelIsOpen"
},
{
"key": "alt+m",
"command": "workbench.action.togglePanel",
"when": "editorFocus && !panelIsOpen"
},它工作得很好--对SideBar或ActivityBar没有任何影响--除了一件事。第三个键绑定中的workbench.action.togglePanel命令将显示为切换最大化编辑器,但该命令将焦点转移到打开的面板上。这可能不是你所期望的。
如果你不想把焦点转移到面板上,当编辑器不最大化的时候,我想你将不得不在混合中添加一个宏。禁用第二个和第三个键绑定,并将其添加到settings.json中:
"multiCommand.commands": [
{
"command": "multiCommand.toggleEditorWthFocus",
"sequence": [
"workbench.action.togglePanel",
"workbench.action.focusActiveEditorGroup",
"workbench.action.toggleEditorWidths" // will toggle other editor groups width
// but other editor group width goes to a built-in minimum, not 0
]
}
],使用多命令宏扩展。
并使用这些作为您的两个键绑定:
{
"key": "alt+m",
"command": "workbench.action.toggleMaximizedPanel",
"when": "terminalFocus"
},
//{
// "key": "alt+m",
// "command": "workbench.action.closePanel",
// "when": "editorFocus && panelIsOpen"
//},
// {
// "key": "alt+m",
// "command": "workbench.action.togglePanel",
// "when": "editorFocus && !panelIsOpen"
// },
{
"key": "alt+m",
"command": "extension.multiCommand.execute",
"args": { "command": "multiCommand.toggleEditorWthFocus" },
"when": "editorTextFocus && !panelIsOpen"
},

我知道你说你希望SideBar不变,但如果你走宏观路线,我认为这也很容易切换。
上面的注释注意到,如果您有多个编辑器组,那么非焦点编辑器组的宽度将被最小化,但是它会减少到一些内置的最小值,而不是0宽度。我认为除了关闭其他编辑器组之外,没有其他编辑器组可以打开/关闭的方法,但您可能不想这样做。
演示与拆分:

https://stackoverflow.com/questions/58885067
复制相似问题