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模板部分没有添加日志模板。
设置 – >编辑 – >实时模板 – > Kotlin为kotlin模板。
设置 – >编辑 – >实时模板 – > AndroidLog AndroidLog模板
。
所以你不能在Kotlin代码中获得相同的AndroidLog模板。
所以现在问题是如何使用Kotlin中的模板使用相同的日志功能 ?
回答:您可以在Android studio的Kotlin模板部分添加相同的日志模板(AndroidLog模板),如下例所示。
那么它将在您的Kotlin代码中可用!
我希望通过这种方式,您可以在Kotlin中获得Log函数模板的优势。
以下是一步一步的指导:
首先 ,将AndroidLog模板复制粘贴到Kotlin(只需选择它们并使用CMD + C,CMD + V(或Ctrl + C,Ctrl + V)
其次 ,你必须手动调整它们:
- logd(loge,logv等)选择logd项目,然后按“编辑变量”
将表达式更改为:kotlinMethodName() 另外,删除;
从模板的末尾开始,因为在Kotlin中不需要它。
现在您的方法名称将正确显示
- 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())