【问题标题】:add completionitemprovider and keep suggestions添加completionitempprovider并保留建议
【发布时间】:2021-04-26 18:45:06
【问题描述】:

我为我的扩展程序创建了一个completionitemprovider,但现在基于文档中的单词的建议没有显示。我必须提供文档中的每个单词吗?

export class ScriptViewProvider implements vscode.CompletionItemProvider
...
    extension.context.subscriptions.push(vscode.languages.registerCompletionItemProvider(
            ["language"],
            this));
...
    async provideCompletionItems(document : vscode.TextDocument, position : vscode.Position) : Promise<vscode.CompletionItem[]> {
        let completions : vscode.CompletionItem[] = [];
        let completion = new vscode.CompletionItem("bla", vscode.CompletionItemKind.Field);
        completions.push(completion);
        return completions;
    }

当我输入“b”时,它会显示“bla”,但文档中的其他单词都没有出现。

【问题讨论】:

    标签: intellisense vscode-extensions autosuggest


    【解决方案1】:

    请参阅this comment 的开放 VS Code 问题。

    当您的 CompletionProvider 使用比其他提供程序更重要的 DocumentSelector 注册并返回至少一个完成项时,其他提供程序将被跳过。 基于单词的建议提供者不太重要,因此它不会提供任何建议。

    根据您的扩​​展程序的性质,您可以在注册 CompletionProvider 时尝试定义一个不太具体的 DocumentSelector。 如果这不可能,我认为除了自己提供所有完成项(包括基于单词的建议)之外别无选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-04
      • 1970-01-01
      • 2013-11-20
      • 2014-11-24
      • 2016-12-05
      • 2021-09-08
      • 1970-01-01
      相关资源
      最近更新 更多