我正在写一个vscode扩展。我使用以下代码在TextEditor区域中输入文本。
function insertText(params: string) {
var editor = vscode.window.activeTextEditor;
editor.edit(edit =>
editor.selections.forEach(selection => {
edit.delete(selection);
edit.insert(selection.start, params);
})
);
}
但是,我需要我的扩展能够在以下区域输入文本:
workbench.action.gotoLine
命令)而不是要求用户输入。
tl;博士
我要问的伪代码:
openCommandPallete();
enterTextInCommandPallete("ABCDEF");
您可以使用参数调用quickOpen
命令来预填充文本:
vscode.commands.executeCommand("workbench.action.quickOpen", "Hello World");
您可以通过在文本前加上>
来切换到命令选项板。可以使用?
检查快速打开的可能前缀的完整列表:
正如你在这里看到的,:
是“Go to Line”的前缀,所以它使用相同的命令:
vscode.commands.executeCommand("workbench.action.quickOpen", ":5");
有一个相关的问题涉及如何利用参数快速打开键绑定here。