Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

?id=eb9f5628-68f5-461b-ac30-8dbd75ee2b43

Visual Studio Code + Angular: cómo montar un entorno de desarrollo productivo para este framework

Un motivo por el que se selecciona un framework frente a hacerlo todo a mano desde cero es el tiempo que te ahorras. El tiempo de un desarrollador es tremendamente importante (y caro) por eso existen herramientas como Angular, que proporcionan técnicas para optimizar el tiempo de desarrollo.

Aparte de escoger correctamente qué framework usar según nuestras necesidades, es muy importante aprender a trabajar de manera productiva con él, y esto implica aprender a configurar nuestro entorno de trabajo para facilitar el día a día. El entorno de trabajo puede que sea el punto más crítico de la productividad, y en lo que más tiempo se puede perder si no le dedicas la atención que merece. En este artículo te mostraré la configuración que yo utilizo al trabajar con Angular, aunque la mayoría de puntos que comento son aplicables a cualquier otro  framework JavaScript como React o VUE.js, ¡vamos a ello!

La interfaz de desarrollo o IDE

Éste puede que sea el punto más importante ya que a partir de aquí se definirá el resto de tu configuración. A día de hoy si trabajas en desarrollo web, en general, sólo existen dos opciones que merezcan la pena:

WebStorm (producto de JetBrains) es lo que se conoce como un "IDE de toda la vida". Un programa extremadamente completo y con múltiples plugins preinstalados y con soporte para múltiples tecnologías.

Webstorm editando un componente de Angular. Imagen obtenida de JetBrains

En el extremo opuesto está Visual Studio Code (cliente de Microsoft, a partir de ahora lo llamaré VSC para abreviar), un editor de texto ligero y rápido, más que un IDE propiamente dicho, pero con un potencial que compite con el mítico Sublime.

Visual Studio Code editando un archivo de Angular de la aplicación de ejemplo de nuestro curso online

Las dos principales diferencias que encuentro entre ambos son:

  • WebStorm viene por defecto con una configuración más completa para empezar a trabajar aunque, con la configuración correcta en VSC, sus funcionalidades son parejas.
  • WebStorm es de pago mientras que VSC es un cliente Open Source y gratuito, con una comunidad asombrosa detrás y mantenido por uno de los mejores equipos de desarrollo en Microsoft.

Yo profesionalmente me he encontrado usando cada vez más VSC y a día de hoy es lo que uso mayoritariamente en mi día a día. Es por este motivo que en el artículo de hoy me centraré en mostrarte la configuración que tengo para desarrollar principalmente en Angular pero que gran parte es extensible a cualquier framework.

Conoce Visual Studio Code y tu flujo de trabajo

Mi recomendación es que antes de hacer cualquier configuración le dediques un tiempo a repasar los siguientes puntos:

Los atajos de teclado es algo que nunca está de más conocer, te ahorran muchísimo tiempo y con que te sepas los 10 más comunes verás la productividad que obtienes. Algunos de los atajos que uso más a menudo son:

  • Ir a un archivo: Ctrl+P, Cmd+P, Ctrl+P
  • Seleccionar todos los elementos que coincidan con la búsqueda: Alt+Enter, Opt+Enter, Alt+Enter
  • Seleccionar cada elemento de la búsqueda uno a uno: Ctrl+D, Cmd+D, Ctrl+D
  • Añadir un cursor nuevo: Alt+Clic, Alt+Clic, Alt+Clic
  • Comentar/Descomentar una línea: Ctrl+/, Cmd+/, Ctrl+/
  • Mover una línea hacia arriba/abajo: Alt+Key Up/Key Down, Alt+Key Up/Key Down, Alt+Key Up/Key Down
  • Formatear documento: Ctrl+Shift+I, Alt+Shift+F, Alt+Shift+F
  • Seleccionar una línea: Ctrl+I, Cmd+I, Ctrl+I
  • Abrir visualizador de Markdown: Ctrl+Shift+V, Cmd+Shift+V, Ctrl+Shift+V

Estos son sólo uno de los pocos que uso en mi día a día, pero cuántos más te aprendas mejor.

Otro de los puntos que es recomendable repasar siempre es la de las Chrome DevTools, las herramientas para desarrolladores que incorpora Google en el navegador Chrome. Aunque no forma parte de VSC (en principio, ya que por debajo usa Chrome para funcionar), sí que es una parte imprescindible de tu flujo de trabajo y que debes conocer.

Además de toda esta información, suelo dejar la configuración por defecto del editor, a excepción de una opción que siempre me gusta tener activa. Si pulsas Cmd+, abrirás la configuración del cliente:

Ajuste del editor llamado Recortar Espacios en Blanco

Esta propiedad de configuración te limpiará el archivo de espacios en blanco innecesarios cada vez que lo guardes, lo que te evitará bastantes problemas en un futuro, sobre todo trabajando con Git (y siempre es bueno tener los archivos limpios).

Extensiones

