如何在VS Code中以编程方式显示CompletionList?

时间:2018-12-12 01:00:58

标签: visual-studio-code vscode-extensions

我希望能够以编程方式(不基于用户键入触发字符)在指定的编辑器/位置向用户显示CompletionList。这可能吗?

2 个答案:

答案 0 :(得分:2)

实际上,这可以通过执行"editor.action.triggerSuggest"命令来实现。这与按 Ctrl + Space 手动调用完成时执行的命令相同。

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");
    });
});

答案 1 :(得分:0)

原文:截至今天(2018年12月12日),这是不可能的。

编辑:尝试删除此帖子,以支持@ Gama11在下面的答案,但无法删除已接受的答案。我不是100%肯定editor.action.triggerSuggest受支持,但可以使用。

@ Gama11的回复如下:https://stackoverflow.com/a/53804882/1574622