Live模板不能在Kotlin中工作

希望你已经使用Android默认的实时模板。

喜欢:

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 

在这里输入图像描述

它在KOTLIN中不可用?

Android Studio 3.0 Canary版本中不可用吗?

而Android Studio中的Kotlin Live模板部分没有添加日志模板。

设置 – >编辑 – >实时模板 – > Kotlinkotlin模板。

kotlin模板

设置 – >编辑 – >实时模板 – > AndroidLog AndroidLog模板

AndroidLog模板

所以你不能在Kotlin代码中获得相同的AndroidLog模板。

所以现在问题如何使用Kotlin中的模板使用相同的日志功能

回答:您可以在Android studio的Kotlin模板部分添加相同的日志模板(AndroidLog模板),如下例所示。

Kotlin模板部分

那么它将在您的Kotlin代码中可用!

Kotlin loge

我希望通过这种方式,您可以在Kotlin中获得Log函数模板的优势。

以下是一步一步的指导:

首先 ,将AndroidLog模板复制粘贴到Kotlin(只需选择它们并使用CMD + C,CMD + V(或Ctrl + C,Ctrl + V)
其次 ,你必须手动调整它们:

  1. logd(loge,logv等)选择logd项目,然后按“编辑变量” 在这里输入图像描述

将表达式更改为:kotlinMethodName() 在这里输入图像描述 另外,删除; 从模板的末尾开始,因为在Kotlin中不需要它。

现在您的方法名称将正确显示

  1. logt

这一个有点棘手。
解决方案1:TAG =类名称。

模板文本:

 private val TAG = "$className$" 

编辑变量 – >表达式:

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

解决方案2:TAG =文件名 (可以在Companion里面使用)

模板文本:

 private const val TAG = "$className$" 

要么:

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

编辑变量 – >表达式:

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