Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Intellij idea logd快捷方式在带有Kotlin的Intellij中不起作用_Intellij Idea_Kotlin - Fatal编程技术网

Intellij idea logd快捷方式在带有Kotlin的Intellij中不起作用

Intellij idea logd快捷方式在带有Kotlin的Intellij中不起作用,intellij-idea,kotlin,Intellij Idea,Kotlin,使用诸如“logt”、“logd”、“loge”等快捷方式在Intellij中记录Java很容易。。。等等但我搬到了科特林,我注意到那些捷径已经不起作用了。我不知道它是否与我的配置有关,但如果不是,我如何解决这个问题?这些在IntelliJ中作为AndroidLog的实时模板配置提供,可在Preferences->Editor->Live Templates中找到,并且特别适用于Java代码: 您的配置中没有任何错误,但是如果您想使这些实时模板可用于Kotlin,您需要为AndroidLog添加

使用诸如“logt”、“logd”、“loge”等快捷方式在Intellij中记录Java很容易。。。等等但我搬到了科特林,我注意到那些捷径已经不起作用了。我不知道它是否与我的配置有关,但如果不是,我如何解决这个问题?

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

您的配置中没有任何错误,但是如果您想使这些实时模板可用于Kotlin,您需要为AndroidLog添加新的实时模板,并使它们适用于Kotlin代码


有一个开放的功能请求,要求将它们作为默认值添加到此处:

您应该创建单独的模板,以使它们正常工作。 以下是分步指南:


首先,将AndroidLog模板复制并粘贴到Kotlin,只需选择它们并使用CMD+C、CMD+V或Ctrl+C、Ctrl+V即可 其次,您必须手动调整它们: 1.洛格和其他人 选择logd项并按Edit variables

将表达式更改为:kotlinFunctionName

此外,删除;从模板的末尾开始,因为在Kotlin中不需要它

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

罗格特 这个有点棘手。 解决方案1标记=类名

模板文本: private val标记=$className$

编辑变量->表达式: groovyScript_1.takeMath.min23,_1.length;,kotlinClassName

解决方案2标记=文件名可在Companion中使用

模板文本:

private const val标记=$className$

或:

编辑变量->表达式:

groovyScript_1.takeMath.min23,_1.length;,不带OutExtension的文件名

编辑19.02.19 此外,它可能对某些人有用。 为了避免创建标记变量,可以将类名用作变量,例如:

Log.d("BaseActivity", "onCreate: ") 
其中BaseActivity是类名

该模板现在看起来如下所示:

android.util.Log.d("$CLASS_NAME$", "$METHOD_NAME$: $content$")
其中CLASS_NAME变量为:

groovyScript("_1.take(Math.min(23, _1.length()));", fileNameWithoutExtension())

在适用选项中更改模板的范围


在Android Studio 4.0中有一个新的AndroidLogKotlin块。您可以在那里实现@LeoDroidcoder的解决方案。

刚刚创建了@Leo Droidcoder描述的模板,谢谢!并上传到。只需下载.jar并通过'File>import Settings'将其导入Android Studio…'我已经尝试过这种方法,但在我下载之后似乎没有效果Apply@Chace确保您对正确的Java语言进行了更改/Kotlin@Chace我也有同样的问题,错误是没有定义上下文,我选择了Kotlin,如果您有相同的问题,您将在同一配置模板中看到一个警告符号,并显示消息No Applied contextCopy and paste AndroidLog templates-但我从何处复制和粘贴?@KaranSharma 1。打开Android studio首选项/设置2。在搜索中键入logd。->它将在编辑器->实时模板->AndroidLog中找到模板。其中AndroidLog是一个类别,您可以在其中看到logd、loge等模板。现在选择要复制的对象,例如logd和loge,在Mac上按Ctrl+C或Cmd+C。4.现在选择Kotlin类别并粘贴到那里,而不是AndroidLog
groovyScript("_1.take(Math.min(23, _1.length()));", fileNameWithoutExtension())