简单的CompletionItemProvider不起作用

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

我正在制作简单的 vscode 扩展并尝试实现一个完成项提供程序。我想在任何文件中键入

|
符号时显示字符串数组(无论其扩展名如何)。

扩展是用 JavaScript 编写的:

context.subscriptions.push(...);
// other functionality above works ok
context.subscriptions.push(vscode.languages.registerCompletionItemProvider(
  '*', 
  {
    provideCompletionItems(document,position,token) {
      item1 = new vscode.CompletionItem("Sample1");
      item2 = new vscode.CompletionItem("Sample2");
      return [item1,item2];
    }
  },
  '|'
));

我读了很多书,但不明白我做错了什么。

弹出的建议菜单是空的,并显示“没有建议”:
enter image description here

visual-studio-code vscode-extensions
1个回答
0
投票

不知何故,vscode 不会立即加载补全。

解决方案是在packages.json中设置激活事件。在这种情况下,例如

onStartupFinished

{
   ...
   "activationEvents": ["onStartupFinished"]
   ...
}
© www.soinside.com 2019 - 2024. All rights reserved.