visual-studio-code - 键绑定:焦点编辑器的索引是否有“when”子句,或者它是否是最后一个?
问题描述
我使用键盘快捷键来循环使用选项卡workbench.action.nextEditorInGroup
,workbench.action.previousEditorInGroup
这对我来说非常有用,除了它们“换行”。换句话说,如果您在编辑器组的第一个选项卡上并且您执行workbench.action.previousEditorInGroup
它将聚焦该组中的最后一个编辑器。似乎没有防止这种行为的设置(尽管如果您知道可以解决我的问题的设置!),所以我希望通过when
键绑定中的子句来实现它。
我找到了activeEditorGroupIndex
and 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" },
解决方案
这些新的上下文键在 v1.65 中:
activeEditorIsFirstInGroup
activeEditorIsLastInGroup
我认为这些键绑定应该适合您:
{ "key": "ctrl+.", "command": "workbench.action.nextEditorInGroup", "when": "editorFocus && !activeEditorIsLastInGroup" },
{ "key": "ctrl+,", "command": "workbench.action.previousEditorInGroup", "when": "editorFocus && !activeEditorIsFirstInGroup" }