实时模板在Kotlin中不起作用

时间:2017-06-06 04:19:44

标签: android kotlin live-templates

希望您使用默认情况下由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

enter image description here

KOTLIN 中没有?

Android Studio 3.0 Canary版本

中是否无法使用?

6 个答案:

答案 0 :(得分:21)

以下是分步指南:

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

  1. logd(loge,logv等) 选择已记录的项目,然后按“编辑变量” enter image description here
  2. 将表达式更改为:kotlinMethodName() enter image description here

    此外,请从模板末尾删除;,因为您在Kotlin中不需要它。

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

    1. logt
    2. 这个有点棘手。
      解决方案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())
      

答案 1 :(得分:15)

但未在Android Studio的 Kotlin Live模板部分中添加日志模板。

设置 - >编辑 - >实时模板 - > Kotlin 用于 kotlin 模板。

kotlin templates

设置 - >编辑 - >实时模板 - >针对 AndroidLog 模板

的AndroidLog

AndroidLog  templates

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

现在问题如何使用Kotlin中的模板使用相同的日志函数

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

Kotlin Templates section

然后它将在您的Kotlin代码中提供!

Kotlin loge

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

答案 2 :(得分:8)

您不需要像其他答案中提到的那样复制粘贴内容。在Android Studio的实时模板部分中找到"适用于*" 文本 - 点击"更改"按钮给出所有范围的列表。选择Kotlin(或其中一个子节点)并申请。请注意,Java中的某些语句在Kotlin中不起作用(比如使用静态关键字的语句) - 为这些语句创建新模板更好,而不是编辑现有模板。

enter image description here

答案 3 :(得分:4)

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

答案 4 :(得分:0)

这是@pRaNaY @Leo和@Jaguar的所有良好答案与奖金的免标记和变量就绪用法的组合(无需键入“ $ {}”)

模板文本: android.util.Log.d(“ $ className $”,“ $ methodName $ $$$ contents $”)

适用于科特林:顶层,语句,类,表达式

变量表达式可以在下拉菜单中找到

here you can see whole picture

答案 5 :(得分:0)

对于logt,以上两个答案有效,但还需要在“类”中添加“定义”

enter image description here