首页 > 解决方案 > 键绑定:焦点编辑器的索引是否有“when”子句,或者它是否是最后一个?

问题描述

我使用键盘快捷键来循环使用选项卡workbench.action.nextEditorInGroupworkbench.action.previousEditorInGroup这对我来说非常有用,除了它们“换行”。换句话说,如果您在编辑器组的第一个选项卡上并且您执行workbench.action.previousEditorInGroup它将聚焦该组中的最后一个编辑器。似乎没有防止这种行为的设置(尽管如果您知道可以解决我的问题的设置!),所以我希望通过when键绑定中的子句来实现它。

我找到了activeEditorGroupIndexand activeEditorGroupLast,但我没有找到编辑器索引的类似子句。有人知道吗?

这是我当前的绑定:

    { "key": "ctrl+.", "command": "workbench.action.nextEditorInGroup", "when": "editorFocus" },
    { "key": "ctrl+,", "command": "workbench.action.previousEditorInGroup", "when": "editorFocus" },

我想要的是这样的:

    { "key": "ctrl+.", "command": "workbench.action.nextEditorInGroup", "when": "editorFocus && !activeEditorLast" },
    { "key": "ctrl+,", "command": "workbench.action.previousEditorInGroup", "when": "editorFocus && !activeEditorIndex == 0" },

标签: visual-studio-codevscode-settings

解决方案


这些新的上下文键在 v1.65 中:

activeEditorIsFirstInGroup  
activeEditorIsLastInGroup

我认为这些键绑定应该适合您:

{ "key": "ctrl+.", "command": "workbench.action.nextEditorInGroup", "when": "editorFocus && !activeEditorIsLastInGroup" },  

{ "key": "ctrl+,", "command": "workbench.action.previousEditorInGroup", "when": "editorFocus && !activeEditorIsFirstInGroup" }

推荐阅读