显示基于单词的建议和自己的完成提供程序的结果

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

我正在开发一个Visual Studio代码扩展,它使用语言服务器协议提供完成列表。我的问题是,在实现它之后,用户已经根据文档内容丢失了完成。

我希望完成显示我自己的提供者的结果以及VSCode的基于单词的建议。

非工作示例:

工作范例:

(Qazxswpoi)

我试图将https://github.com/APerricone/harbourCodeExtension/issues/16设置为isIncomplete,没有任何改进。

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

这是一个名为“基于单词的建议”的VSCode功能(请参阅false设置)。默认情况下,只要所有其他注册的完成提供程序都无法返回任何结果,就会提供基于Word

我不知道有任何方法可以将基于单词的建议与您自己的提供商的结果合并。 "editor.wordBasedSuggestions"似乎证实这是不可能的:

为什么不包括基于字符串的匹配,即使有完成提供程序返回建议?

每个提供者根据注册时使用的选择器获取This statement by a VSCode dev。基于单词的提供者通常具有最低分数,而rank是不排名较低的提供者不被询问排名较高的提供者是否产生了结果。这是为了避免重复和垃圾邮件。

rule的文档评论仍然是相同的,所以我认为从那以后在这方面没有任何改变。也许您可以为此打开一个功能请求,但我不确定它实现的可能性有多高。

但是,有一个简单的解决方法:自己实现基于单词的建议。如果你使用registerCompletionItemProvider(),它看起来应该与VSCode的内置提供程序相同。我认为要提供完成,您必须扫描文档内容。作为额外的奖励,这可以避免重复,如问题中提到的。

© www.soinside.com 2019 - 2024. All rights reserved.