Consejo rápido Configuración de TextMate para la codificación de dardos

Dart es un nuevo lenguaje bastante bueno que podría significar un cambio en la forma en que escribes las aplicaciones web. Google proporciona un Dart Editor basado en Eclipse que proporciona un medio útil para comenzar. Pero los usuarios de TextMate por lo general encuentran una manera de doblar TextMate a su voluntad, y este Consejo rápido lo ayudará a comenzar a doblar para usar Dart con TextMate.


Prerrequisitos

Supongo que está familiarizado con los paquetes de TextMate al menos en el grado de lo que son y que agregan funcionalidad (generalmente específica al idioma) a TextMate. También asumo que está familiarizado con y es capaz de verificar el código de un repositorio de Subversion. Por último, asumo que tienes una pequeña experiencia con Dart. No necesitas mucho, pero tener algunos archivos Dart para abrir en TextMate hará que esto sea mucho más fácil..

Si no está familiarizado con Dart en este momento, puedo indicarle la fuente oficial de información: http://www.dartlang.org/. Más allá de eso, Activetuts + ha publicado anteriormente mi tutorial introductorio sobre el idioma, ¿Qué es Dart y Por qué debería importarte??


Instalar Dart Editor

Realmente no usaremos Dart Editor (el objetivo de este tutorial es usar TextMate para el desarrollo de Dart), pero la descarga incluye Dart SDK, que es realmente lo que buscamos. Incluso si eres un fanático incondicional de TextMate (como yo lo soy), todavía no es una idea terrible tener el "oficial" Dart Editor instalado y útil..

En el sitio oficial de Dart (consulte la sección anterior), puede descargar el Dart Editor desde el siguiente enlace: http://www.dartlang.org/docs/getting-started/editor/index-macos.html

Si está en Windows o Linux, pero está leyendo este tutorial a pesar de su naturaleza centrada en Mac, puede descargar Dart Editor para esas plataformas desde Dart Editor para páginas de Windows y Linux..

En el "Paso 1" de esa página, encontrará un enlace a un archivo ZIP que contiene los editores de Dart. Es alrededor de 40 MB, por lo que no es una descarga terriblemente pesada.

El Dart Editor se basa en Eclipse, por lo que si lo has usado estarás como en casa con el Dart Editor. No voy a entrar en detalles sobre su uso en este tutorial, pero siéntase libre de jugar con él. El bono actual de Activetuts + Facebook Fan lo lleva a través del uso básico del Dart Editor.

