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

问题描述 投票:1回答:1

我正在写一个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;博士

我要问的伪代码:

openCommandPallete();
enterTextInCommandPallete("ABCDEF");
visual-studio-code vscode-extensions
1个回答
1
投票

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

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

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

正如你在这里看到的,:是“Go to Line”的前缀,所以它使用相同的命令:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.