语法在Visual Studio 2012中突出显示嵌入式语言

时间:2013-02-20 16:01:09

标签: c# syntax visual-studio-2012 syntax-highlighting mef

我正在使用C#和Visual Studio 2012来实现嵌入在html中的语言的语法高亮(非常类似于< %%>中的ASP代码)。到目前为止,我发现我需要使用IProjectionBuffer来实现这一目标,但除了这里有点模糊的描述之外,没有关于如何使用MEF执行此操作的示例:http://msdn.microsoft.com/en-us/library/dd885240.aspx#projection。我尝试将通过MEF“导入”的ITextBuffer的文本范围分配给IProjectionBuffer,但它没有效果。

有没有人对如何进行有任何想法?

1 个答案:

答案 0 :(得分:0)

我认为有一个内置功能用于此目的。我曾经用带标签的MEF处理C#代码中的文本突出显示。我想你从Text.Classification开始。

遗憾的是缺乏文档,但我认为你应该为语言部分MSDN:DLR (features)建立一个类似于lexer或类似的东西,可以帮助你,

  

DLR允许语言实施者避免创建词汇   分析器,解析器,语义分析器,代码生成器等   传统上他们必须自己创造的工具。

检测分隔符,并通过分类对其进行着色。

这是一个example project来自定义C#代码显示。

相关问题