/idea-live-templates

An #androidDev collection of Live Templates for Android Studio

Primary LanguageShellApache License 2.0Apache-2.0

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, run git clone https://github.com/keyboardsurfer/idea-live-templates . and restart AndroidStudio.

Included live templates

the doc is generated by ./listCurrentTemplates

Android.xml

  • 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"
  • rouiT: "runOnUIThread"
  • 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"

AndroidComments.xml

  • 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"

AndroidExternal.xml

  • 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"

AndroidLog.xml

  • 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)"

AndroidParcelable.xml

  • 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"

AndroidXML.xml

  • appNs: "adds application namespace"
  • lh: "android:layout_height="""
  • lhm: "android:layout_height="match_parent""
  • lhw: "android:layout_height="wrap_content""
  • lw: "android:layout_width="""
  • lwm: "android:layout_width="match_parent""
  • lww: "android:layout_width="wrap_content""
  • 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 AOSP. The project the live templates live in is platform/tools/adt/idea. The path within the project is android/resources/liveTemplates.

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:

  1. Sign the CLA
  2. Fork the project
  3. Add your own live templates
  4. Run ./listCurrentTemplates.sh and insert the relevant output in the README.md
  5. Send a pull request
  6. Wait
  7. Profit

License

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.