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

第21回エディタの[その13]─ メニューバーのコマンド一覧(前編)

はじめに

前回に引き続きAndroid Studioのコマンドの紹介を行います。今回はメニューバーに登録されているコマンドについてです。紹介するのは「Fileメニュー」⁠Editメニュー」⁠Codeメニュー」「Windowメニュー」「Helpメニュー」についてですが、内容が多いので前後編に分けて説明します。

前編にあたる今回は、メニューバーのコマンドのカスタマイズ方法(前回のKeymapの補足)「Fileメニュー」についてです。⁠Analyzeメニュー」⁠Refactorメニュー」などは、いずれ別の回で紹介します。

クイックリスト

前回、ショートカットキーのカスタマイズ方法を紹介しましたが、それでも覚えるべき(覚えたい?)コマンドはたくさんあるのでショートカットキーを割り当てるのも"Find in Action"で検索するのも骨が折れます。

その難儀さをちょっとでも解消する方法に「クイックリスト(Quick Lists⁠⁠」という機能があります。クイックリストとは、好みのコマンドを集めたコマンドラウンチャーのようなもので、呼び出すと図1のようなポップアップからコマンドを実行できます。

図1 クイックリストの実行例
図1 クイックリストの実行例

ひとつひとつのコマンドの名前やショートカットキーを覚えるのはしんどいので、いくつかのまとまりでクイックリストを作り、クイックリストにショートカットキーを割り当てた方が、若干負担が減ります。

クイックリストの登録方法は「Preferences / Quick Lists」で行います。

図2 ⁠Preferences / Quick Lists」設定画面
図2 「Preferences / Quick Lists」設定画面

まず、⁠1)で設定変更したいクイックリストを選ぶか、⁠+」アイコンを押して新しくクイックリストを作ります。クイックリストには、それぞれ任意の名称(Display name)をつけることができます。この名称がクイックリストの識別子になるのでユニークな名称にしておいたほうがよいです。

その後、⁠2)のアイコンを操作して、クイックリストにコマンドを登録していきます。⁠2)のアイコンの意味はそれぞれ表1の通りです。

表1 クイックリストのコマンド登録用アイコン一覧
アイコン意味
Addコマンドの追加
Add Separatorセパレータの追加(Darculaだと見づらいです)
Removeコマンドやセパレータの削除
Up / Downコマンドやセパレータを上下に移動

クイックリストの登録はたったこれだけです。ちょっと反則的(?)な使い方ですが、クイックリストにクイックリストを追加することもできます。作成したクイックリストは「Add Actions to Quick List」ダイアログの「Quick Lists」カテゴリに属しています。

図3 クリックリストをさらに別のクイックリストに登録できる
図3 クリックリストをさらに別のクイックリストに登録できる