(Tenga en cuenta que si no desea instalar Dart Editor, puede descargar solo el Dark SDK para su sistema operativo en esta URL (solo son 2 o 3 MB): http://www.dartlang.org/docs/getting -started / sdk / index.html


Instalar rana

rana es el compilador de Dart-to-JavaScript. Es una herramienta de línea de comandos, pero afortunadamente es fácil de usar. Lo usaremos más adelante en un comando TextMate para convertir nuestros archivos de Dart en JavaScript, por lo que podemos usar nuestro código Dart hoy..

Abra la Terminal (que se encuentra en su / Aplicaciones / Utilidades / carpeta). Escriba lo siguiente:

 nano ~ / .bash-perfil

Si ya tiene algunas personalizaciones de PATH en curso, coloque el cursor después de estas líneas.

Tipo:

 export PATH = $ PATH:

Y luego arrastre el compartimiento carpeta, que debe estar ubicada en / Aplicaciones / dart / dart-sdk / bin, en la ventana de la Terminal. Si no está en ese lugar, busque un dart-sdk carpeta en algo que descargó (si descargó el SDK por sí mismo, esta debería ser la descarga, descomprimida). Deberías terminar con algo como esto:

 export PATH = $ PATH: / Applications / dart / dart-sdk / bin

Para guardar este archivo, presione Control-O (que es Controlar, no Comando), presione Retorno para confirmar el archivo para guardar, y luego presione Control-X para salir de nano.

Casi listo; He encontrado un problema con rana Si tiene espacios en los nombres de sus archivos o carpetas. Sin embargo, esto se puede arreglar fácilmente. Abrir rana. Es un script de shell ejecutable, así que no haga doble clic en él. En su lugar, arrástrelo a su ícono de TextMate, y es posible que aparezca un cuadro de diálogo de advertencia, pero debería poder ver el script corto. No necesitas entender lo que esto hace, solo cambia la última línea de esto:

 $ SCRIPTPATH ​​/ dart --new_gen_heap_size = 128 $ SCRIPTPATH ​​/ frogc.dart --libdir = $ LIBPATH $ @

… a esto:

 "$ SCRIPTPATH ​​/ dart" --new_gen_heap_size = 128 "$ SCRIPTPATH ​​/ frogc.dart" --libdir = "$ LIBPATH" "$ @"

Observe que, básicamente, he rodeado todas las rutas con comillas, lo que ayuda a evitar el problema del espacio..


Instalar Dart TMBundle de Google

Usted puede encontrar el .tmbundle en esta página de Google Code.

Puede consultar la fuente completa de Dart, que puede ser interesante de explorar, o simplemente puede consultar la .tmbundle. Usando la Terminal, navegue a la ubicación en la que le gustaría tener el código (escriba discos compactos luego arrastre de nuevo la carpeta de destino a la ventana del terminal - tenga en cuenta que hay un espacio después de discos compactos). Una vez que la Terminal esté en la ubicación deseada, ingrese esto para una verificación completa:

 svn checkout http://dart.googlecode.com/svn/trunk/ dart-read-only

... o esto solo por el .tmbundle:

 svn checkout http://dart.googlecode.com/svn/branches/bleeding_edge/dart/tools/utils/textmate/Dart.tmbundle

Si ha revisado todo el proyecto, puede navegar a la .tmbundle siguiendo este camino desde la raíz del proyecto: [dart-read-only] /dart/tools/utils/textmate/Dart.tmbundle. De cualquier manera, haga doble clic en el .tmbundle tener TextMate instalarlo.

A muchos usuarios de TextMate les gusta simplemente revisar .tmbundles directamente a su directorio de paquetes. Para hacer esto, navegue a ese directorio en la Terminal (esto debería hacerlo: cd "~ / Library / Application Support / TextMate / Pristine Copy / Bundles") y luego ejecute la segunda línea de pago de svn anterior (la que verifica solo el .tmbundle). De esta manera puede actualizar fácilmente el paquete en el lugar con svn up "~ / Library / Application Support / TextMate / Pristine Copy / Bundles".


Escribe un comando para compilar Dart a JavaScript

Google Dart Bundle es ideal para agregar soporte de sintaxis para Dart, por lo que cuando creas un archivo que termina en .dardo obtienes colores de sintaxis y código plegado y ese tipo de cosas. Pero no incluye ningún fragmento o comando. El comando más útil (de hecho, lo primero en lo que pensé) es un comando para compilar su script actual de Dart con rana para ti. Añadiremos uno en este paso..

En TextMate, abra el Editor de paquetes (presione Comando-Opción-Control-B, o ir a Paquetes> Editor de paquetes> Mostrar editor de paquetes)

Haga clic en la entrada Dart en la lista de la izquierda.

Con el "+Botón en la parte inferior izquierda, seleccione "Nuevo comando".

Debería ver aparecer un nuevo comando "sin título" debajo del paquete Dart. Renombrarlo a "Compilar con frogc"

En el área de texto grande a la derecha (etiquetada como "Comando (s)"), ingrese lo siguiente:

 frogc "$ TM_FILEPATH"

Sobre el área de texto, tiene la opción de que el comando guarde el archivo antes de ejecutar. Esto podría ser atractivo para usted (¡lo es para mí; una pulsación menos!). Si lo hace, entonces cambie la opción "Guardar" de "Nada" a "Archivo actual" o "Todos los archivos en el proyecto".

Debajo del área de texto, donde dice "Entrada", configúrelo en "Ninguno".

Debajo de eso, donde dice "Salida", configúralo en "Mostrar como información sobre herramientas". Esto permite que cualquier salida del comando aparezca en una información sobre herramientas cerca del cursor, lo que significa que si tiene errores mientras se ejecuta rana Puedes verlos. No son terriblemente bonitas pero es mejor que nada..

Abajo ese, donde dice "Activación", asegúrese de que esté configurado en "Equivalente a la clave" y luego coloque el cursor en el campo de texto a la derecha. Escriba Comando-B; esto configura este comando para que se active cuando escribas ese método abreviado de teclado. Comando-B es el idioma TextMate para un comando Construir si los paquetes tienen uno.

Debajo de eso, donde dice "Selector de alcance", escribe "source.dart # 8221;.

Su ventana de comando debe verse algo como esto:

Cerrar la ventana del editor de paquetes.


Paso 1: decirle a TextMate dónde rana es

Hemos configurado la Terminal para que sepa dónde. rana es, pero desafortunadamente TextMate no comparte esa información. La solución más sencilla es agregar la ruta de acceso que agregamos al archivo .bash_profile a sus preferencias de Textmate.

Abra las Preferencias de TextMate (presione Comando-, o vaya a TextMate> Preferencias ... ).

Haga clic en el botón Avanzado en la parte superior, luego haga clic en la pestaña Variables de Shell.

Si aún no tienes un CAMINO variable, haga clic en el botón "+" y, en la primera columna, escriba CAMINO.

En la segunda columna de la fila que comienza. CAMINO, escribe la ruta que agregaste a la .bash_profile (solo el camino, no la parte que dice CAMINO DE EXPORTACIÓN = @ CAMINO:). Asegúrese de dejar el valor existente intacto: agregue dos puntos al final de lo que ya está allí y luego cópielo en la nueva ruta.

Cierre la ventana de Preferencias y estará listo para probarlo. Si necesita un archivo Dart, puede crear un archivo Hello World creando un nuevo proyecto con Dart Editor, o puede extraer los ejemplos de la descarga de Dart Editor, en la carpeta "samples". Abre un archivo Dart en TextMate y pulsa Comando-B; Si todo va bien, debería tener un archivo JavaScript junto al archivo Dart después de unos segundos..


Paso 2: Obtener comentarios de rana

Si desea obtener un poco más sofisticado, puede cambiar el código de su comando de compilación a esto:

 result = "frogc" $ TM_FILEPATH "" si ["$ result" == ""]; luego echo "Compilación completada" de lo contrario echo $ result fi

Esto le dará una información sobre herramientas de "Compilación completada" una vez rana Se ejecuta en ejecución, si se ejecuta con éxito. Si tiene errores, todavía aparecerán como lo hicieron antes.

Otra opción: si le gustó la idea de guardar automáticamente los archivos al ejecutar el comando, podría gustarle la idea de reemplazar el comando Guardar con el comando Guardar y compilar. Esto es tan simple como cambiar Comando-B a Comando-S, y asegurarse de que está guardando el "Archivo actual" en el comando. Esto anula el Comando-S regular, que simplemente guarda el documento actual, con la ejecución de este comando, que guarda y luego compila.

Para completar, puede crear un comando duplicado que guarde "Todos los archivos" y tenga una clave de activación de Comando-Opción-S. Este acceso directo anulará la Comando-Opción-S regular en TextMate, que normalmente guarda todos los archivos en un proyecto. Tenga en cuenta que debido a que ha establecido un Selector de alcance, esta anulación solo ocurrirá en archivos Dart, no cada tiempo de guardar cualquier archivo.


Empezar a construir fragmentos

Hay potencialmente muchos fragmentos útiles para agregar a un paquete de Dart. En general, me encuentro agregándolos gradualmente a medida que conozco un idioma y descubro que el existente .tmbundle ya no incluye uno. Déjame que empiece agregando un fragmento que crea un nuevo método.

En el Editor de paquetes, asegúrese de seleccionar el paquete Dart (o un elemento en el paquete Dart), luego seleccione "Nuevo fragmento de código" de la "+Botón " Nombra "método".

En el área de texto grande, seleccione todo el texto existente y elimínelo. Ahora ingrese (o pegue) lo siguiente:

 $ 1: void $ 2: methodName ($ 3: argumentos) $ 0 $ 1 / void | (. +) / (? 1: \ n \ treturn null;) /

En "Activación", configure la ventana emergente en "Activar pestaña" e ingrese método en el campo de texto (siéntase libre de cambiar esto).

Debajo de "Selector de alcance", escribe source.dart.

Su fragmento debe tener este aspecto:

Cerrar el editor de paquetes.

Pruébalo. En un archivo Dart, escriba "método" (o lo que haya especificado, si forjó su propio activador de pestaña), presione Tab y vea cómo se expande. Puede desplazarse por las distintas paradas, comenzando en el tipo de retorno, luego al nombre del método y, finalmente, entre paréntesis si desea agregar argumentos. La última pestaña te dejará en la primera línea del método.

La parte interesante es que si cambia el tipo de retorno de vacío, obtienes una automática regreso nulo Declaración al final de tu cuerpo de método. Naturalmente, querrá adaptar esto a sus necesidades, pero es de esperar que sea una función que ahorra escribir un poco. La magia ocurre en la segunda línea difícil de manejar del fragmento; si nunca ha visto esto antes, entonces es un poco difícil de explicar de manera concisa, pero se ve en el contenido de la primera tabulación (el tipo de retorno) y si es algo diferente a "vacío”, Agrega el regreso nulo. Podría tener sentido si alguna vez ha usado expresiones regulares, particularmente con la sintaxis de sustitución de / patrón / sustituto / encontrado en Perl.

Dado que Google no proporciona fragmentos con sus .tmbundle, El campo está abierto para la creación de fragmentos de Dart que ahorran tiempo. Siéntase libre de publicar sus fragmentos en los comentarios. Los compilaremos y veremos si podemos lograr que Google los incorpore en su paquete oficial..


Eso es todo

¡Gracias por leer! Espero que estés tan entusiasmado con Dart como yo. Y el Dart Editor está limpio y todo, pero soy un tonto para TextMate. Combinar Dart con mi editor de texto de elección es algo que solo tenía que ser compartido.