Android Studio最速入門~効率的にコーディングするための使い方

第12回 エディタの話[その4]─テンプレート展開

この記事を読むのに必要な時間:およそ 6 分

簡単なライブテンプレートの追加

コード片をコピーして,⁠Preferences / Live Templates」を開き,新しいテンプレートを作り,そこにコード片をペーストする……なんて操作は正直煩わしいですよね。この操作を端折るのがメニューバーの「Tools → Save as Live Template...」です。

テンプレートに登録したいコードを選択状態にして "Save as Live Template" を実行すると,そのコード片をTemplate textにしたテンプレートを登録してくれます(Template Groupは"user"⁠⁠。Template textに展開する際に,クラスを完全修飾名に変換するなどの気遣いはしています。

[コラム]Emmet/Zen Codingについて

「Preferences / Live Templates」のプリセットをみて気付いた人もいると思いますが,Android StudioはEmmet(Zen Coding)をサポートしています。ただし,Live TemplatesのZen HTMLやZen XSLはZen Codingのスニペットが登録されているだけで,Emmetそのものを有効にするには「Preferences / Emmet (Zen Coding)」「Enable Emmet」を有効にする必要があります(デフォルトで有効になっているはずです⁠⁠。

図13 ⁠Preferences / Emmet (Zen Coding)」設定画面

図13 「Preferences / Emmet (Zen Coding)」設定画面

ちなみにEmmetの展開に使うキーもTABキーです。⁠Expand abbreviation with」で変更できますが,SPACEキー,TABキー,Enterキーの3択になります。

Android StudioのEmmet自体はCSSもサポートしているようですが,肝心のAndroid StudioがCSSをサポートしていないため使えないという何だかよくわからない事態になっています。元々がIntelliJから持ってきた機能なので,そういういびつさが出るのは仕方がないのでしょう。

Emmetサポートといっても実際にできることはExpand Abbreviationくらいです。その他のアクションについてはAndroid Studioが持っているコマンドで代用するしかなさそうです。一応,EmmetのCheat SheetのSyntaxがすべて動くことは確認しました。

その他のテンプレートについて

テンプレート繋がりで他のテンプレートについて紹介します。先ほどのライブテンプレートの設定画面で左側の設定項目一覧に「Preferences / File and Code Templates」があったのに気付いたかと思います。こちらがライブテンプレート以外のテンプレートの設定画面です。

図14 ⁠Preferences / File and Code Templates」設定画面

図14 「Preferences / File and Code Templates」設定画面

ここでは,いろいろな新規ファイルのテンプレートやAndroid Studioのコード生成機能で作られるメソッドのテンプレートを定義します。ライブテンプレートと異なり,設定できるテンプレートはある程度決められています(タブのカテゴリ別に決まっています⁠⁠。

タブそれぞれのカテゴリについて説明します。見ているとわかりますが,IntelliJの内容を引きずっており明らかに不要なテンプレートが残っています(いずれ整理されるのでしょうか?⁠⁠。

Codeタブ
Android Studioのコード生成機能で作られるメソッドやコード片のテンプレートです。このコード生成がどのようにして行われるのかについては,次回のインテンションのときに説明します。テンプレートの種類は決められていて,新しく追加したり,既存のものを削除することはできません。
Includesタブ
他のテンプレートにインクルードするテンプレートの断片を定義します。
Java EEタブ
「J2EE」と不似合いなタイトルが付いていますが,正しくはサポートしている言語やフレームワーク事のテンプレートを定義しています。どのようなカテゴリ,どのようなテンプレートがあるかは,言語サポートプラグインなどにより変動します。こちらもテンプレートの種類は決められていて,新しく追加したり,既存のものを削除することはできません。
Templatesタブ

新規作成するファイルのテンプレート群です。いわゆるファイルテンプレート。プリセットしてあるものは削除できませんが,任意のテンプレートを追加したり削除したりできます(なぜがプリセットの「Singleton」は削除できます⁠⁠。

ここに登録したテンプレートは「Projectツールウィンドウ」などからメニューバーの「File → New」を実行したときのポップアップに表示されます。

図15 ⁠New」ポップアップにファイルテンプレートが追加される

図15 「New」ポップアップにファイルテンプレートが追加される

テンプレートの拡張子を「java」にした場合,そのテンプレートは「File → New」のポップアップで「Java」を選んだときのダイアログから選択できます。

図16 Javaのテンプレートは「Create New Clas」ダイアログに出てくる

図16 Javaのテンプレートは「Create New Clas」ダイアログに出てくる

ライブテンプレートと同じく,こちらのテンプレートも独自のマークアップができます。文法はライブテンプレートと異なり,こころもち表現力も高めだと思います。こちらのテンプレートのマークアップ記法についても,IntelliJのヘルプが参考になるでしょう。

参考:File Templates - IntelliJ IDEA Web Help

ファイルテンプレートについては,テンプレートにしたいファイルをエディタで開いておき,メニューバーの「Tools → Save File as Template...」で登録することもできます。

著者プロフィール

今井勝信(いまいまさのぶ)

システムエンジニア。日本ユニシス株式会社所属。仙台在住。

Android開発はまったくやったことがないけれどIntelliJ IDEAが大好き。

Twitter: @masanobuimai