是否可以为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的更多信息,或者可以指出我正确的方向?
答案 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
的示例