【发布时间】:2015-11-07 21:02:58
【问题描述】:
我有一个标记器(ITagger 的子类),我正在尝试调用 GetClassificationSpans,以便我可以使用分类来查找 cmets 以使用标记进行格式化。这在 Visual Studio 2013 中有效,但现在在 Visual Studio 2015 中运行时,GetClassificationSpan 总是返回一个空列表 - 即使我在调试器中检查了跨度并且它肯定传递了一个带有注释的跨度。
有人知道 2015 年调用 GetClassificationSpans 会发生什么变化吗?
顺便说一句:我通过在我的标记器提供程序(ITaggerProvider 的子类)中导入 IClassifierAggregatorService 并将其传递给标记器的构造函数来获取分类器:
[import]
IClassifierAggregatorService aggregator;
然后我在我从提供者那里得到的聚合器上的标记器中使用以下调用:
IList<ClassificationSpan> lstClassifiers = aggregator.GetClassifier(span.Snapshot.TextBuffer).GetClassificationSpans(span);
而且,正如我所说,lstClassifiers 列表始终为空。在 VS2013 中运行 find 完全相同的代码。我似乎在网上找不到任何提及 VS2015 中可能导致此问题的任何更改。
谢谢,
【问题讨论】:
标签: visual-studio-2015 visual-studio-extensions vspackage visual-studio-sdk