Как программно показать CompletionList в VS Code? - PullRequest
0 голосов
/ 12 декабря 2018

Я хочу иметь возможность показывать CompletionList в указанном редакторе / позиции пользователю программно (не основываясь на вводе пользователем символа триггера).Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 16 декабря 2018

На самом деле это возможно, выполнив команду "editor.action.triggerSuggest".Это та же команда, которая выполняется при нажатии Ctrl + Пробел для ручного вызова завершения.

vscode.commands.executeCommand("editor.action.triggerSuggest");

Если вы хотите контролировать, где открывается всплывающее окно,просто измените активный редактор + выделение заранее:

var file = vscode.workspace.workspaceFolders[0].uri.fsPath + "/foo.txt";
vscode.workspace.openTextDocument(file).then(document => {
    vscode.window.showTextDocument(document).then(editor => {
        editor.selection = new vscode.Selection(10, 0, 10, 0);
        vscode.commands.executeCommand("editor.action.triggerSuggest");
    });
});
0 голосов
/ 13 декабря 2018

Оригинал: на сегодняшний день (12/12/2018) это невозможно.

Редактировать: Попытка удалить этот пост в пользу ответа @ Gama11 ниже, но не может удалить принятые ответы.Я не уверен на 100%, что editor.action.triggerSuggest поддерживается, но он работает.

@ Gama11 ответ ниже: https://stackoverflow.com/a/53804882/1574622

...