Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

[Android Studio] Kotlin Android live template

Android Studio 4.0 の新機能のうち Live Template が少し気になっていたので調べてみた。
Kotlin Android live template
調べ始めたら、そんなに調べることもないことがわかった…。

Live Template を調べてみると、結構昔からある機能じゃない?新機能ってどういうことだ?と思ったら、4.0で変わったのは「Kotlin関連のクラスのlive templateを追加したよ」くらいの話らしい。

リリースノートで説明されているとおり、登録されているLive Templateは、メニューから File > Settings.. で Settings画面を開き、 Editor > Live Templates と辿れば確認できる。
Android Studio 3.6 から増えたグループは

  • AndroidCommentsKotlin
  • AndroidKotlin
  • AndroidLogKotlin

くらいだろうか?(旧バージョンを残していないのでもうわからない)

2020-06-05_01h59_35 (2).png

登録されている Live Template の例

toast

展開後
Toast.makeText($context$, "$text$", Toast.LENGTH_SHORT).show()

toast と打って、補完候補をEnterで選べば、↑を入力してくれる。便利そう。
$contexts$$text$ は Tab 押したときにカーソルが飛ぶところ。
(最近あんまりToast使ってない)

logd

展開後
Log.d(TAG, "$METHOD_NAME$: $content$")

すごいな、と思ったのは、 $METHOD_NAME$ のところ。
onCreate の中で logd と打てば Log.d(TAG, "onCreate: $content$") と自動的に onCreate が入力された状態で $content$ にカーソルが当たった状態になる。便利!
TAG が定義されている前提なので、 TAG のところはエラーになる。ここは自分で書き換えるのが良さそう。
logd だけじゃなくて loge とか logi とかもある。
(Logも最近あんまり使わないなぁ…)

exfun

展開後
fun $RECEIVER$.$NAME$($PARAMS$) : $RETURN$ {
$END$
}

拡張関数を作るときに使える。使えるけど、省くことができるのは.とか{}とか限定的だ。Tabでジャンプできるのが便利なんだろうか。
Live Template 使わずにそのまま入力してしまいそうだ…。

他にもいろいろ

他にもいろいろある。いろいろあるけど、どれもイマイチピンとこない…。
元々登録されていた Kotlin 以外の Live Template とかも見てみたけど、そもそも補完が効くしなぁ…と思うものが多い印象。

Live Template を自作する

新しくKotlin 用の Live Template が登録されたと言っても、各自微妙にコードの書き方も違うだろうから、このままではあまり使えるものが多くない気がする。
なので、自分に合った Live Template を作って使うのがいいんじゃないかなー、と思った。
登録も簡単だ。

登録方法

2020-06-05_02h56_55_2.png

  1. +ボタンを押して、Live Template を追加する
  2. トリガーとなる文字を入力する
  3. Live Template の説明を書く
  4. 挿入されるコードを書く
  5. どのファイル(言語?)のどこ(トップレベルとかクラスの中とか)で反応するか決める
  6. 4に $ で挟まれた文字列があると「Edit variables」ボタンが有効になる。この例だと $sudden_death$ にどんな機能をもたせるかを設定できる(関数名を挿入させたり、デフォルト値を決めたり)。

感想

デフォルトで登録されているものそのものは微妙に使えなさそう。やはり自分で登録するしかない。
メソッド名とかクラス名を自動的に挿入できる機能は便利だな、と思った。何かに使えそう感がある。

さあ、自分にあった Live Template を作って快適な開発環境を作ろう!(まだやってない)

ignis
累計7000万DL超のスマホアプリを自社企画・開発 ツール系からマンガ、ゲームなど幅広いジャンルのアプリを展開
http://1923.co.jp/service-information
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away