如何在VSCode扩展的命令面板中输入文本

时间:2019-02-21 05:48:33

标签: visual-studio-code vscode-extensions

我正在编写一个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);
    })
  );
}

但是,我需要我的扩展名才能在以下区域输入文本:

  • 命令面板
  • 当我按下 Ctrl + G (用于workbench.action.gotoLine命令时)的
  • 输入区域

而不是要求用户输入。


tl; dr

我要问的伪代码:

openCommandPallete();
enterTextInCommandPallete("ABCDEF");

1 个答案:

答案 0 :(得分:1)

您可以调用带有参数的quickOpen命令来预填充文本:

vscode.commands.executeCommand("workbench.action.quickOpen", "Hello World");

您可以通过在文本前面加上>来切换到命令面板。可以使用?检查快速打开的可能前缀的完整列表:

如您在此处看到的,:是“转到行”的前缀,因此可以与同一命令一起使用:

vscode.commands.executeCommand("workbench.action.quickOpen", ":5");

还有一个相关问题,涉及如何利用参数来快速打开键绑定here