如何实现Visual Studio 2017 智能感知过滤?

How to implement Visual Studio 2017 IntelliSense filtering?

我已经为 VS 开发了自己的语言服务。一切正常 IntelliSense(Word Completion)正在运行,但我想实施新的 2017 API - 过滤功能(http://developerpublish.com/how-to-turn-off-intellisense-filtering-in-visual-studio-2017/)。

我遵循了这个演练:https://docs.microsoft.com/en-us/visualstudio/extensibility/internals/member-completion-in-a-legacy-language-service

但是没有提到如何添加过滤。

是否有任何新文档(适用于 VS 2017)或者我缺少一些要实施的 class/parameter?

有一个很好的例子演示了如何在现代 VS 中实现过滤:https://github.com/madskristensen/EditorConfigLanguage >> https://github.com/madskristensen/EditorConfigLanguage/blob/d9aed6527e733bee5e9737e51b3571af0cbfb7be/src/Completion/CompletionSource.cs

关键是 IIntellisenseFilter 接口 https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.language.intellisense.iintellisensefilter?view=visualstudiosdk-2019

此界面在 Visual Studios 2015+ 中有效,但由于我的扩展基于 Microsoft.VisualStudio.Package.LanguageService(因为该扩展支持 Visual Studios 2005+),我找不到了解如何整合它。