logd快捷方式在Intellij与Kotlin不起作用

在Intellij中记录Java很容易,比如“logt”,“logd”,“loge”等等。 但是我转移到Kotlin,我注意到那些快捷键不再工作了。 我不知道它是否与我的配置有关,但如果没有,我该如何解决这个问题?

您应该创建单独的模板,以使其正常工作。
以下是一步一步的指导:

首先,将AndroidLog模板复制并粘贴到Kotlin中(只需选择它们并使用CMD + C,CMD + V(或Ctrl + C,Ctrl + V))其次,您必须手动调整它们:1. 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())

这些在IntelliJ中作为AndroidLog的实时模板配置(在Preferences -> Editor -> Live Templates )中提供,并且特别适用于Java代码: AndroidLog Live模板配置

您的配置中没有任何内容被破坏,但是如果您希望为Kotlin提供这些实时模板,则需要为AndroidLog添加新的实时模板,并使其适用于Kotlin代码。

https://www.jetbrains.com/help/idea/2017.1/creating-and-editing-live-templates.html

有一个打开的功能请求,在这里添加默认值: https : //youtrack.jetbrains.com/issue/KT-10464