Cómo escribir una extensión de Visual Studio para una plantilla o lenguaje de marcado que admita fragmentos de código incrustados

¿Es posible escribir una extensión para Visual Studio 2010 que proporcione resaltado de sintaxis, inteligencia, bosquejo, etc.para una plantilla personalizada o lenguaje de marcado que admita fragmentos de código incrustados, similar a las herramientas para Razor en ASP .NET MVC 3? ¿Se puede hacer esto sin utilizar API privadas, sin acceso a la documentación interna de Microsoft y,Más important, sin tener que volver a implementar el resaltado de sintaxis, intellisense, etc. para el lenguaje de programación incorporado (es decir, C # o VB)?

La documentación del SDK parece sugerir que el editor de Visual Studio admite idiomas integrados a través de tampones de proyección, pero en realidad no da detalles ni ejemplos. Algunas de las "interfaces de interoperabilidad heredadas utilizadas para el editor y los servicios de idiomas" en Microsoft.VisualStudio.TextManager.Interop también parece ser relevante, p. @ IVsTextBufferCoordinator, pero la documentación no dice mucho acerca de cómo encajan todas estas piezas.

Siempre que los búferes de proyección realmente hagan lo que espero, ¿dónde puedo conectarme al editor para reemplazar un búfer de texto normal con un búfer de proyección?

Quizás alguien tiene más información sobre las API relevantes para admitir idiomas integrados o podría indicarme la dirección correcta?

Respuestas a la pregunta(2)

Su respuesta a la pregunta