如何为支持嵌入式代码段的模板或标记语言编写Visual Studio扩展

时间:2011-05-01 15:10:44

标签: visual-studio visual-studio-2010 intellisense vsx viewengine

是否可以为Visual Studio 2010编写扩展,为自定义模板或支持嵌入式代码片段的标记语言提供语法高亮,智能感知,大纲等,类似于Razor的工具ASP .NET MVC 3?这可以在不使用私有API的情况下完成,无需访问Microsoft内部文档,最重要的,而无需为嵌入式编程语言重新实现语法突出显示,智能感知等(即C#或VB)?

Visual Studio编辑器通过seems to suggest支持嵌入式语言的SDK文档projection buffers,但它并没有真正提供任何细节或示例。 Microsoft.VisualStudio.TextManager.Interop中的一些“用于编辑器和语言服务的遗留互操作接口”似乎也是相关的,例如IVsTextBufferCoordinator,但文档并未详细说明所有这些部分如何组合在一起。

假设投影缓冲区实际上做了我希望的事情,我可以在哪里挂钩到编辑器中用投影缓冲区替换普通的文本缓冲区?

是否有人可以获得有关支持嵌入式语言的API的更多信息,或者可以指出我正确的方向?

2 个答案:

答案 0 :(得分:2)

您应该以https://github.com/SparkViewEngine/SparkSense为例进行说明。它是为火花视图引擎而构建的,可为VS 2010提供智能感知。

“SparkSense是Visual Studio 2010的一个插件,当使用Spark作为各种MVC框架(包括ASP.NET MVC)的视图引擎时,可以实现各种工具支持和生产力功能”

答案 1 :(得分:0)

您可以编写自己的编辑器扩展程序,请参阅此文章:http://www.devx.com/VS_2010/Article/45058

要了解它是如何运作的:http://msdn.microsoft.com/en-us/library/dd885240(v=VS.100).aspx

研究“托管可扩展性框架(MEF)”

您可以下载Ook langage here

的示例