What is this?
A collection of useful live templates that you can use within your AndroidStudio or IntelliJ IDEA installation.
I can haz?
All vanilla Android templates live within Android Studio since version 1.5. So if you're happy with the defaults there's no need for you to use this repository any more. Just install a recent version of Android Studio and you're all set.
If you want to make your own live templates this collection can be used as starting point. To get started, simply clone this repository to your Android Studio's config/templates folder.
JetBrains has you covered in finding the location of this folder.
Once you found it,
cd into it,
git clone https://github.com/keyboardsurfer/idea-live-templates .
and restart AndroidStudio.
Included live templates
the doc is generated by
const: "Define android style int constant"
fbc: "findViewById with cast"
foreach: "Create a for each loop"
gone: "Set view visibility to GONE"
IntentView: "Creates an Intent with ACTION_VIEW"
key: "Key for a bundle"
newInstance: "create a new Fragment instance with arguments"
noInstance: "private empty constructor to prohibit instance creation"
rgS: "get a String from resources"
sbc: "block comment for structuring code"
Sfmt: "String format"
starter: "Creates a static start(...) helper method to start an Activity"
Toast: "Create a new Toast"
ViewConstructors: "Adds generic view constructors"
visible: "Set view visibility to VISIBLE"
wrapIt: "adds a gradle wrapper task"
ccode: "code tag for javadoc"
cfalse: "puts false in a comment section"
clink: "link from within javadoc"
ctrue: "puts true in a comment section"
fixme: "adds // FIXME"
noop: "indicate that a method does not have any operations"
stopship: "adds // STOPSHIP"
todo: "adds // TODO"
createObservable: "Create RxJava Observable"
Crouton: "Creates a new Crouton"
CroutonFragment: "Creates a new Crouton for display within a fragment"
CroutonShow: "Creates a new Crouton with Crouton.showText"
onEvent: "Adds onEvent method for eventbus"
onEventMainThread: "Adds onMainThreadEvent method for eventbus"
logd: "Log.d(TAG, String)"
loge: "Log.e(TAG, String, Exception)"
logi: "Log.i(TAG, String)"
logm: "Log method name and its arguments"
logr: "Log result of this method"
logt: "A static logtag with your current classname"
logw: "Log.w(TAG, String, Exception)"
wtf: "Log.wtf(TAG, String, Exception)"
Parcelable: "Create a parcelable block for your current class"
ParcelableEnum: "Create a parcelable block for your current enum"
ParcelableEnumTest: "Creates basic parcelable enum test methods"
ParcelBoolean: "writes a single boolean value to a parcel"
UnparcelBoolean: "reads a single boolean value from a parcel"
UnparcelIntArray: "Unparcels an int array"
UnparcelStringArray: "Unparcels a String array"
appNs: "adds application namespace"
toolsNs: "adds tools namespace to Android xml file"
Contribution to this collection
If you want to add a core Android template, do so directly within
The project the live templates live in is
The path within the project is
The Android tools team provides further documentation as well as info on which branch to build.
If you want to supply a template that is not core Android but useful, follow this guide:
- Sign the CLA
- Fork the project
- Add your own live templates
./listCurrentTemplates.shand insert the relevant output in the README.md
- Send a pull request
Copyright 2016, The Android Open Source Project Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.