- Settings - Editor - Live Templates
- Add Live Template or create a Template Group. Choose the Template Group option will create an .xml file with the same name of the Template Group you defined before.
- The .xml file can be found in a different folder, depends on the operating system.
Example:
Log.e(TAG,MESSAGE);
To create a Live Template for Log.e(...):
- Abbreviation: what we want to write in our code (shortcut word)
- Description: Whatever
- Template text:
Log.e("$CLASS_NAME$", "$METHOD_NAME$ - $END$");
- Edit Variables Expression:
$CLASS_NAME$ = className()
$METHOD_NAME$ = methodName()
- Check the Skip if defined checkbox for both variables
- Define Context, Java is fine.
We can copy/paste the following xml file to certain folter too.
* Windows: <your home directory>\.<product name><version number>\config\templates
* Linux: ~/.<product name><version number>/config/templates
* OS X: ~/Library/Preferences/<product name><version number>/templates
<templateSet group="Log">
<template name="loge" value="Log.e("$CLASS_NAME$","[error] $METHOD_NAME$ - $END$");" description="Log error" toReformat="false" toShortenFQNames="true">
<variable name="CLASS_NAME" expression="className()" defaultValue="" alwaysStopAt="false" />
<variable name="METHOD_NAME" expression="methodName()" defaultValue="" alwaysStopAt="false" />
<context>
<option name="JAVA_CODE" value="false" />
<option name="JAVA_STATEMENT" value="true" />
<option name="JAVA_EXPRESSION" value="false" />
<option name="JAVA_DECLARATION" value="false" />
<option name="JAVA_COMMENT" value="false" />
<option name="JAVA_STRING" value="false" />
<option name="COMPLETION" value="false" />
</context>
</template>
<template name="logd" value="Log.d("$CLASS_NAME$","[debug] $METHOD_NAME$ - $END$");" description="Log debug" toReformat="false" toShortenFQNames="true">
<variable name="CLASS_NAME" expression="className()" defaultValue="" alwaysStopAt="false" />
<variable name="METHOD_NAME" expression="methodName()" defaultValue="" alwaysStopAt="false" />
<context>
<option name="JAVA_CODE" value="false" />
<option name="JAVA_STATEMENT" value="true" />
<option name="JAVA_EXPRESSION" value="false" />
<option name="JAVA_DECLARATION" value="false" />
<option name="JAVA_COMMENT" value="false" />
<option name="JAVA_STRING" value="false" />
<option name="COMPLETION" value="false" />
</context>
</template>
<template name="logi" value="Log.i("$CLASS_NAME$","[info] $METHOD_NAME$ - $END$");" description="Log info" toReformat="false" toShortenFQNames="true">
<variable name="CLASS_NAME" expression="className()" defaultValue="" alwaysStopAt="false" />
<variable name="METHOD_NAME" expression="methodName()" defaultValue="" alwaysStopAt="false" />
<context>
<option name="JAVA_CODE" value="false" />
<option name="JAVA_STATEMENT" value="true" />
<option name="JAVA_EXPRESSION" value="false" />
<option name="JAVA_DECLARATION" value="false" />
<option name="JAVA_COMMENT" value="false" />
<option name="JAVA_STRING" value="false" />
<option name="COMPLETION" value="false" />
</context>
</template>
<template name="logv" value="Log.v("$CLASS_NAME$","[vervbose] $METHOD_NAME$ - $END$");" description="Log verbose" toReformat="false" toShortenFQNames="true">
<variable name="CLASS_NAME" expression="className()" defaultValue="" alwaysStopAt="false" />
<variable name="METHOD_NAME" expression="methodName()" defaultValue="" alwaysStopAt="false" />
<context>
<option name="JAVA_CODE" value="false" />
<option name="JAVA_STATEMENT" value="true" />
<option name="JAVA_EXPRESSION" value="false" />
<option name="JAVA_DECLARATION" value="false" />
<option name="JAVA_COMMENT" value="false" />
<option name="JAVA_STRING" value="false" />
<option name="COMPLETION" value="false" />
</context>
</template>
<template name="wtf" value="Log.wtf("$CLASS_NAME$","[wtf!] $METHOD_NAME$ - $END$");" description="Log What the Fuck" toReformat="false" toShortenFQNames="true">
<variable name="CLASS_NAME" expression="className()" defaultValue="" alwaysStopAt="false" />
<variable name="METHOD_NAME" expression="methodName()" defaultValue="" alwaysStopAt="false" />
<context>
<option name="JAVA_CODE" value="false" />
<option name="JAVA_STATEMENT" value="true" />
<option name="JAVA_EXPRESSION" value="false" />
<option name="JAVA_DECLARATION" value="false" />
<option name="JAVA_COMMENT" value="false" />
<option name="JAVA_STRING" value="false" />
<option name="COMPLETION" value="false" />
</context>
</template>
<template name="logw" value="Log.w("$CLASS_NAME$","[warning] $METHOD_NAME$ - $END$");" description="Log warning" toReformat="false" toShortenFQNames="true">
<variable name="CLASS_NAME" expression="className()" defaultValue="" alwaysStopAt="false" />
<variable name="METHOD_NAME" expression="methodName()" defaultValue="" alwaysStopAt="false" />
<context>
<option name="JAVA_CODE" value="false" />
<option name="JAVA_STATEMENT" value="true" />
<option name="JAVA_EXPRESSION" value="false" />
<option name="JAVA_DECLARATION" value="false" />
<option name="JAVA_COMMENT" value="false" />
<option name="JAVA_STRING" value="false" />
<option name="COMPLETION" value="false" />
</context>
</template>
</templateSet>