Utilidades .NET 2.0

gsColorearCodigo

Utilidad para colorear código y convertirlo en formato HTML.
La librería de colorear también lo convierte en RTF.

Publicado el 26/Ago/2006
Actualizado el 30/Ene/2008
Autor: Guillermo 'guille' Som

Ver las actualizaciones


Esta utilidad sirve para colorear código de varios lenguajes (Visual Basic para .NET, C#, SQL Server, Pascal / Delphi / Freya, MSIL, F#, Java / J#, C / C++, Visual Basic 6.0 o anterior, XML, xaml, HTML, asp, aspx) y generar el código HTML para usar en una página Web. El coloreado lo hace por medio de una librería que también genera código en formato RTF.

 

Introducción:

Esta es una mejora (yo diría que sustancial) de mi anterior utilidad para colorear código.

La diferencia principal, además de que controla mejor los comentarios, es que soporta más cantidad de lenguajes, ya que permite colorear código de los siguientes lenguajes:

  • Visual Basic (tanto para .NET como la versión clásica: VB6 o anterior)
  • C#
  • J# y Java
  • F#
  • Pascal (Pascal, Delphi y Freya)
  • C/C++
  • SQL Server
  • MSIL
  • XML (xaml, html, asp, aspx, y otras extensiones que usan lenguajes de marcado)

 

La forma de usar la utilidad es bien simple, se puede arrastrar un fichero o bien abrirlo, y si solo queremos colorear un trozo de código, lo podemos pegar directamente.

Al abrir un fichero se selecciona automáticamente el tipo de fichero que se usará, y se usarán las instrucciones de ese lenguaje para colorear.

El formato del código generado es tanto en HTML o en formato RTF.

En esta versión, las instrucciones son fijas, no se usa ningún fichero externo, pero eso seguramente lo cambiaré en una de las próximas revisiones que le haga.

No me voy a enrollar demasiado, ya que la utilidad es simple de usar, y si no te lo parece, pues me lo dices comentándolo como un "bug o mejora" desde la pantalla de Acerca de (gracias).

Aquí tienes algunas capturas:

Figura 1. La pantalla principal con las opciones del lenguaje y formato a usar
Figura 1. La pantalla principal con las opciones del lenguaje y formato a usar

 

Por medio de las opciones de configuración puedes cambiar los colores y el tipo de fuente y tamaño usado para mostrar el código coloreado en el "Visor HTML".
También puedes configurar algunas otras cosas como si se distinguen las instrucciones por las diferencias entre mayúsculas o minúsculas. Aunque Visual Basic no hace esa distinción, el programa solo coloreará las instrucciones que estén escritas tal como las muestra el Visual Studio, por supuesto si marcas esa opción.

Figura 2. Las opciones de configuración.
Figura 2. Las opciones de configuración.

 

Bajar (instalar) la utilidad

Puedes instalar la aplicación desde la página de instalación de ClickOnce, que es la que te recomiendo, ¿por qué? porque esta utilidad necesita el .NET Framework 2.0 y así te aseguras de que funcionará correctamente.

Pero también te puedes bajar el ZIP con el ejecutable, se incluye solo el ejecutable y la .DLL, por si no quieres usar la versión de ClickOnce.

Para usar la utilidad, debes descomprimirlo para que estén los dos ficheros en una carpeta de tu disco duro, no la ejecutes desde el ZIP ya que si no tienes la librería disponible no funcionará.

No está el código fuente de la aplicación, porque usa cosas que no incluyo, como el fichero de clave para la firma de nombre seguro (strong name) y a algunos (menos expertos) les ha dado problemas, así que, mejor que no haya complicaciones. Cualquier día de estos pondré el código, tanto de la aplicación como de la librería de colorear, para todos aquellos que colaboran donando con PayPal.

Estos son los datos del fichero con el ejecutable y la librería de colorear:

  • Nombre: gsColorearCodigo_1_0_3_21_bin.zip
  • Tamaño: 88.4 KB
  • MD5 checksum: 5FA3186C708E7AAC21BC19B21AC78499

Aporta tu granito de arena...

 

Nota del 29/Ago/06: (versión 1.0.1.26~28)
He añadido la posibilidad de poder colorear ficheros XML y cualquier otro que utilice instrucciones de marcado, es decir, que haya instrucciones entre signos < y >.
Las extensiones predeterminadas (las que el programa reconoce automáticamente) son:
*.xml; *.xaml; *.xsl; *.rss; *.cfg; *.config; *.manifest; *.snippet; *.htm; *.html; *.asp; *.aspx; *.asmx; *.ascx; *.master

Aunque puedes abrir cualquier otro y antes de pulsar en colorear selecciona el lenguaje XML.
Esto mismo es aplicable al resto de lenguajes.
Solo decir que en los XML se usan otros colores diferentes a los del resto de lenguajes y solo se usa <span para colorear.
 

 

 

Lo dicho, espero que te sea de utilidad.

Nos vemos.
Guillermo


Actualizaciones

Pulsa aquí si te quieres bajar la utilidad

  • 21/Dic/2007 (v1.0.3.17~21)
    • Cambios menores tanto en la DLL como en el EXE.
    • Actualizado también para la instalación con ClickOnce.
  • 31/Mar/2007 (v1.0.3.15~16)
    • Arreglado bug en la librería gsColorear que fallaba algunas veces al colorear desde RTF cuando había una llave de cierre al final.
    • Al colorear desde RTF se usa el <pre> indicado en la configuración.
    • Se recuerda el último texto a colorear, se puede indicar en la configuración si se debe mostrar ese texto al iniciar la aplicación o no.
    • Cuando se guarda como RTF, se usará el formato adecuado, antes se guardaba siempre como texto plano.
  • 14/Feb/2007 (v1.0.3.11)
    • Además de arreglar algún que otro bug (siempre hay bichos sueltos en el código, por ejemplo que no se sincronizaba la opción de ocultar al minimizar del menú contextual con la opción correspondiente en la ficha de configuración), la mejora que justifica un cambio en el número de versión es porque he añadido la posibilidad de colorear a partir de código RTF. Por ejemplo, si copias el código desde el IDE de Visual Studio 2005 y lo pegas en el conversor de código, ese código que pegas ya estará coloreado usando los colores del propio Visual Studio, pues bien, seleccionando la nueva opción de Colorear desde RTF, se creará el código HTML correspondiente, pero usando los mismos colores de Visual Studio, por ejemplo, si ese código es de C# 2005, las clases estarán coloreadas como azul-verdoso.
      Por supuesto, si el código pegado como RTF no está coloreado, no se coloreará, pero aún se puede seguir usando la opción "normal" de colorear, en ese caso, los colores que se usarán serán los definidos en el programa, y por tanto las clases de C# no se colorearán, solo las instrucciones y las cadenas.
      La opción de "Colorear desde RTF" está en el menú contextual y en el menú de Ficheros.
       
    • Otra de las mejoras es que si el código se pegó como RTF (con colores), al pulsar en el botón "Mostrar el texto sin procesar", se volverá a ver con los colores que tuviera, antes se quitaba el formato RTF y se dejaba en texto plano.
       
    • También hay una opción (solo en el menú contextual) que te permite mostrar el código RTF correspondiente a lo que haya pegado en la ventana de la utilidad, esto es posible que lo quite en el futuro, ya que en realidad lo he usado para comprobar si el código de colorear RTF funcionaba bien. Si quieres que mantenga esa opción, me lo dices como "Bug o mejora" desde la ventana de Acerca de.
       
    • Otra de las mejoras es que si la aplicación está minimizada y se inicia nuevamente (es de instancia única), la aplicación se restablece para que se vea.
       
    • También he arreglado un bug al comprobar la última versión publicada, y solo comprobaba versiones con valores de un dígito, así que las versiones que tenían más de 1 dígito, pues como si no existieran...
      Nota: Debido a este bug, la versión que te indicará que hay es la 1.0.3.1 aunque en realidad es la 1.0.3.11, esto es para que en las versiones anteriores siga avisando de que hay una nueva versión, ya que las versiones publicadas que comprobaba mal la versión desde Internet son anteriores a la 1.0.3.n, cuando publique la nueva revisión (que será la 1.0.4.n) ya avisará correctamente, así que... actualízate. Por supuesto, si lo has instalado con ClickOnce no habrá problemas.
       
    • La versión de la librería que se encarga de colorear es la 1.0.3.0 (versión de Windows: 1.0.3.10) y es compatible con la anterior aunque tenga la nueva opción de convertir el código RTF a HTML (RTFaSPAN), aunque para mantener las cosas claras, también le he cambiado la versión.
       
  • 23/Nov/2006 (v1.0.1.34)
    • Arreglado bug detectado en Windows Vista, ya que la función GetTempPath devuelve la barra final del directorio, mientras que en Windows XP no la devuelve. No se si será cosas del Vista o de las librerías del .NET 3.0, pero me daba error y era por eso.
      Actualmente la actualización solo está por medio de ClickOnce.
       
    • También está actualizada la librería que se encarga de colorear el código, ahora permite mostrar el código coloreado de XML en formato RTF, aunque desde la aplicación solo se vea el código RTF, pero si se guarda, se verá como lo colorea. La versión de la librería es la 1.0.2.0

 

 



Ir al índice principal de el Guille