Los Live Templates son una forma de evitar código repetitivo en entornos de desarrollo como Android Studio o IntelliJ.

Cuando estamos escribiendo código, hay veces que nos sucede cierto código repetitivo que no hay forma de encapsular de otra manera.

Para estas ocasiones, los Live Templates son una solución ideal que te puede ahorrar mucho tiempo.

Lo único que necesitas es una plantilla y un nombre, y con ello podrás añadir rápidamente ese código personalizado para el caso particular.

Te voy a poner el ejemplo que se te dará mucho si utilizas los Architecture Components, y en particular el patrón MVVM para Android.

Creando Live Templates para LiveData

Ocurre que cuando queremos utilizar un LiveData en un ViewModel, normalmente querremos tener un componente modificable para poder actualizar su valor.

Pero no nos interesa que ese valor se pueda modificar desde fuera. Lo que se recomienda es escribir un código como este:

private val _message = MutableLiveData<String>()
val message: LiveData<String> get() = _message

De esa forma, nos protegemos de que nos cambien algo desde otra clase que tenga acceso a nuestro estado.

Pero si te fijas, hay un montón de código repetitivo que podríamos ahorrarnos.

¿Qué podemos hacer con LiveData? Algo como esto:

Si te fijas, con escribir el nombre del template y seleccionarlo en las sugerencias, ya nos autorrellena la mayor parte del código.

Pero luego además nos deja rellenar un par de huecos: el nombre de la variable y el y tipo. Como se usa en las dos líneas, cuando lo escribimos en una se autorrellena en la siguiente.

¿Cómo hacemos esto?

1. Crea un nuevo Live Template

Para ello ve a:

  • Settings (Preferences en Mac)
  • Editor
  • Live Templates
  • Haz click en “+”

2. Elige la abreviatura

Elige la abreviatura que quieras. Servirá para que aparezca en el autocompletado cuando estés escribiedo.

También puedes ponerle una descripción para acordarte de su uso:

3. Escribe el texto del Live Template

Aquí escribirás el código que no quieras repetir cada vez. Donde quieras que haya una variable, escríbela con $x$.

El autocompletado se parará en ese punto para que lo rellenes. Si pones el mismo nombre de variable en otros sitios, se repetirá su valor en esos lugares.

En nuestro caso escribiríamos:

private val _$VAR$ = MutableLiveData<$TYPE$>()
val $VAR$: LiveData<$TYPE$> get() = _$VAR$

4. Elige el contexto

Esto indica las situaciones en las que se te va a sugerir este live template.

En nuestro caso lo queremos para código Kotlin:

¡Y ya puedes usarlo!

Live Templates: Conclusión

Como ves, es muy sencillo definir estos live templates, y te pueden ahorrar repetir mucho código innecesario.

Así que te animo a que hagas los tuyos propios y los compartas en la sección de comentarios.

Si quieres una cheatsheet, puedes encontrar una de live templates en mi perfil de Instagram.

Author: Antonio Leiva

Soy un apasionado de Kotlin. Hace ya más de dos años que estudio el lenguaje y su aplicación a Android para ayudarte a ti a aprenderlo de la forma más sencilla posible.