Consejo rápido Configuración de texto sublime 2 para la codificación de dardos

Sublime Text 2 es un potente editor de texto, popular debido a su disponibilidad multiplataforma y su habilidad para aprovechar las capacidades de TextMate preexistentes. Combine Sublime Text 2 con el nuevo lenguaje Dart de Google, y los codificadores de energía pueden ser muy felices.


Actualización: Nueva guía de videos

Nota del editor: Desde que este artículo se publicó por primera vez, se ha quedado obsoleto. Ahora hay un flujo de trabajo mucho mejor para usar Dart en Sublime Text 2, que Timothy Armstrong explica en este video:


El artículo original se deja sin editar a continuación..


Prerrequisitos

Para que esto suceda rápidamente, asumiré que tiene algún conocimiento fundamental. Debe estar familiarizado con lo siguiente para este consejo:

  • Un conocimiento práctico de los paquetes de Sublime Text 2. La mayor parte de esta sugerencia se centra en los pasos necesarios para crear nuestro propio paquete Dart, pero si nunca ha usado un fragmento de código antes de que desee realizar una copia de seguridad por un segundo e ir a aprender más acerca de Sublime Text.
  • Un conocimiento práctico de Dart también ayudará. Realmente no codificaremos ningún Dart en este consejo, pero tener unos cuantos archivos Dart con los que probar las cosas ayudará mucho.
  • Verificaremos el código de un repositorio de Subversion, y aunque le enviaré el comando que debe usar, esperamos que esta no sea la primera vez que usa Subversion.
  • Finalmente, un conocimiento general de su sistema operativo particular está en orden. Tendremos que hacer una pequeña cantidad de configuración y si se siente cómodo, por ejemplo, modificando un .bash_profile archivo a través de la Terminal, entonces estarás bien.

Si necesita material de lectura previa, le remito a lo siguiente:

  • La documentación de Sublime Text 2 (aunque no oficial) se conserva en sublimetext.info/docs. Las páginas en Paquetes, Definiciones de sintaxis y Fragmentos de texto fueron particularmente útiles en la redacción de este consejo..
  • La información sobre los dardos se puede encontrar en el sitio oficial, o siguiendo el tutorial de Introducción a Dart de Activetuts
  • Mucho se ha escrito sobre Subversion, por no mencionar un libro completo en línea. Eso es un poco más de lo que necesita, ya que simplemente necesita tener instalado Subversion y desproteger una sola carpeta
  • Google será su amigo cuando se trate de aprender más sobre la configuración de su sistema..

Paso 1: Instala Dart Editor

Realmente no usaremos Dart Editor (el objetivo de este tutorial es usar Sublime Text para el desarrollo de Dart, después de todo), pero la descarga incluye el Dart SDK, que es realmente lo que buscamos. Incluso si eres un fanático incondicional de Sublime Text 2, todavía no es una idea terrible tener instalado el "oficial" Editor de Dart..

En el sitio oficial de Dart, puedes descargar el Dart Editor desde el siguiente enlace:

http://www.dartlang.org/docs/getting-started/editor/

En el "Paso 1" de esa página, encontrará un enlace a un archivo ZIP que contiene los editores de Dart. Depende de 70-100 MB, dependiendo de su sistema operativo, por lo que no es una descarga terriblemente pesada. Pero hazlo empezar!

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 tutorial de introducción de Dart de Activetuts + (actualmente disponible exclusivamente a través de Facebook) lo guía a través del uso básico del Dart Editor..

Tenga en cuenta que si no desea instalar el 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


Paso 2: Si tienes Linux de 64 bits

Si tu no hacer tener una instalación de Linux de 64 bits, puede omitir este paso. (Sí, eso lo incluye a usted, a los usuarios de Windows y Mac; desplácese hacia abajo para obtener instrucciones).

Si tu son en una instalación de Linux de 64 bits, deberá instalar una biblioteca de 32 bits para ejecutar el compilador Dart, incluso si ha descargado el Editor de Dart de 64 bits. No soy un gurú de Linux de ninguna manera, pero esto funcionó para mí, en mi instalación de Ubuntu 11.

Vaya al Centro de software y busque "lib32stdc ++ 6" o "GNU Standard C ++ Library 32 bit". Instalarlo. Puede continuar con los siguientes pasos mientras se instala, solo asegúrese de que esta biblioteca se haya instalado correctamente antes de intentar ejecutar el sistema de compilación.


Paso 3: descargue el archivo de idioma Dart TextMate de Google

El archivo de idioma de TextMate está alojado en Google Code aquí (vista basada en web en el repositorio).

Esto es en realidad parte de un paquete TextMate más grande (pero no mucho más grande), pero solo nos interesa la gramática del idioma..

Antes de capturar ese archivo, cree una ubicación para que viva en su sistema. Tendrá que crear una carpeta llamada Dardo en la siguiente ubicación, dependiendo de su sistema operativo:

  • Mac OS: ~ / Library / Application Support / Sublime Text 2 / Packages / Dart
  • Windows 7: C: \ Users \ Administrator \ AppData \ Roaming \ Sublime Text 2 \ Packages \ Dart
  • Linux: ~ / .config / sublime-text-2 / Packages / Dart

