实时模板在 Kotlin 中不起作用
Live Template not working in 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 中不可用?
在AndroidStudio 3.0 Canary Version中不可用吗?
尚未在 Android Studio 的 Kotlin Live 模板部分 中添加日志模板。
设置 -> 编辑器 -> 实时模板 -> Kotlin for kotlin 模板。
设置 -> 编辑器 -> 实时模板 -> AndroidLog for AndroidLog 模板
.
所以你无法在 Kotlin 代码中获得相同的 AndroidLog 模板。
所以现在问题是How to use same Log Functions using templates in Kotlin?
答案: 您可以在 Kotlin 模板部分 添加相同的日志模板(Android日志模板)[=58] =] 工作室如下例。
然后它将在您的 Kotlin 代码中可用!
我希望通过这种方式,您可以利用 Kotlin 中的日志函数模板。
这是分步指南:
首先,将 AndroidLog 模板复制并粘贴到 Kotlin(只需 select 它们并使用 CMD+C、CMD+V(或 Ctrl+C、Ctrl+V )
其次,您必须手动调整它们:
- logd(loge、logv 和其他)
Select logd 项目并按 "Edit variables"
将表达式更改为:kotlinMethodName()
此外,从模板末尾删除 ;
,因为在 Kotlin 中不需要它。
现在您的方法名称将正确显示
- logt
这个有点棘手。
解决方案 1:TAG = class 名称。
模板文本:
private val TAG = "$className$"
编辑变量 -> 表达式:
groovyScript("_1.take(Math.min(23, _1.length()));", kotlinClassName())
方案二:TAG=文件名(可在Companion中使用)
模板文本:
private const val TAG = "$className$"
或:
companion object {
private const val TAG = "$className$"
}
编辑变量 -> 表达式:
groovyScript("_1.take(Math.min(23, _1.length()));", fileNameWithoutExtension())
您不需要复制粘贴其他答案中提到的任何内容。在 Android Studio 的 Live Templates 部分找到 "Applicable in *" 文本 - 点击 "Change" 按钮给出所有范围的列表。选择 Kotlin(或其子节点之一)并应用。请注意,Java 中的某些语句在 Kotlin 中不起作用(例如使用 static 关键字的语句)- 最好为它们创建一个新模板,而不是编辑现有模板。
Here 是包含 Android-Kotlin 的所有模板的存储库。
您需要做的就是下载存储库,复制 templates 目录并粘贴到您的 Android Studio 配置文件夹中。
您的 Android Studio 的配置文件夹位于
Windows: C:\Users\%userName%\.AndroidStudio<version>\config\templates
Linux: ~AndroidStudio<version>/config/templates
macOS: ~/Library/Preferences/AndroidStudio<version>/templates
这是@pRaNaY @Leo 和@Jaguar 的所有好答案与奖励 无标签和变量就绪用法的组合(无需键入“${ }")
模板文本: android.util.Log.d("$className$", "$methodName$ $$$contents$")
适用于 Kotlin: top-level, statement, class, expression
变量表达式可以在下拉菜单中找到
here you can see whole picture
对于 logt 以上两个答案有效但还需要添加 "define" 作为 "class"
希望您使用过 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 中不可用?
在AndroidStudio 3.0 Canary Version中不可用吗?
尚未在 Android Studio 的 Kotlin Live 模板部分 中添加日志模板。
设置 -> 编辑器 -> 实时模板 -> Kotlin for kotlin 模板。
设置 -> 编辑器 -> 实时模板 -> AndroidLog for AndroidLog 模板
所以你无法在 Kotlin 代码中获得相同的 AndroidLog 模板。
所以现在问题是How to use same Log Functions using templates in Kotlin?
答案: 您可以在 Kotlin 模板部分 添加相同的日志模板(Android日志模板)[=58] =] 工作室如下例。
然后它将在您的 Kotlin 代码中可用!
我希望通过这种方式,您可以利用 Kotlin 中的日志函数模板。
这是分步指南:
首先,将 AndroidLog 模板复制并粘贴到 Kotlin(只需 select 它们并使用 CMD+C、CMD+V(或 Ctrl+C、Ctrl+V )
其次,您必须手动调整它们:
- logd(loge、logv 和其他)
Select logd 项目并按 "Edit variables"
将表达式更改为:kotlinMethodName()
此外,从模板末尾删除 ;
,因为在 Kotlin 中不需要它。
现在您的方法名称将正确显示
- logt
这个有点棘手。
解决方案 1:TAG = class 名称。
模板文本:
private val TAG = "$className$"
编辑变量 -> 表达式:
groovyScript("_1.take(Math.min(23, _1.length()));", kotlinClassName())
方案二:TAG=文件名(可在Companion中使用)
模板文本:
private const val TAG = "$className$"
或:
companion object {
private const val TAG = "$className$"
}
编辑变量 -> 表达式:
groovyScript("_1.take(Math.min(23, _1.length()));", fileNameWithoutExtension())
您不需要复制粘贴其他答案中提到的任何内容。在 Android Studio 的 Live Templates 部分找到 "Applicable in *" 文本 - 点击 "Change" 按钮给出所有范围的列表。选择 Kotlin(或其子节点之一)并应用。请注意,Java 中的某些语句在 Kotlin 中不起作用(例如使用 static 关键字的语句)- 最好为它们创建一个新模板,而不是编辑现有模板。
Here 是包含 Android-Kotlin 的所有模板的存储库。
您需要做的就是下载存储库,复制 templates 目录并粘贴到您的 Android Studio 配置文件夹中。
您的 Android Studio 的配置文件夹位于
Windows: C:\Users\%userName%\.AndroidStudio<version>\config\templates
Linux: ~AndroidStudio<version>/config/templates
macOS: ~/Library/Preferences/AndroidStudio<version>/templates
这是@pRaNaY @Leo 和@Jaguar 的所有好答案与奖励 无标签和变量就绪用法的组合(无需键入“${ }")
模板文本: android.util.Log.d("$className$", "$methodName$ $$$contents$")
适用于 Kotlin: top-level, statement, class, expression
变量表达式可以在下拉菜单中找到
here you can see whole picture
对于 logt 以上两个答案有效但还需要添加 "define" 作为 "class"