Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/keyboardsurfer/idea-live-templates

An #androidDev collection of Live Templates for Android Studio
https://github.com/keyboardsurfer/idea-live-templates

android-studio android-studio-template

Last synced: 13 days ago
JSON representation

An #androidDev collection of Live Templates for Android Studio

Awesome Lists containing this project

README

        

## 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](https://www.jetbrains.com/idea/webhelp/live-templates.html)
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](http://tools.android.com/build)
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:

0. Sign the [CLA](CONTRIBUTING.md)
1. Fork the project
2. Add your own live templates
3. Run `./listCurrentTemplates.sh` and insert the relevant output in the README.md
4. Send a pull request
5. Wait
6. 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.
```