Y llegamos posiblemente al punto que esperabas con más interés. Las extensiones son plugins que enriquecen a VSC con mejoras que no tiene de "serie", y que te ayudan tremendamente en el proceso de desarrollo. Cada proyecto es diferente y requerirá de una configuración propia en algunos casos, pero en general suelo usar en la mayoría de proyectos las siguientes extensiones:

Por suerte Angular no requiere de muchas extensiones de VSC para poder ser productivo. La única extensión que debes tener instalada casi obligatoriamente si trabajas con Angular es "Angular vX Snippets" (la X depende de la versión actual de Angular). Esta extensión te añade atajos al editor para generar estructuras de código de forma muy rápida con los principales patrones de trabajo y que tú sólo tengas que rellenar los huecos.

Si tuviera que escoger una única extensión que instalar en VSC sería esta sin duda alguna. Esta extensión te pinta en diferentes colores los paréntesis, corchetes y llaves según el nivel de identación facilitándote encontrar las parejas:

Es una extensión muy sencillita pero que te facilita mucho la vida. Permite ciertos niveles de configuración, aunque yo la uso con la configuración por defecto.

Otra de las extensiones más útiles que puedes instalar, ya que te permite conectar VSC con el propio Chrome y testear directamente desde VSC como si estuvieras con las DevTools del navegador.

Yo la he estado usando cada vez más por el simple hecho de no tener que estar cambiando de contexto y poder ejecutar todo el flujo desde VSC. Pero también es cierto que no te aporta nada nuevo si ya tienes costumbre de utilizar las herramientas de desarrollo de Chrome.

Estas extensiones las he descubierto hace poco, pero la combinación de ambas es un tándem muy útil. La primera te permite resaltar palabras claves como TODO y FIXME en el código para que sean visualmente más fáciles de encontrar:

Extensión en funcionamiento con un TODO resaltado

Mientras que la segunda te crea un árbol con todos los TODO encontrados en tu proyecto:

La combinación de ambas te crea una herramienta de trabajo muy útil típica en los IDEs más completos para destacar tareas que han quedado por hacer en medio del proceso de desarrollo y no se pudieron atender.

Esta extensión me resulta muy útil porque, aunque VSC implementa un visualizador de Markdown estupendo, con esta extensión puedo ver exactamente cómo quedaría el Markdown en GitHub, que es la plataforma con la que normalmente trabajo.

Los cambios son mínimos realmente pero siempre intento ser lo más fiel posible a producción y no encontrar sorpresas.

Otra buena combinación de extensiones que te pueden ser de gran ayuda en momentos muy concretos. No son extensiones que use en mi día a día pero son de esas cosas que cuando menos te lo esperas agradeces tenerlas a mano.

Si trabajas con Docker esta extensión es obligatoria instalarla. Aparte de añadir a VSC autocompletado para trabajar con los archivos de configuración de Docker también te habilita una pequeña ventana para gestionar tus imágenes/contenedores:

Esta extensión es muy (¡muy!) interesante ya que pocos clientes tan buenos he encontrado para generar diagramas de tipo UML.

UML (lenguaje unificado de modelado) es un lenguaje con el que generar todo tipo de diagramas. Yo lo suelo usar para crear los diagramas que representan el flujo de la aplicación y así compartirlos a modo de documentación con el equipo. Si no lo conocías hasta ahora te animo a que le eches un ojo:

Bienvenido a la mejor herramienta de pair programming que existe a día de hoy. Si VSC aún no te había convencido estas dos herramientas te convencerán de instalarlo.

La primera extensión te permite compartir un espacio de trabajo de VSC con otra persona a través de un enlace. Lo bueno es que no sólo le da acceso sin más a la otra persona, sino que incluso puedes definir si quieres que pueda hacer modificaciones o simplemente estar en un modo de sólo lectura, visualizar fácilmente qué es lo que hace etc.

La segunda extensión no es más que un complemento, pero aún así muy interesante, pues permite realizar una llamada directamente desde VSC sin necesidad de otras aplicaciones.

Conclusión

Como habrás podido ver Visual Studio Code (y sobre todo su comunidad) no tiene nada que envidiar a los IDEs más conocidos. Es cierto que cada proyecto y cada persona es un mundo, pero con estas pequeñas extensiones y algún que otro consejo espero puedas encontrarte a gusto trabajando con esta herramienta.

Éstas son sólo algunas de las extensiones que yo uso pero hay multitud de ellas, ¿hay alguna de las que tú usas que no he comentado? Anímate a dejar un comentario.

David García Valiñas David García es ingeniero informático. Domina diferentes tecnologías: Java, JavaScript, TypeScript, Unity, Angular... y posee una amplia experiencia en desarrollo web, aplicaciones de escritorio y videojuegos. En la actualidad trabaja para IBM Research. Puedes seguirlo en Twitter: @tansitos Ver todos los posts de David García Valiñas
Archivado en: Desarrollo Web

¿Te ha gustado este post?
Pues espera a ver nuestra newsletter...

Suscríbete a la newsletter

La mejor formación online para desarrolladores como tú

Comentarios (1) -

Paco Lopez
Paco Lopez

Buen manual!! Muchas gracias!! Es muy interesante y práctico

Responder

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.