VSCode:如何关注编辑器



在我的Visual Studio代码扩展中,我目前调用workbench.action.moveEditorToNextGroup,它在代码中移动编辑器。但是,如果我调用任何额外的命令,它将使用以前的编辑器组,而不是我移动到的编辑器组。

我如何将注意力集中在某个编辑器上,例如我移动到的编辑器?

看起来workbench.action.focusFirstEditorGroup应该做标记。

或者

  • workbench.action.focusFirstEditorGroup
  • workbench.action.focusSecondEditorGrou

……

也可能是你正在寻找的。

查看完整列表

移动编辑器的一个更强大的方法是使用moveActiveEditor命令。

const moveTabBetweenGroupArgs = {to: "right", by: "group"};
await vscode.commands.executeCommand('moveActiveEditor', moveTabBetweenGroupArgs);

最好的文档位于这里:moveActiveEditor的解释。

如果我重复调用,它会使用我刚刚移动的编辑器。因此,例如,如果我将编辑器移动到右组,然后再次触发该命令,则相同的编辑器将移动到下一个右组。

如果没有组,命令将在右边创建一个组。

不幸的是,使用这些选项:

// const moveTabBetweenGroupArgs = {to: "position", by: "group", value: 2};  // 'value' is 1-based

你也应该能够将编辑器移动到第二个组——即使它不存在——但是这个表单不会创建第二个组,并且无声地失败。我认为这是一个bug,并将提交一个问题。

您还可以使用moveActiveEditor命令轻松地在组内移动编辑器,代码如下:

const moveTabInGroupArgs = {to: "position", by: "tab", value: targetIndex + 1};  // 'value' is 1-based
await vscode.commands.executeCommand('moveActiveEditor', moveTabInGroupArgs);

将ACTIVE编辑器移动到当前组中的value列。value是基于1的,所以组中的第一列是1,而不是0

最新更新