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

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

はじめに

後編の今回は、メニューバーに登録されている「Editメニュー」⁠Codeメニュー」⁠Windowsメニュー」「Helpメニュー」の紹介を行います。これらは今までの連載で紹介したコマンドも含みますので、その振り返りも兼ねます。

Editメニュー

編集メニューの立場上、一部のコマンドは第20回に紹介したエディタコマンドとかぶります。⁠エディタコマンドの一部もメニューに登録されている」と考えた方がわかりやすいかもしれません。

Undo, Redo
「直前の操作を元に戻す(Undo⁠⁠」と「直前の操作を繰り返す(Redo⁠⁠」です。そういえば、これ「エディタコマンド(Editor Actions⁠⁠」に無いんですよね。
アンドゥバッファについては特に設定箇所はありません。特に意識したことはありませんが、Android Studioを起動している間はどこまでもアンドゥできたと思いますが、Android Studioを終了すると、それ以前のアンドゥバッファはクリアされるようです。
Cut, Copy, Copy Paths, Copy Reference, Paste, Paste from History, Paste Simple
第15回で紹介したカット・コピー&ペーストの仲間たちです。
左から順に「カット(Cut⁠⁠コピー(Copy⁠⁠パスのコピー(Copy Paths⁠⁠参照のコピー(Copy Refernce⁠⁠リフォーマットしてペースト(Paste⁠⁠履歴からリフォーマットしてペースト(Paste from History⁠⁠リフォーマットなしの)単純なペースト(Paste Simple⁠⁠」です。
Delete
対象を削除します。
エディタ上では「Delete」キーとして機能しますが「Projectツールウィンドウ」上などでは"Safe Delete"リファクタリングとして機能します。
図1 ⁠Projectツールウィンドウ」上での"Delete"の実行例
図1 「Projectツールウィンドウ」上での
「Safe delete (with usage search)」のチェックを外せば、"Safe Delete"リファクタリングではなく、単純な削除になります。
Find
検索・置換コマンドが集約されています。詳しくは第18回を参照してください。
Macros
マクロの記録と実行を行います。サブメニューは以下の通りです。
  • Play Back Last Macro:最後に実行したマクロを再実行します。
  • Start/Stop Macro Recording:マクロの記録を行います(開始と終了⁠⁠。
  • Edit Macros:マクロを編集します。
  • Play Saved Macros...:登録済みのマクロを実行します。
Android StudioにはIDEにしては珍しくマクロ機能がありますが、正直使い勝手がよくないため、何に使って良いのか悩みます。それも高機能過ぎて使い方がわからないのではなく、機能がなさ過ぎて何に使って良いか悩むのです。筆者にとっては、そこまでして使うほどの機能では無いという認識ですが、一応どんなものか紹介します。
まずはマクロの記録を行います。"Start Macro Recording"を実行するとステータスバーの右側に図2のようなバルーンが表示されます。これがマクロ記録中を表しています。
図2 マクロ記録中の状態(ステータスバー)
図2 マクロ記録中の状態(ステータスバー)
マクロ記録中はキーボード操作や実行したコマンドが記録されていきます。マクロに記録したい操作が完了したならメニューバーの「Edit → Macros → Stop Macro Recording」を実行するか、マクロ記録中のバルーンにある記録停止ボタンを押します。
図3 マクロ記録中の終了(ステータスバー)
図3 マクロ記録中の終了(ステータスバー)
マクロの記録が終わるとダイアログが表示されるので、登録したいマクロ名を入力します。
これでマクロの記録は完了です。あとは"Play Back Last Macro"なり、登録したマクロ名を指定するなりして、マクロを実行するだけです(当然、マクロも"Find in Action"から呼び出すことができます⁠⁠。
これだけ聞くと「何か使い道あるかも!」と思うでしょうが、問題はマクロの編集です。一応、"Edit Macros"で登録済みのマクロを編集することができますが、これが想像以上にチープなのです。
図4 ⁠Edit Macros」ダイアログ
図4 「Edit Macros」ダイアログ
マクロの編集でできることは、次の操作だけです。
  • マクロの削除/名称変更
  • マクロに登録したコマンドの削除
コマンドの追加/変更や並び替えができないので、マクロの記録一発撮りで登録するしか手立てがありません。このような理由から「マクロ機能はあるけど使わない(使えない?⁠⁠」と結論づけてます。
まじめな話、マクロを使うようなテキスト編集ならAndroid Studioで行うことにこだわらず、そのときだけ他のテキストエディタで作業するなどの柔軟さを持った方がよいと思います。
筆者が今まで試してみたマクロもせいぜい普通にコマンドを実行した場合とくらべて1~2ストローク得する程度の機能でしか無かったので、マクロが無くても困ったことはありませんでした。
Column Selection Mode以降
ここ以降、エディタコマンドが並びます。それぞれのコマンドの意味は第20回で紹介したものと同じです。いくつかの機能の詳細については第15回も参照してください。
  • Column Selection Mode:範囲選択を矩形選択モードに切り替えます。
  • Select All「すべてを選択」します。
  • Select Word at Caret, Unselect Word at Caret:カーソル下のワードの選択と、その解除です。個人的にはAndroid Studioを象徴する機能だと思っています。
  • Complate Current Statement:命令行の補完を行います。
  • Join Lines:行を結合します。
  • Fill Paragraph:段落を整形します。
  • Duplicate Line or Block:行や選択範囲を複製します。
  • Indent Selection, Unindent Selection:選択範囲や現在行のインデントを上げ下げします(どうでもいい話ですが"Indent Selection"は「エディタコマンド(Editor Actions⁠⁠」に含まれません⁠⁠。
  • Toggle Case:大文字・小文字を切り替えます。
  • Convert Indents:インデントに用いる空白をスペースやタブに変換します。
  • Next Parameter, Previous Parameter:テンプレートやリファクタリングなどのパラメタに移動します(このコマンドをメニューバーから実行するのは希だと思います⁠⁠。

Codeメニュー

主にコーディングに使うコマンドがまとまっています。似たようなコマンドが多いためカスタマイズのしがいがある部分だと思います。

Override Methods..., Implement Methods..., Delegate Methods...
"Delegate Methods..."以外は第16回で説明済みなので割愛します。"Delegate Methods"は「委譲処理」のことで、Eclipseの「ソース → 委譲メソッドの生成」に相当します。
コマンド実行後の処理は、Eclipseとだいたい似ていますが、細かいところで違いがあります。
図5 "Delegate Methods..."の実行例(クリックすると動きがわかります)
Generate...
コードの生成を行います。詳しくは第16回を参照してください。大抵、前述した「File → New...」と同じショートカットキーが登録されています。そのショートカットキーを「Projectツールウィンドウ」⁠ナビゲーションバー」などのエディタ外で実行すれば「File → New...」となり、エディタ内で実行すれば、この "Generate..." になります。
Surround With..., Unwrap/Remove...
テンプレートなどで選択範囲を囲む "Surround With..." と、それを剥がす "Unwrap/Remove..."です。それぞれ、第12回第15回を参照してください。
Completion
コード補完です。Android Studioのコード補完は基本(Basic)と賢い(Smart)の2種類あります。詳しくは第11回を参照してください。
なお、筆者はスマート補完のショートカットキー「Ctrl+SHIFT+SPACE」が気に入らず、長年「SHIFT+SPACE」にカスタマイズして長年使っています。
Folding
コードの折りたたみを行います。サブメニューの意味は図6の通りです。
図6 ⁠Code → Folding」のサブメニュー
図6 「Code → Folding」のサブメニュー
折りたたみの設定は「Preferences / Editor / Code Folding」で行います。主に「どの要素をデフォルトで折りたたみ状態にしておくか」を設定します。
図7 ⁠Preferences / Editor / Code Folding」設定画面
図7 「Preferences / Editor / Code Folding」設定画面
この設定画面の各項目がAndroid Studioで折りたたみできる要素になります。よく、Android Studioを使っていると匿名クラスの使用箇所がラムダ式のように折りたたみ表示されていることに驚かれる例を見ますが、それはここの「"Closures" (anonymous classes implementing one method)」によるものです。
図8 匿名クラスをラムダ式風に折りたたむ例(クリックすると動きがわかります)
あれが折りたたみ表示だと気づかないと、無用な混乱を招くだけだと思います。ラムダ式の折りたたみ表示がありがた迷惑な場合は、この設定をOFFにしておいてください。
筆者の個人的な好みですが、Android Studioのドキュメントコメントの折りたたみは、折りたたむ前の状態がわからなくなるように折りたたまれるのが気に入っていません。Eclipseのようにコメントの先頭行を表示してくれたらよいのにと思っています。
図9 ドキュメントコメントの折りたたみ例
図9 ドキュメントコメントの折りたたみ例
Insert Live Template, Surround with Live Template
ライブテンプレートの挿入です。詳しくは第12回を参照してください。
Comment with Line Commnet, Comment with Block Commnet
コメントの切り替えを行います。コマンドによって行コメント(Line Comment)とブロックコメント(Block Comment)を使い分けます。行コメント(Line Comment)の場合、何も選択していない場合は現在行が対象になります。
Eclipseにも同じようなコマンドがありますが、できる事はほとんど一緒です。ちょっとした違いは、Android Studioの行コメント化("Comment with Line Comment")は実行するとカーソルが1行下に移動することです。
図10 コメントアウトとその解除の例(クリックすると動きがわかります)
Reformat Code..., Auto-Indent Lines, Optimize Imports..., Rearrange Code
コードフォーマットに関連するコマンドです。機会があればコードフォーマットについて説明するので、これらのコマンドもそのときに紹介します。
Move Statement Down, Move Statement Up, Move Line Down, Move Line Up
現在行、または選択範囲を上下に移動します。次の2つは、それぞれEclipseにも相当するコマンドがあります。
  • Move Line Down:Eclipseの「1行下へ移動」に相当
  • Move Line Up:Eclipseの「1行上へ移動」に相当
"Move Statement Down/Up"は、単純に行ではなく、ブロックなどの文脈を考慮した「命令文」を上下に移動します。
一見便利そうに思えるこれらのコマンド群ですが、思い通りに対象を移動させるのにちょっとした癖があるため筆者はほとんど使ったことがありません。なにより、同様の操作は "Select Word at Caret"と、そこからの"Cut & Paste"で代用できます。
Update Copyright...
ヘッダコメントを更新します。詳しくは第12回を参照してください。

Windowメニュー

Minimize
ウィンドウを最小化します。どうゆうわけか「元に戻す」はありません。⁠最大化」もありませんがフルスクリーン(⁠⁠View → Enter Full Screen⁠⁠)はあります。
Store Current Layout as Default, Restore Default Layout
Android StudioにはEclipseのような「パースペクティブ」という概念や機能はありませんが、一応、現在のレイアウトをひとつだけ記録することができます。詳しくは第7回を参照してください。
Active Tool Window
現在アクティブなツールウィンドウに対する操作です。だいたいの事は第7回で説明しています。また、ほぼ同等の操作はツールウィンドウのタイトルバーからも行えます。
図11 ⁠Active Tool Windows」メニューのサブメニュー項目
図11 「Active Tool Windows」メニューのサブメニュー項目
メニューバーやショートカットキーからできる唯一の操作は "Resize" です。サブメニューの次の4種類のコマンドでツールウィンドウの境界(幅や高さ)を変更できます。ツールバーの表示位置によって使えないコマンドがあります。
  • Stretch to Left:ツールウィンドウの境界を左に移動します。
  • Stretch to Right:ツールウィンドウの境界を右に移動します。
  • Stretch to Top:ツールウィンドウの境界を上に移動します。
  • Stretch to Bottom:ツールウィンドウの境界を下に移動します。
図12 ツールウィンドウのリサイズの例(クリックすると動きがわかります)
個人的には、こんな機能があるならツールウィンドウではなく、分割したエディタの境界移動ができるようになって欲しかったです(つまり使い道がほとんど無い⁠⁠。
Editor Tabs
エディタタブに関する操作です。大抵のことはエディタタブのコンテキストメニューからもできます。
  • Select Next Tab, Select Previous Tab:エディタタブを移動します。移動方向は「次」「前」で、タブを多段表示していても移動方向はこの2つのみです。
  • Pin Active Tab:タブにピンを立てます。ピンの付いたエディタタブは勝手に再利用されなくなります(常に表示するわけではありません⁠⁠。
  • Show All Tabs:すべてのエディタタブを表示します。エディタタブを多段表示にしている場合は、このコマンドは登場しません。
  • Close:現在アクティブなエディタタブを閉じます。
  • Close Others:現在アクティブなエディタタブ以外をすべて閉じます(ピンが付いているエディタタブは残ります⁠⁠。
  • Close All:すべてのエディタタブを閉じます(ピンが付いていても閉じます⁠⁠。
  • Close Unmodified:変更していないすべてのエディタタブを閉じます(が、このコマンドがアクティブになった時を見たことが無いです⁠⁠。
  • Close All But Pinned:ピンの付いてないすべてのエディタタブを閉じます。
  • Reopen Closed Tab:直前に閉じたエディタタブをひとつだけ開き直します。閉じたタブをすべて復元する方法はありません。
"Split Vertiacally"以降はエディタの分割コマンドです。こちらは第19回を参照してください。
Background Tasks
バックグラウンドタスクに関するメニューです。これもステータスバーから操作したほうが断然簡単なので、メニューバーにあることを覚える必要すらありません第7回⁠。
  • Show:バックグラウンドタスクを表示します。
  • Auto Show:バックグラウンドタスクがあれば自動的にそれを表示します(個人的には、こんな鬱陶しいオプションONにする気持ちが理解できません……⁠⁠。
Next Project Window, Previous Project Window
第10回で紹介した「複数のプロジェクトを同時に開いた」時に、そのプロジェクトを切り替えるために使います。正直、ほとんど使いません。

Helpメニュー

最後がヘルプメニューです。ここをカスタマイズする用事はそう無いと思いますが、こんなコマンドが登録されている程度に眺めてください。

Find Action...
第7回で紹介したコマンドラウンチャです。これはとても便利なので、ぜひとも使いこなしてほしいです。
Help Topics
Android Studioのヘルプを表示します。正確にどのバージョンからかは把握できていませんが、v0.2.7あたりから、これを実行するとWebブラウザが立ち上がり、IntelliJのオンラインヘルプが表示されるようになりました(設定画面やダイアログに付いているヘルプボタンを押しても同じです⁠⁠。
元のIntelliJでは、このコマンドを実行するとオンラインヘルプではなく、スタンドアロンのヘルプビューアが立ち上がっていました。Android Studioでは、それをやめてオンラインヘルプ一辺倒にするのでしょうか?IntelliJと同じヘルプコンテンツを共用するのか?など、まだわからないことが多いです。
いずれにせよ、ヘルプが表示できるようになったのは喜ばしいことです。強いて難点を上げればオンラインヘルプのため、インターネット接続が必須なことでしょう。
ヘルプが英語なのは仕方が無いことなのであきらめてください。
Tip of the Day
プロジェクトの読み込み時に表示される「Tip of the Day」ダイアログを表示します。
図13 ⁠Tip of the Day」の表示例
図13 「Tip of the Day」の表示例
TIPSの数は多くありませんが有益な事が載っていますので、英語だと敬遠せずにまずは眺めてみましょう。IntelliJのものをそのまま持ってきているらしく、たまにAndroid Studioには関係の無いTIPSが表示されますが、ご愛敬ということで。
Productivity Guide
今までAndroid Studioのどの機能をどれだけ使ったか、という統計情報を確認できます。
図14 ⁠Productivity Guide」ダイアログ
図14 「Productivity Guide」ダイアログ
この統計情報は定期的にGoogleに送信されます。統計情報を送信するかどうかなどは「Preferences / Usage Statistics」で設定できます。
図15 ⁠Preferences / Usage Statistics」設定画面
図15 「Preferences / Usage Statistics」設定画面
Contact Support Team
keymapにはありますが、メニューバーには出てこないですね。
Submit Feedback
実行するとWebブラウザが開きAndroid Open Source Project - Issue Trackerにチケットを登録できます。Android Studioはまだ開発バージョンで不具合も多いので、気付いた点や不満な事があったらバンバンチケットを登録するといいです。
気がかりと言えば、どこまでがAndroid Studioの不具合としてGoogleが受理してくれるかという点です。実際のところAndroid Studioの大半の機能はIntelliJから供給されたものです。たとえば、Android Studioのエディタ機能に不具合を見つけたとしても、それはIntelliJに原因がある可能性がとても高いです。
ちなみにIntelliJで"Submit Feedback"を実行するとJetBrains社のIssue Tracker(YouTrack)にチケットを登録します。個人的にはAndroid開発に関係しなさそうな不具合を見つけた場合は、GoogleではなくJetBrainsに報告したほうが修正してもらえる可能性が高いと思っています。
Show Log in Explorer
Android Studioのログファイルのあるフォルダを開きます。ログファイルは<AS_SYSTEM>/logsにありますMacの場合$HOME/Library/Logs/AndroidStudioPreviewにあります⁠⁠。
Onlien Documentation
Webブラウザが立ち上がりオンラインドキュメントを開きます。……が、これIntelliJのサイトなんですよね。いつかは、Android Studio専用のサイトができあがるんでしょうか。
What's New in Android Studio
Android StudioのWhat's Newです。さすがに、こちらはAndroid Studio専用のサイトに飛びます。
Default Keymap Reference
デフォルトキーマップのチートシート(PDF)をダウンロードします(Webブラウザが開きます⁠⁠。得られるチートシートは先ほど紹介したオンラインドキュメントにある「Keymap for Windows/Linux」「Keymap for Mac OS X」のいずれかです。
このチートシート、ショートカットキーをカスタマイズしてしまうと、ほとんど役に立たないんですけどね。
JetBrains TV
JetBrains TVとは、IntelliJの開発元のJetBrains社で、自社が提供しているツールのスクリーンキャストを公開しているサイトの事です(スクリーンキャストは利用者が登録することもできます⁠⁠。
まだ「Android Studioのチャンネル」はありませんが、そのうちできるかも知れませんね(⁠⁠Googleが提供しているAndroid Studioなのに……」とか細かい事は気にしない⁠⁠。
Check for Update...
Android Studioの更新をチェックします。更新チェックについては第4回を参照してください。
Mac版は「Help」メニューではなく、アプリケーションメニューにあります。
About
Android Studioのアバウト画面(スプラッシュスクリーン)を表示します。Android Studioのビルド番号や使っているJVMの詳細などを確認することができます。
Mac版は「Help」メニューではなく、アプリケーションメニューにあります。

まとめ

今までのおさらいも兼ねてメニューバーのコマンドを紹介しました。後半の「Windowメニュー」「Helpメニュー」はカスタマイズするほどのものだとは思っていません。前半の特に「Editメニュー」はその構成にモヤモヤする部分が少なからずあります。

WindowsやLinuxの場合、メニューバーのコマンドへはニーモニックを介してアクセスできるため、どこに何があるかわかればショートカットキーを覚えなくても、それなりに使いこなすことができます。Macの場合、メニューバーのアクセスが容易ではないので、頻繁に使うコマンドについては適時覚えやすいショートカットキーを割り当てるか、第21回で紹介したクイックリストの活用をオススメします。

おすすめ記事

記事・ニュース一覧