15

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

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

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

也许有人有更多关于支持嵌入式语言的 API 的信息,或者可以指出我正确的方向吗?

4

2 回答 2

2

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

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

于 2011-05-01T17:07:17.617 回答
0

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

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

做关于“托管扩展框架(MEF)”的研究

您可以在此处下载 Ook 语言的示例

于 2011-05-01T16:51:04.133 回答