我在Android Studio 3.1.2的File
,Settings...
,Editor
,Live templates
中创建了一个名为lgg
的新模板,以帮助调试我的Context
的问题:
Log.w("", "<" + $VAR2$ + "> is value of [$VAR2$]");
请注意,$VAR2$
出现在两个地方。当我输入lgg
并点击标签时,光标位于第一个$VAR2$
点,如下所示:
Log.w("", "<" +
的 []
+ "> is the value of [
] ")
当我输入 mContext 时,第二个$VAR2$
点与我输入的内容相呼应,如下所示:
Log.w("", "<" +
的 MCO
+ "> is the value of [
的 MCO
] ")
大!在执行期间,这样的东西输出(在我完成输入 mContext 和其他类似的行之后):
<com.dslomer64.sqhell.MainActivity@ca3e6b0> is the value of [mContext]
<android.view.ContextThemeWrapper@e330929> is the value of [builder.getContext()]
<android.app.AlertDialog$Builder@73b94ae> is value of [builder]
<android.widget.TextView{7c6ce5b V.ED..... ......ID 0,0-0,0}> is the value of [message]
我宁愿让对象的名字在值之前而不是在对象名之前的值。我宁愿让它作为调试输出...
The value of [mContext] is <com.dslomer64.sqhell.MainActivity@ca3e6b0>
但是为了首先显示对象名称,它必须在双引号内。也就是说,模板必须是......
Log.w("", "The value of [$VAR2$] is [" + $VAR2$ + "]")
...为了翻译成......
Log.w("", "The value of [mContext] is <" + mContext +">");
...使输出成为......
The value of [mContext] is <com.whoever.whatever.MainActivity@ca3e6b0>
但是自动完成是不可能的。
所以
为了将光标放在第二 $VAR2$
Log.w("", "<" +
+ "> is the value of [
的 []
] ")
... 首先 $VAR2$
中出现的输入回应?