是否存在对应split in group action操作的VSCode API?
问题解答
VS Code 没有直接在TextEditor实例上暴露split()方法,不过你可以通过两种方式实现「在组内拆分编辑器」(也就是你提到的split in group action)的效果:
方法1:调用内置公共命令
你可以直接调用VS Code预置的命令workbench.action.splitEditorInGroup来触发当前激活编辑器的组内拆分,示例代码如下:
const vscode = require('vscode'); const { workspace, window, Position } = vscode; async function openAndSplitEditor() { const doc = await workspace.openTextDocument({ language: "text", }); const editor = await window.showTextDocument(doc); await editor.edit((edit) => edit.insert(new Position(0, 0), "hello")); // 触发组内拆分 await vscode.commands.executeCommand('workbench.action.splitEditorInGroup'); }
如果你需要拆分到其他编辑器组,可以把命令替换为workbench.action.splitEditor。
方法2:通过showTextDocument指定目标位置
如果需要更精准的控制拆分后的视图位置,你可以在调用showTextDocument时指定viewColumn参数实现拆分效果:
// 在当前编辑器的侧边(同组)打开同一个文档,实现拆分效果 await window.showTextDocument(doc, { viewColumn: vscode.ViewColumn.Beside, preserveFocus: false });
内容的提问来源于stack exchange,提问作者Eduard Jacko
相关产品推荐
相关产品推荐

