2

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

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

4

1 回答 1

0

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

可悲的是缺乏文档,但我认为你应该为语言部分构建一个词法分析器或类似的东西MSDN:DLR(功能)可以帮助你,

DLR 允许语言实现者避免创建他们传统上必须自己创建的词法分析器、解析器、语义分析器、代码生成器和其他工具。

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

这是一个自定义 C# 代码显示的示例项目。

于 2013-12-19T15:35:54.317 回答