VisualStudio完成会话在删除完成集时已解除
本文关键字:删除 会话 VisualStudio | 更新日期: 2023-09-27 18:25:57
我正试图在VisualStudioIDE中扩展html补全。我在框架中见过它,它将html标记与自定义表达式相结合。我需要增加对这些表达的支持。问题是,当我实现我的CompletionSource
为标记中的自定义元素提供补全时,在通过我的CompletionSource
的AugmentCompletionSession的补全集中已经有一个特定于HtmlCompletionSet
的CompletionSet。我应该添加我在CompletionSourceProvider
上使用[Order(After = "default")]
属性,以确保我的完成在html完成之后。
问题是,我不想在我的自定义元素上显示html完成中的任何内容。我想去掉整个HtmlCompletionSet
。
下面是我尝试的:
- 填写我自己的完成集
- 将我的完成集添加到完成集
- 检查是
HtmlCompletionSet
在吗 - 删除
HtmlCompletionSet
(如果存在)/更新完成集,使其为空
这将导致完成会话消失。我猜它是自动被驳回的。我该怎么办?有什么优雅的方法可以解决这个问题吗?
扩展/修改html完成集的最佳方法是通过IHtmlCompletionListProvider添加新项,或者通过IHtmlCompletionListFilter过滤掉现有的完成项。传递给这些接口上的方法的HtmlCompletionContext应该为您提供足够的上下文来确定您需要什么。