登録したクリックリストは "Find in Action" で検索できます(ただし「Include non-menu actions」をチェックしておくこと⁠⁠。

図4 "Find in Action"からもクイックリストを実行できる
図4 

また、クイックリストの各コマンドにはショートカットとして数字が付きますが、11個目以降には付きません。その代わりと言ってはなんですが、クイックリストでもクイックサーチは有効なので、コマンド名の一部をタイプしてコマンドを絞り込むことができます(クイックリストをキャンセルしたい場合は「ESCキー」を押します⁠⁠。

クイックリストにショートカットキーを割り当てたい場合は「Preferences / Keymap」で行います。

メニューバーのカスタマイズ(ショートカットキー)

メニューバーに登録されているコマンドは、前回紹介した「Preferences / Keymap」「Main menu」にまとまっています。ショートカットキーを変更する場合は、ここから行います。

図5 ⁠Preferences / Keymap」設定画面
図5 「Preferences / Keymap」設定画面

前回説明しなかった「Editor Actions」以外のカテゴリについて紹介します。

Editor Actions
エディタで使えるコマンドが属しています。それぞれの詳細は前回説明したとおりです。
Main menu
メニューバーに属しているコマンド群です。今回の話題の中心です。折りたたまれている内容を展開すると、図6のようにメニューバーの並びに対応したコマンドが登録されています。
図6 ⁠Preferences / Keymap」「Main menu」の展開例
図6 「Preferences / Keymap」の「Main menu」の展開例
後述しますが「Main menu」には前回紹介した「Editor Actions」と同じコマンドが登録されています。実体はひとつなので、どちらか一方にショートカットキーを割り当てると、もう一方にも同じショートカットキーが割り当てられます。
図7 ⁠Editor Actions」「Main menu」に重複しているコマンドの例(クリックすると動きがわかります)
「⁠Editor Actions」「Main menu」に重複しているコマンドの例` &title=`図7 ⁠Editor Actions」「Main menu」に重複しているコマンドの例` &width=`400` />
Version Control Systems
SubversionやGitなどのバージョンコントロールシステムを操作するコマンドが属しています。
External Tools
「Preferences / External Tools」で登録した外部ツールが一覧されています。外部ツールにショートカットキーを割り当てるのに用います。
Debugger Actions
デバッガ用のコマンドなんですが、登録されているのは「JavaDebbugerActions」だたひとつです。これにショートカットキーを割り当てても意味ないのかな?と思ってます(そもそも用途もわかっていません⁠⁠。
Maven Goals
Mavenのそれぞれのゴールにショートカットキーを割り当てできますが、Android StudioではMavenを使わないので、そもそも不要でしょう。これは元がIntelliJであるとか、Android Studioの内部的な都合でMavenサポートを含んでいるなどの別の理由で残っているだけだと思います。
Macros
登録済みのマクロが一覧されています。マクロにショートカットキーを割り当てるのに用います(マクロそのものについては、後編で説明します⁠⁠。
Quick Lists
先ほど紹介した登録済みのクイックリストが一覧されています。クイックリストにショートカットキーを割り当てるのに用います。
Plug-ins
インストールしているプラグインごとに使用可能なコマンドが一覧できます。詳しくはプラグインの回に説明しますが、プラグインがどのようなコマンドを持っているのか確認できて便利です。
Other
その他、雑多なコマンドが属しています。

この連載でAndroid Studioの全てのコマンドを紹介できませんが、お暇なときにこのあたりを斜め読みしてどのようなコマンドがあるのか探索してみるのもよいと思います。

Fileメニュー

メニューバーの最初に登録されているのが「File」メニューです。

他のメニューについても言えますが「Preferences / Keymap」で登録されているコマンドと、メニューバーの各メニューから参照できるコマンドに若干の違いがあります(keymap上登録されているがメニューバーに出てこないものがある⁠⁠。コンテキストに依存して登場するものと、ホントウに出てこないものの2つあります。後者は追求してもしようがないので、メニューバーから参照できるコマンドが生きているコマンドだと割り切ってカスタマイズしましょう。

New Project...
新規プロジェクトの作成です。
New Module...
プロジェクトに新しいモジュールを追加します。Android Studio v0.2.8あたりから、また振る舞いが変わってきてます。もう少し安定してきたら、ひとつ上の"New Project..."とあわせて改めて説明したいと思います。
Import Project...
指定したディレクトリをAndroid Studioのプロジェクトにインポートします。
Android Studioが出たての頃から、Eclipse ADTのプロジェクトをAndroid Studioに取り込む方法として"Import Project"を用いる方法が紹介されていますが、"New Module..."同様、Android StudioのGradle連携まわりが落ち着くまで、まともに動かないと思っておいた方が良いです。
ちなみにEclipseの「インポート」と似ているのは名前だけで、その振る舞いは大きく違います。一応、ベースとなったIntelliJでの振る舞いを説明しますが、この機能は指定したディレクトリをIntelliJ(Android Studio)のプロジェクトに設定する機能です。Eclipseの「インポート」は指定したディレクトリの中身を今のプロジェクトに取り込む(コピーする)機能ですが、IntelliJ(Android Studio)のそれは、コピーなどせず、指定したディレクトリを自身のプロジェクトとして乗っ取ります。
Eclipseのインポートと同等と思って使うと、インポート元のディレクトリを汚染(プロジェクト管理ディレクトリなどを作る)しますので、注意してください。
Import Module...
既存のディレクトリをAndroid Studioのモジュールとして取り込みます。これの安定度もGradle連携の安定度に影響されます。
Open Project...
これはkeymap上にのみ存在しています。後述する "Open..." で代用が利くので、動かなくても困る事はありません。
New...
新しくファイルやディレクトリを作成します。選択できる項目はコマンドを実行したコンテキストによって変化します。第16回が参考になります。
Open...
既存のファイルやAndroid Studioのプロジェクトを開きます。WindowsやLinuxの場合、ファイル選択にAndroid Studio固有のファイルダイアログを用いるので、Android Studio対応のプロジェクトは視覚的に把握できます(Macの場合も裏技を使うとAndroid Studio固有のファイルダイアログを使うことができます⁠⁠。
図8 ⁠Open File or Project」ダイアログ
図8 「Open File or Project」ダイアログ
「Android Studio対応プロジェクト」とは.ideaディレクトリ」を含むディレクトリの事です。
Android Studio対応プロジェクトを開く場合は、⁠現在のウィンドウで開く」のか「新しいウィンドウで開く」のかを問い合わせてきます第10回のおまけを参照⁠⁠。
Reopen
最近開いたプロジェクトを開き直します。
Close Project
今開いているプロジェクトを閉じます。他にプロジェクトを開いていない場合、ウェルカム画面に戻ります。
Preferences...
IDEの設定画面(Preferences)を開きます。Windows, Linux版の場合はここにありますが、Mac版はアプリケーションメニュー(Android Studio)内にあります。
Project Structure...
プロジェクトの設定画面(Project Structure)を開きます。
Other Settings
その他の設定画面として、次の3つの設定画面を開きます。
  • Default Settings...⁠Preferences」の上半分(Project Settings)のデフォルト値を設定します(プロジェクトを開いた状態で「Preferences」を開いた場合、上半分の「Project Settings」は、今開いているプロジェクト の設定になります⁠⁠。
  • Configure Plugins... : Android Studioのインストール直後に問い合わせのあったウィザードを再実行してプラグインの設定を行います。⁠Preferences / Plugins」でも似たような事ができるので、知らなくても特に困ることはありません。
  • Default Project Structure...⁠Project Structure」のデフォルト値を設定します。ここにある理由は"Default Settings"と同じです。
Import Settings, Export Settings
Android Studioの設定内容をエクスポートしたり、インポートしたりします。設定内容はJarファイルとしてエクスポートされますが、あくまで設定情報だけで追加したプラグインなどは含まれません。
個人的には<AS_CONFIG>を丸ごとバックアップしたり、コピーしたほうが便利だと思います。
Save as Directory-Based Format...
これも keymap 上にのみ存在しています。意味は知らなくても良いと思います。
一応、説明するとAndroid Studioのプロジェクトは管理情報を .ideaディレクトリに格納しています。元になったIntelliJの古いバージョンでは .ideaディレクトリは存在せず、プロジェクトファイルに格納していました。その旧形式のプロジェクト管理情報を.ideaディレクトリに変換する機能です。
Save All
未保存のすべてのファイルを保存します。Android Studioにファイル個別の保存機能はありません。
Synchronize
プロジェクトに指定したディレクトリの内容をAndroid Studioに同期します。テキストエディタやビルドツールなどAndroid Studio外からプロジェクトの内容を変更しても、Android Studioはその変更を関知して自動で同期を行いますが、それを手動で実行するのがこのコマンドです。同じ機能はツールバーにもあります。
図9 ツールバーの「Synchronize」ボタン
図9 ツールバーの「Synchronize」ボタン
Invalidate Caches / Restart...
Android Studioの内部キャッシュをクリアします。
すでにAndroid Studioを試用している人たちは、その起動の遅さに不満を抱いたり、コード補完の正確さや検索の速さと深さに感心したりさまざまだと思います。この不満と優位性を支えているのが、Android Studioのキャッシュ機構です。
Android Studioでプロジェクトを開いたり、ビルドした時に注意深くステータスバーを見ているとインデックスの再構築をしているのがわかると思います。Android Studioはプロジェクト下の管理物や外部ライブラリ、Android SDKを解析したデータベースを内部的に管理しています。これを「キャッシュ」と呼び、適度なタイミングで更新しています(これが「インデックスの再構築⁠⁠。やっていることと、得られる効果を考えると、それが重い処理なのは想像に難しくありません(それでもマルチコアを効果的に使ってなるべく短時間ですむように工夫しているようです⁠⁠。
ただ時折、このキャッシュが壊れるなどして悪さを行う場合があるため、強制復旧的な機能としてこれがあります。実行すると図10のようなダイアログが表示され「キャッシュをクリアするかどうか」を問い合わせてきます。
図10 "Invalidate Caches / Restart..."の実行例
図10 
これを実行すると(あとで説明する予定の)ローカルヒストリが消えてしまう点に注意してください。
ちなみに、キャッシュの本体は<AS_SYSTEM>配下にあります。乱暴な方法ですが、原因不明の問題が起きた場合、このディレクトリを丸ごと消してしまうのも、ひとつの手段です。
Export to HTML...
現在開いているファイル、もしくは選択範囲、指定したディレクトリ配下のファイルをHTML形式で出力します。
Print...
現在開いているファイル、もしくは選択範囲、指定したディレクトリ配下のファイルを印刷します。ただし、Android Studioが出力する印刷物は決してキレイとは言いがたいです。ソースコードを紙に印刷することをしなくなりましたが、せっかく紙に出すなら専用の印刷ツールを用いて、よりキレイに印刷したいものです。
図11 Android Studioでプリントアウトした例
図11 Android Studioでプリントアウトした例
Add to Favorites
現在開いているファイルを「お気に入り(Favorties⁠⁠」に登録します。
File Encoding, Line Separators, Make File Read-only, Power Save Mode
これらはどれもステータスバーからも操作可能なコマンドです(ステータスバーについては第7回を参照してください⁠⁠。
  • File Encoding : ファイルエンコーディングの変更(次の改行コードとあわせて第9回を参照してください)
  • Line Separator : 行セパレータ(改行コード)の変更
  • Make File Read-only : 読み込み専用の切り替え
  • Power Save Mode⁠Power Save Mode」の切り替え(Power Save Modeについては第14回を参照してください)
どれもステータスバーから操作した方が簡単ですので、メニューバーから操作することは滅多にありません。
これ以外に "Change Template Data Language" というコマンドが keymap に登録されているのですが、"Find Action..." で直接実行しても何も起きないので、気にしなくてよいでしょう。
Exit
Android Studioを終了します。Mac版はアプリケーションメニュー(Android Studio)内にあります。

次回の予定

今回説明できなかった「Editメニュー」⁠Codeメニュー」⁠Windowメニュー」「Helpメニュー」について説明します。

おすすめ記事

記事・ニュース一覧