A continuación, abra la interfaz de la línea de comandos y navegue hasta el interior de esa nueva creación. Dardo carpeta.

Subversion no facilita la extracción de un solo archivo, pero podemos exportar un solo archivo. Ingrese este comando:

 svn export http://dart.googlecode.com/svn/branches/bleeding_edge/dart/tools/utils/textmate/Dart.tmbundle/Syntaxes/Dart.tmLanguage

Después de un momento debes tener la Dart.tmLanguage archivo en su carpeta Dart.

Siga adelante y pruébelo (es posible que deba reiniciar Sublime Text). Abre un archivo Dart y echa un vistazo a la sintaxis colorida:


Un simple archivo Dart en Sublime Text 2, que muestra el resaltado de sintaxis

Paso 4: Localiza tu rana Ejecutable

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 en un sistema de compilación sublime más adelante para convertir nuestros archivos de Dart en JavaScript, por lo que ni siquiera necesitamos usarlo en la línea de comandos..

Para hacer el sistema de construcción, necesitamos el camino a nuestro rana ejecutable. Esto se descargó con el SDK de Dart (que descargó con el Editor de Dart o solo). Se ubicará en dart-sdk / bin / frogc. "dart-sdk" estará donde descargó y descomprimió el SDK por sí mismo, o se anidó justo dentro de dardo carpeta que también contiene la aplicación Dart Editor, que estará donde la colocó.

Necesitamos una ruta compatible con la línea de comandos para frogc. En Mac OS, puedes hacer esto:

Abre una ventana de Terminal y arrastra frogc hacia ella. La ventana contendrá el texto de la ruta del archivo que soltó.

Para ventanas:

Haga clic en la barra de direcciones de la ventana. Debería convertirse en una ruta de texto sin formato para la carpeta, que luego puede copiar. Deberá agregar "\ frogc.bat" al final para obtener la ruta a frogc, no solo la carpeta bin.

Si está en Linux, probablemente ya sepa cómo hacerlo..

Asegúrese de que el camino sea absoluto y esté disponible. Colóquelo en su portapapeles o en un archivo de texto reutilizable para el siguiente paso.


Paso 5: Crea un sistema de compilación Dart para compilar JavaScript

Para hacer este paquete de idioma. De Verdad útil, deberíamos configurar un sistema de compilación, que nos permita ejecutar archivos a través de un comando de compilación de shell.

En Sublime Text, elige la Herramientas> Sistema de compilación> Nuevo sistema de compilación ... menú. Se le presentará un nuevo archivo con los siguientes contenidos predeterminados:

"cmd": ["make"]

Esto es solo un objeto JSON que describe un comando de compilación muy básico. Agregaremos mucho más a esto para que sea útil para el desarrollo de Dart..

Con ese camino que determinó en el último paso disponible, podemos editar nuestro construcción sublime expediente.

Si estás en Mac o Linux, cambia el contenido del archivo a:

"cmd": ["/ Applications / dart / dart-sdk / bin / frogc", "$ file"], "file_regex": "^ (. + \\. dart): (\\ d +): (\ \ d +):. + \\ [0m (. +) $ "," selector ":" source.dart "

Lo anterior es lo que tengo en mi sistema Mac. En donde dice / Aplicaciones / dart / dart-sdk / bin / frogc, añade tu propio camino de rana.

Si estás en Windows, el archivo se verá bastante similar, pero debes cambiar el "cmd"línea a:

 "cmd": ["cmd", "/ C", "C: \\ insertar la ruta aquí \\ frogc.bat", "$ file"], "file_regex": "^ (. + \\. dart) : (\\ d +): (\\ d +):. + \\ [0m (. +) $ "," selector ":" source.dart "

Para explicar brevemente lo que esto hace, el cmd la propiedad es básicamente lo que se ejecuta en la línea de comandos. rana es fácil de usar: simplemente invoque el comando y aliméntelo con un archivo. los $ archivo parte de esa línea es una variable que se expande automáticamente a la página del archivo actual.

En Windows, las cosas son un poco más divertidas de forma predeterminada (al menos en este escenario; eso no es una excavación en Microsoft, ¡lo juro!). Lo que tenemos ejecutará la línea de comando de Windows (cmd) con el parámetro "no mantener la ventana de terminal arriba" (/DO, aunque incluso el "mantener la ventana de terminal arriba" / K el parámetro tampoco lo muestra), y ejecute frogc.bat, pasándole la ruta completa del archivo. Esta es la forma rápida de hacer que funcione, pero parece producir errores en la compilación actual. Este es probablemente un problema temporal, ya que en el momento de escribir esto, estos errores se producen con el SDK estándar y no con el último SDK. Vea el siguiente paso para una ruta alternativa.

los file_regex La línea es para fines de informe de errores. Si una línea en la salida del comando coincide con este patrón de expresión regular, se reconoce como un error y se presiona F4 Los resaltará por ti en el panel de salida..

