Quiero escribir un nuevo lenguaje de plantillas y quiero que Visual Studio lo "admita". Lo que necesito saber es:
- ¿Cómo analizo mi nuevo idioma?
Dado algo de código en mi nuevo lenguaje de plantilla, ¿cómo lo traduzco a HTML? En este momento estoy usando expresiones regulares para analizar token por token, pero no creo que esto vaya a escalar muy bien a medida que el lenguaje se vuelve más complicado y no hay verificación de errores. He oído hablar de ANTLR pero nunca lo usé. ¿Sería esa la herramienta adecuada para este trabajo, o quizás hay algo más simple? Idealmente, me gustaría enviar cualquier error de sintaxis a la ventana de error con tanta información como sea posible (número de línea, tipo de error) como lo hacen otros idiomas. - ¿Cómo creo un nuevo tipo de archivo para Visual Studio?
- ¿Cómo obtengo el resaltado de sintaxis?
¿Puedo usar el mismo analizador que creé en el paso 1 o es algo completamente diferente? - ¿Cómo obtengo Intellisense?
Preferiría escribir mi analizador en C #.
Hay una muestra en VS SDK que muestra la mayoría de las funciones que está buscando.
fuente
Estaba usando VS con su propio idioma y necesitaba desesperadamente un resaltado de sintaxis . Construí el mío basado en este tutorial: https://mattduffield.wordpress.com/2012/07/31/writing-a-brightscript-syntax-highlight-extension-for-visual-studio-2010/
Sé que el tutorial está en VS2010. Hice el mío en VS2012 sin contratiempos o muy pequeños. (también funcionó en VS2013) Recientemente cambié a VS2015 y la solución se puede editar, construir sin problemas.
fuente
Encontré esta colección muy útil de muestras recientes para Visual Studio 2013 SDK: http://blogs.msdn.com/b/vsx/archive/2014/05/30/vs-2013-sdk-samples-released.aspx
También contiene la versión reciente de OokLanguage que suena prometedora.
Usamos ANTLR 4 para analizar nuestro lenguaje que funciona como un encanto y permite la interacción directa con el código C #. Puedo recomendarlo totalmente.
fuente
Como se menciona en otras respuestas, la muestra de código más interesante es la extensión de lenguaje Ook para la última versión de Visual Studio (2017 en el momento de escribir este artículo).
Para VS 2015, vea el ejemplo en la rama VS2015 .
Para instalar el SDK para 2015 o posterior, debe volver a ejecutar la configuración de VS. En 2015 se llamó "Actualización 3 de las herramientas de extensibilidad de Visual Studio".
fuente