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中的模板使用相同的日志function ?
回答:您可以在Android studio的Kotlin模板部分添加相同的日志模板(AndroidLog模板),如下例所示。
那么它将在您的Kotlin代码中可用!
我希望通过这种方式,您可以在Kotlin中获得Log函数模板的优势。
以下是一步一步的指导:
首先 ,将AndroidLog模板复制粘贴到Kotlin(只需选择它们并使用CMD + C,CMD + V(或Ctrl + C,Ctrl + V)
其次 ,你必须手动调整它们:
- logd(loge,logv等)选择logd项目,然后按“编辑variables”
将expression式更改为:kotlinMethodName() 另外,删除;
从模板的末尾开始,因为在Kotlin中不需要它。
现在您的方法名称将正确显示
- logt
这一个有点棘手。
解决方案1:TAG =类名称。
模板文本:
private val TAG = "$className$"
编辑variables – >expression式:
groovyScript("_1.take(Math.min(23, _1.length()));", kotlinClassName())
解决方案2:TAG =文件名 (可以在Companion里面使用)
模板文本:
private const val TAG = "$className$"
要么:
companion object { private const val TAG = "$className$" }
编辑variables – >expression式:
groovyScript("_1.take(Math.min(23, _1.length()));", fileNameWithoutExtension())
其他答案中提到的你不需要复制粘贴任何东西。 在Android Studio的“ 实时模板”部分find“适用于*”文本 – 单击“更改”按钮可以列出所有范围。 选择Kotlin(或其中一个子节点)并应用。 请注意,Java中的某些语句在Kotlin中将不起作用(如使用static关键字的语句) – 最好为这些语句创建一个新的模板,而不是编辑现有的模板。
这是包含Android-Kotlin所有模板的存储库。
所有你需要做的是下载版本库,复制模板目录并粘贴到你的Android Studio配置文件夹中。
你的Android Studio的配置文件夹可以在这里find
Windows: C:\Users\%userName%\.AndroidStudio\config\templates Linux: ~AndroidStudio /config/templates macOS: ~/Library/Preferences/AndroidStudio /templates