Desafortunadamente, frogc usa códigos de estilo de texto para hacer que partes del mensaje de error tengan un color diferente y / o negrita. Cuando se canalizan a Sublime Text, estos códigos de estilo se presentan como texto regular, por lo que la salida puede ser un poco difícil de leer, con [0m y códigos similares salpicados entre el texto legible por humanos. No estoy enterado de ninguna manera de evitar esto, lamentablemente..

La linea final, selector, Especifica el alcance en el que este sistema de compilación debería tener lugar. Con este conjunto a source.dart, Los archivos de dardos deben elegir automáticamente este sistema de compilación. Sublime Text 2 sabe que un archivo ".dart" es un archivo Dart gracias a la gramática del idioma que instalamos.

Guardar este archivo como Dart-frogc.sublime-build en [Datos sublimes] / Paquetes / Usuario / Dart /


Paso opcional de usuario avanzado para Windows

Para evitar los errores mencionados en Windows, y también para hacer que su sistema de compilación se ajuste más a las versiones de Mac y Linux, podemos agregar la carpeta bin de dart-sdk al entorno de Windows, para que Sublime Text sepa buscar frogc.

Para agregar la ruta, haga clic en Inicio, luego haga clic con el botón derecho en Equipo y seleccione Propiedades. (Alternativamente: Panel de control> Sistema y seguridad> Sistema.) Haga clic en "Configuración avanzada del sistema", luego en "Variables de entorno".

Ahora, encuentre la variable "ruta", ya sea en Variables de usuario o Variables de sistema (funciona con cualquiera de ellas). Si no existe, puede hacer clic en Nuevo para crearlo, pero si existe, al hacer clic en Nuevo se sobrescribirá, así que tenga cuidado.

Agregue la ruta correcta al final de lo que ya está allí, usando un punto y coma para separarlo de todo lo demás. No hay necesidad de escapar de barras o reemplazar espacios con guiones bajos o algo por el estilo. El mío se parece a

C: \ Windows \ system32; C: \ Windows; C: \ Windows \ System32 \ Wbem; C: \ Users \ Administrator \ Downloads \ dart-win32-latest \ dart-sdk \ bin

(Desplácese por el cuadro de arriba a la derecha).

Eso te dejara correr frogc c: \ whatever \ source.dart desde la ventana de comandos, pero aún así no funcionará en Sublime Text 2. Por alguna razón, ST2 en Windows requiere que especifique la extensión de archivo en su archivo de sistema de compilación, así:

"cmd": ["frogc.bat", "$ file"]

En este punto, debería tener un sistema de compilación utilizable en Windows que sea menos probable que se rompa.


Paso 6: Usando el sistema de construcción

Anímate y prueba nuestro nuevo sistema de construcción. Abre un archivo Dart y presiona F7 o Control-B (en el Mac, Comando-B). "B" para segundoniño.

Debería ver el panel de salida abierto en la parte inferior, y si el Dart está libre de errores, simplemente verá [Terminado].

Si tiene errores, obtendrá una salida mucho más compleja. Por ejemplo:

Cuando esto ocurra, presione F4 avanzar por las distintas líneas de error, y Shift-F4 para retroceder. La línea de error se resaltará en el panel de salida y su cursor se colocará en la línea y columna identificadas por el error.


Paso 7: Comience a construir fragmentos

Hay potencialmente muchos fragmentos útiles para agregar a un paquete de Dart. Déjame que empiece agregando un fragmento que crea un nuevo método.

Desde el menú de texto sublime, elija Herramientas> Nuevo fragmento ... Nuevamente se le presentará un archivo predeterminado, este en formato XML. Cambia su contenido a:

  método source.dart 

Siéntase libre de cambiar los contenidos de la nodo de método A algo más que encontrarás más útil. Esto es lo que escribes antes de presionar Tab para obtener el fragmento.

Guarde el archivo como method.sublime-snippet (la extensión es crucial; el nombre base es el que aparecerá en tu fragmento como en los menús), en la siguiente ubicación relativa a tu carpeta de Paquetes de texto sublime 2:

/Dart/method.sublime-snippet

Ya debe tener la carpeta "Dart" de la instalación del archivo de gramática de idioma.

Ahora pruebe su nuevo fragmento de código (es posible que deba reiniciar Sublime Text, pero creo que esto ya no es un problema).

En un archivo Dart, escriba "método" (o lo que haya especificado, si forjó su propio disparador 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 has visto esto antes, entonces es un poco difícil de explicar de manera concisa, pero mira 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.

El campo está abierto para la creación de fragmentos de Dart que ahorran tiempo. Siéntete libre de publicar tus fragmentos en los comentarios..


Eso es todo

Y ahí lo tienes; Aquellos de uso que prefieren un determinado editor de texto sobre cualquier otra cosa pueden seguir haciéndolo, incluso con este nuevo lenguaje de Dart. Gracias por leer, y espero que hayas aprendido algo sobre la extensibilidad de Sublime Text 2 en el camino..