在Android Studio / Intellij想法中自动生成Android日志标记

在Intellij Idea中,当我inputpsfs ,然后按下Ctrl + J IDE时,我得到一个对话框:

在这里输入图像说明

而当我按下input我得到一个

在这里输入图像说明

我知道我可以在哪里定制自己的输出

在这里输入图像说明

但我不能任何文件如何我可以写我自己的活模板。

最后我想得到下一个结果:

键入: psfst – >按Ctrl + J – >按Enter键

结果:

public static final String TAG = <currentClassName>.class.getSimpleName();

这将是非常有益的,因为我有习惯logging我的课程。

Solutions Collecting From Web of "在Android Studio / Intellij想法中自动生成Android日志标记"

我find一个解决scheme

1)在普通组中创build一个新的活动模板
2)在模板文本中:

 private static final String TAG = $CLASS_NAME$.class.getSimpleName(); 

3)定义一个使用范围:

在这里输入图像说明

4)select一个快捷方式:

在这里输入图像说明

最后单击编辑variables并将expression式值更改为className()

在这里输入图像说明

点击确定应用确定并使用。

在Android Studio中已经存在这样的快捷方式 – 在光标处于类范围时写入logt。

更多在这里:

更多的在这里看到

另一个解决scheme是不使用每个类的默认TAG,并使用此方法来获取TAG:

 public class Utils { public static String getTAG(Object o) { StackTraceElement[] elements = Thread.currentThread().getStackTrace(); int position = 0; for (int i = 0; i < elements.length; i++) { if (elements[i].getFileName().contains(o.getClass().getSimpleName()) && !elements[i+1].getFileName().contains(o.getClass().getSimpleName())){ position = i; break; } } StackTraceElement element = elements[position]; String className = element.getFileName().replace(".java", ""); return "[" + className + "](" + element.getMethodName() + ":" + element.getLineNumber() + ")"; } } 

来自MainActivity的示例调用 – onResume:

 Log.v(Utils.getTAG(this), "hello world"); 

日志输出:

 [MainActivity](onResume:79): hello world