我为Visual Studio(2015年和2017年)开发了VSIX扩展,它为代码编辑器添加了自定义语法着色。对于这些,我在MSDN上找到了两个不同的例子:一个使用IClassifier,另一个使用ITagger <IClassificationSpan>。
他们之间有什么区别?
编辑:更确切地说,我需要添加自己的源代码分类,例如,我想为特定的单词添加颜色。
IClassifier
gets应用于编辑器后面的文本 - 它识别单词(简化)。 IClassifier
发现的单词表示为所谓的分类跨度。例如,为分类器分配格式...纯文本。
IClassifier
可以使用ITagger
来查找某些类型的分类范围以供进一步分析...例如,可以进行拼写检查,或者如演练中所示,只能找到TODO注释的标记器。本演练可能有所帮助:https://msdn.microsoft.com/en-us/library/ee361745.aspx