android kotlin live-templates

android - Plantilla Live no funciona en Kotlin



live-templates (6)

Espero que hayas trabajado con las plantillas en vivo que Android proporciona por defecto.

Me gusta:

Generate debug log statement: "logd"+TAB Generate error log statement: "loge"+TAB Generate info log statement: "logi"+TAB Generate TAG declaration: "logt"+TAB Generate parameter logging: "logm"+TAB Generate method return log: "logr"+TAB

¿Que no está disponible en KOTLIN ?

¿No está disponible en Android Studio 3.0 Canary Version ?


Aquí está la guía paso a paso:

Primero , copie y pegue las plantillas de AndroidLog en Kotlin (simplemente selecciónelas y use CMD + C, CMD + V (o Ctrl + C, Ctrl + V)
En segundo lugar , hay que ajustarlos manualmente:

  1. logd (loge, logv y otros) Seleccione el elemento logd y presione "Editar variables"

Cambiar expresión a: kotlinMethodName ()

Además, retire ; Desde el final de la plantilla, ya que no la necesitas en Kotlin.

Ahora su nombre de método se mostrará correctamente

  1. logt

Este es un poco más complicado.
Solución 1: TAG = nombre de la clase.

Texto de la plantilla:

private val TAG = "$className$"

Editar variables -> Expresión:

groovyScript("_1.take(Math.min(23, _1.length()));", kotlinClassName())

Solución 2: TAG = nombre de archivo (se puede usar dentro de Companion)

Texto de la plantilla:

private const val TAG = "$className$"

o:

companion object { private const val TAG = "$className$" }

Editar variables -> Expresión:

groovyScript("_1.take(Math.min(23, _1.length()));", fileNameWithoutExtension())


Esta es la combinación de todas las buenas respuestas de @pRaNaY @Leo y @Jaguar con un bono de uso libre de TAG y listo para variables (no es necesario escribir "$ {}")

Texto de la plantilla: android.util.Log.d ("$ className $", "$ methodName $ $$$ contents $")

Aplicable en Kotlin: nivel superior, declaración, clase, expresión

Las expresiones variables se pueden encontrar en el menú desplegable.

Aquí puedes ver la imagen completa


No es necesario copiar y pegar nada como se menciona en las otras respuestas. Localice el texto "Aplicable en *" en la sección Plantillas en vivo en Android Studio; al hacer clic en el botón "Cambiar" aparece una lista de todos los ámbitos. Elija Kotlin (o uno de sus nodos secundarios) y aplique. Tenga en cuenta que algunas declaraciones de Java no funcionarán en Kotlin (como las que usan palabras clave estáticas). Es mejor crear una nueva plantilla para esas, en lugar de editar la existente.


Para logt, las dos respuestas anteriores funcionan, pero adicionalmente es necesario agregar "definir" como "clase"


Sin embargo, no se agregó la plantilla de registro en la sección de plantillas de Kotlin Live en Android Studio.

Configuraciones -> Editor -> Plantillas en vivo -> Kotlin para plantillas kotlin .

Configuración -> Editor -> Plantillas en vivo -> Plantillas de AndroidLog para AndroidLog

.

Por lo tanto, no puede obtener las mismas plantillas de AndroidLog en el código Kotlin.

¿Así que ahora la pregunta es cómo usar las mismas funciones de registro usando plantillas en Kotlin ?

Respuesta: Puede agregar las mismas plantillas de registro (plantillas de registro de Android) en la sección de plantillas de Kotlin en el estudio de Android como se muestra a continuación.

¡Entonces estará disponible en tu código Kotlin!

Espero que de esta manera pueda obtener una ventaja de las plantillas de funciones de registro en Kotlin.


Here está el repositorio que contiene todas las plantillas para Android-Kotlin.

Todo lo que necesita hacer es descargar el repositorio, copiar el directorio de templates y pegarlo en su carpeta de configuración de Android Studio.

La carpeta de configuración de tu Android Studio se puede encontrar en

Windows: C:/Users/%userName%/.AndroidStudio<version>/config/templates Linux: ~AndroidStudio<version>/config/templates macOS: ~/Library/Preferences/AndroidStudio<version>/templates