2010-07-15 13 views
19

Deseo desarrollar una extensión para VS2010 que me permita agregar algunas características adicionales al resaltado de sintaxis.Cómo hago: extensión de resaltado de sintaxis de Visual Studio

Instalé el SDK, ¿cómo empiezo?

Proporcione un pequeño fragmento (o un enlace al código) donde pueda ver cómo comenzar.

Nota: ¿Tengo que comprobar todo el bloque de código, o el SDK me dice en cada palabra qué es, cómo se declara, etc.?

+0

Microsoft tiene un sitio dedicado a este http://msdn.microsoft.com/en-us/vstudio/vextend.aspx ¿No hay nada allí que ayude? –

+0

No se trata específicamente del resaltado de sintaxis. Pensé que le pediría a la extensión Ninjas aquí que guarde los pasos innecesarios (no quiero enfocarme en otros campos, solo destacando la sintaxis). También tenga en cuenta mi nota, es muy importante para mí saber antes de comenzar para poder evaluar el costo de tiempo. Gracias – Shimmy

Respuesta

21

Hay un poco decente de información que hay para los clasificadores de escritura. I wrote a blog article about it un momento atrás.

En cuanto a muestras/código, hay:

La respuesta a la otra parte de su pregunta sobre si el SDK le dice cuál es cada palabra, la respuesta es "no", con algunas advertencias "un poco". En general, los modelos de lenguaje subyacentes no están expuestos, aunque puede hacer cosas como consumir la información de clasificación de otros clasificadores con la esperanza de que le brinden suficiente información; algunos, como C#, tienden a dar una buena cantidad de información que puede no aparecer en el IDE en la configuración predeterminada de fuentes y colores (verifique las configuraciones Herramientas-> Opciones-> Entorno-> Fuentes y colores para ver si desea el cambio ya puede estar allí), y otros, como VB, tienden a no hacerlo. También puede usar cosas como DTE's CodeModel, pero nunca escuché que alguien haya tenido buenas experiencias con él.

Si desea un ejemplo de consumo de información de clasificación, puede ver cómo lo hace esta CommentTextTagger.cs (parte de una extensión de corrector ortográfico).

+0

En realidad, eso es exactamente lo que quiero hacer; Quiero hacer el resaltado en VB para clases, enumeraciones, estructuras, métodos, espacios de nombres al igual que C# (parcialmente) y hacer que las variables locales sean negritas, las variables estáticas en cursiva, etc. etc. – Shimmy

+0

Además, quiero mejorar el VB/C# existente intellisense por lo que tiene un filtro como lo hizo Karl Shifflett en el Intellisense XAML. – Shimmy

+0

Shimmy, ¿tuviste éxito en tu esfuerzo? Me gustaría hacer lo mismo, comenzando por darle un poco de color a los parámetros del método. Ahora estoy sentado frente a la plantilla del clasificador y tengo todo el texto morado. No tengo idea de cómo lograr que funcione la cosa del etiquetador vinculado. – ygoe

2

debes revisar

http://code.msdn.microsoft.com/ookLanguage

que tiene un marcador de sintaxis en "OokTokenTag.cs" en la muestra C#. Tienes que analizar todo un bloque de texto, por supuesto, pero esto no es demasiado difícil.

(encontrado que enlace desde http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/657212c1-1685-4ed6-be2f-cbf34fcc5b20)

+0

Pero esto solo habla de palabras individuales, quiero averiguar si una palabra es una clase, enum, privado, etc. – Shimmy

+0

Hay un video que presenta la muestra de Ook: http://channel9.msdn.com/Blogs/ VSIPMarketing/VSX212-Adding-a-Language-Service-into-Visual-Studio-2010: desafortunadamente, el video sigue refiriéndose a una presentación "de ayer" que no parece existir en la web. SO relacionado Q: http://stackoverflow.com/questions/4283072/how-to-create-a-new-language-for-use-in-visual-studio – Qwertie

Cuestiones relacionadas