Как ввести текст в палитре команд в расширении VSCode - PullRequest
0 голосов
/ 21 февраля 2019

Я пишу расширение 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 голосов
/ 21 февраля 2019

Вы можете вызвать команду quickOpen с аргументом для предварительного заполнения текста:

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

Вы можете переключиться на палитру команд, добавив префикс текстас >.Полный список возможных префиксов для быстрого открытия можно проверить с помощью ?:

Как вы можете видеть здесь, : - это префикс «Go to Line», так что это работает с той же командой:

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

Есть связанный вопрос, который касается того, как использовать аргументы для быстрого открытия в сочетаниях клавиш здесь .

...