[Obsoleto - Usar VSCode] AHK v2 & SublimeText 3 - El mejor editor para tus scripts y consejos
Posted: 12 Aug 2017, 20:29
by Flipeador
Esta publicación ha quedado obsoleta.
Ver VSCode - AutoHotkey v2 Language Support
Contenido antiguo (obsoleto):
Ver VSCode - AutoHotkey v2 Language Support
Contenido antiguo (obsoleto):
Spoiler
Introducción | Sublime Text Ⅲ - Potente completo editor de texto
Siempre he utilizado el editor SciTE4 AutoHotkey para editar mis Scripts, pero debido a que hace mucho que no recibe actualizaciones y no está disponible la sintaxis para AutoHotkey 2 (entre otras cosas), he decidido buscar otro editor.
Me he encontrado con Sublime Text (que ya conocía pero nunca le he dedicado tiempo) y decidí escribir mi propia sintaxis para AHK 2.
Sublime Text puede ser descargado y evaluado de forma gratuita, sin embargo, una licencia se debe comprar para su uso continuo. Actualmente no se aplica un plazo para la evaluación. Igualmente, pueden buscar una licencia en internet.
Sublime Text ofrece un alto rendimiento, es más agradable visualmente que otros editores, soporta varios lenguajes y muchos otros que podemos descargar, ofrece varias opciones de personalización, permite trabajar con espacios en lugar de tabulaciones, sintaxis fácil de entender para crear nuestros propios estilos de lenguaje, un modo de edición más cómodo, completo y agradable para editar nuestro código.
[spoiler2=Clic en 'show' para ver más imagenes][/spoiler2]
Sublime Text 3 y AutoHotkey 2
Esta es una sintaxis completa con auto-completado y resaltado de palabras para la versión 2 de AutoHotkey para el editor de texto Sublime Text 3. Aquí puede ver algunas imágenes de vista previa de la sintaxis (tenga en cuenta que las imágenes pueden estar desactualizadas).
[spoiler2=Clic en 'show' para ver más imagenes]
[/spoiler2]
Consejos y buenas prácticas de programación
Notas
Errores conocidos y otras cuestiones
Instrucciones | Instalación
Sobre Sublime Text | USO
Algunos enlaces
Siempre he utilizado el editor SciTE4 AutoHotkey para editar mis Scripts, pero debido a que hace mucho que no recibe actualizaciones y no está disponible la sintaxis para AutoHotkey 2 (entre otras cosas), he decidido buscar otro editor.
Me he encontrado con Sublime Text (que ya conocía pero nunca le he dedicado tiempo) y decidí escribir mi propia sintaxis para AHK 2.
Sublime Text puede ser descargado y evaluado de forma gratuita, sin embargo, una licencia se debe comprar para su uso continuo. Actualmente no se aplica un plazo para la evaluación. Igualmente, pueden buscar una licencia en internet.
Sublime Text ofrece un alto rendimiento, es más agradable visualmente que otros editores, soporta varios lenguajes y muchos otros que podemos descargar, ofrece varias opciones de personalización, permite trabajar con espacios en lugar de tabulaciones, sintaxis fácil de entender para crear nuestros propios estilos de lenguaje, un modo de edición más cómodo, completo y agradable para editar nuestro código.
Sublime Text 3 y AutoHotkey 2
Esta es una sintaxis completa con auto-completado y resaltado de palabras para la versión 2 de AutoHotkey para el editor de texto Sublime Text 3. Aquí puede ver algunas imágenes de vista previa de la sintaxis (tenga en cuenta que las imágenes pueden estar desactualizadas).
[/spoiler2]
Consejos y buenas prácticas de programación
- Siempre utiliza espacios para sangrar el código (normalmente 4 espacios), entonces se verá correctamente cuando lo copiemos en otros editores o sitio en internet.
- Si necesitas añadir tabulaciones en una cadena, utiliza siempre `t o A_Tab, ya que ciertos editores sobreescriben las tabulaciones por espacios, si así está establecido en las opciones del programa.
- Recuerda siempre comentar tu código. El uso más beneficioso de los comentarios 'en línea' es una explicación simplista para una pequeña funcionalidad; y los comentarios en bloque cuando necesitas incluir una gran explicación en general, por ej. para describir que hace una función y sus parámetros.
- Ciertas tareas requieren unas pocas líneas de código. Es una buena idea mantener estas tareas dentro de bloques separados de código, con algunos espacios entre ellos.
- Siempre utiliza nombres descriptivos para las variables, funciones... ya sea una obreviación o la palabra completa, siempre y cuando no se alargue demasiado o el código quedaría ilegible. Para variables de uso temporal o como contador, n,j,x,y,foo,bar,tmp es una buena opción.
- Es una buena práctica evitar escribir largas líneas horizontales de código.
- Evita el Código espagueti y acostúmbrate a utilizar en lo posible solo funciones (evitando etiquetas/labels, goto y gosub).
- Utiliza la directiva #Warn para asegurarte de escribir código fiable, claro y utilizando buenas prácticas de programación. Siempre inicializa/declara las variables antes de utilizarlas; así, por ejemplo, asegúrate de declarar las variables locales en una función utilizando Local VarName, entonces tus variables locales dentro de tu función no entrarán en conflicto con variables super-globales, como por ejemplo con nombres de Clases o variables declaradas como Global VarName.
- Temas interesantes:
Notas
- Agradezco cualquier contribución en los comentarios, ya sea para mejorar el resaltado de las palabras (regex), uso de otros colores mas legibles o tu propio estilo, o en general cualquier tipo de aporte. El auto-completado se define en AutoHotkey.sublime-completions; los colores utilizados en el resaltado de las palabras y otras cosas generales se define en DarkAHK.tmTheme; las expresiones regulares (regex) se definen en AutoHotkey.sublime-syntax.
- Hay varias funciones que he puesto en el auto-completado que no existen pero que al presionar 'Enter' o 'Tab' se transforman para ser válidas, por ejemplo, StrLeft --> {Enter|Tab} --> SubStr(String, 1, Length).
- No estoy interesado en realizar una sintaxis aparte para AutoHotkey versión 1, eres libre de hacerla y compartirla, o bien, utilizar esta.
- La sintaxis esta probada en Sublime Text 3.1.1 Build 3176 (2018). No utilices versiones sin terminar o puedes tener problemas con la sintaxis.
- Actualmente Sublime Text es "gratis", pero de vez en cuando nos aparecerá con mensaje para que compremos una licencia, pueden buscar una licencia en Internet o crear un script en AHK para cerrar automáticamente esta ventana al aparecer.
Errores conocidos y otras cuestiones
- Al definir una tecla de acceso rápido que comienza con *~! no es detectada correctamente.
- Pobre y poco eficiente detección de errores de sintaxis. No se detectan bloques sin cerrar (', ", [, (, {).
- Sin soporte para compilar/ejecutar código desde Sublime Text. Una forma de probar código de forma rápida y sencilla desde cualquier lugar, es asignar una combinación de teclas que ejecute el texto seleccionado como un archivo AHK, para ello utilizo la función ExecScript.
Instrucciones | Instalación
- Primero debemos descargar e instalar Sublime Text 3, para ello has clic en este enlace. Puedes descargar la version portable si lo deseas, que es la que yo utilizo.
- [opcional] Antes de continuar, te aconsejo instalar Package Control. Has clic en Install Now y copia el texto que esta en el recuadro de Sublime Text 3. Abrimos Sublime Text, abrimos la consola haciendo clic en View\Show Console, pegamos el texto previamente copiado y hacemos clic en la tecla Enter. Una vez terminada la instalación de Package Control cerramos Sublime Text para proceder con la 'instalación' de la sintaxis para AHK.
- Una vez instalado, buscamos y abrimos la carpeta de datos del programa, si descargaron la version portable la carpeta es la que contiene al archivo sublime_text.exe (que recomiendo crear en C:\Archivos de programa\Sublime Text 3); si eligieron el instalador la carpeta probablemente sea %appdata%\Sublime Text 3.
- Una vez dentro de la carpeta del programa, nos dirigimos a este enlace y descargamos todos los archivos (clic aquí para descargar).
- Descomprimimos el archivo ZIP (utiliza 7-Zip, es gratis) y copiamos la carpeta Data en la carpeta de Sublime Text, reemplazando todos los archivos si es necesario.
- Ya esta hecho! podemos abrir Sublime Text y empezar a editar nuestros Scripts .
Sobre Sublime Text | USO
- Para cambiar el tema debes dirigirte al menú Preferences\Color Scheme.
- Para cambiar la sintaxis actual a AutoHotkey 2, hacemos clic en el menú View\Syntax\AutoHotkey 2.
- Te recomiendo siempre guardar los archivos en la codificación UTF-8 with BOM (unicode). Debemos dirigirnos a File\Save with Encoding\UTF-8 with BOM. Esto es para asegurarnos que los caracteres Unicode se visualicen y guarden correctamente en nuestro archivo de texto AHK.
- Con respecto al auto-completado, cuando escribimos una palabra, aparece en la lista y luego presionamos Enter/Tab para aceptar, varios auto-completados aceptan el uso de TAB para desplazarse entre cada parámetro; por ejemplo, si escribimos Switch nos aparece Switch-case, presionamos la tecla Enter y automáticamente se nos crea la sintaxis y nos posiciona el cursor para escribir el valor SwitchValue, si presionamos TAB nos moverá a CaseValue1 para modificarlo, luego a Statements1.
Algunos enlaces
- Página de inicio: https://www.sublimetext.com/
- Sublime Text Unofficial Documentation: http://docs.sublimetext.info/en/latest/intro.html
- Sublime Text Official Documentation: https://www.sublimetext.com/docs/3/
- Color Schemes: https://www.sublimetext.com/docs/3/color_schemes.html
- Syntax Definitions: https://www.sublimetext.com/docs/3/syntax.html
- Scope Naming: https://www.sublimetext.com/docs/3/scope_naming.html