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

第15回 エディタの話[その7]─基本操作

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

はじめに

順番が逆になったような気もしますが,今さらエディタの基本操作について説明します。基本操作と言うよりは「細かすぎて伝わらないAndroid Studioの基本操作」と言った方が適切かもしれません。

カット,コピー&ペースト

メニューバーの「Edit」にあるおなじみの"Cut", "Copy", "Paste"です。やることは他のエディタ系アプリケーション同様に選択範囲のテキストをクリップボードにコピーして,任意の場所に貼り付けるというアレです。

Android Studioのカットやコピーは何も選択していない状態で実行すると「カーソル位置の行」を対象にします。知っているとキータイプで1~2ストロークほど得をします。

また,文字列リテラルコピーしたり,文字列リテラル貼り付けたりする場合,ちょっと変わったことをします。たとえば,図1のようにエスケープシーケンス付きの文字列リテラルはデコードしてコピーされ,改行やクォート文字を含む文字列は,エスケープして文字列リテラルに貼り付けられます。

図1 文字列リテラルへのコピーやペーストの例(クリックすると動きがわかります)

このような気遣いを「すげぇ!ネ申IDE!!」と思うか「余計な事してウザい」と思うかで,Android Studioへの評価が分かれると思います。このような器用な事をせず普通に貼り付けたい場合は"Paste Simple"を使います(このコマンドについては後述します)⁠

なお,Eclipseの場合,ソースコードをクリックボードにコピーするとシンタックスハイライトを含んだリッチテキストとしてコピーされますが,Android Studioでは通常のテキストとしてコピーされます。Eclipseのようなコピーをするには,別途プラグインが必要です(いずれ説明します)⁠

図2 Eclipseのテキストコピーはシンタックスハイライト付きでコピーされる

図2 Eclipseのテキストコピーはシンタックスハイライト付きでコピーされる

特殊なコピーとペースト

コピーとペーストについては通常の"Copy"と"Paste"の他にいくつか特殊なコマンドがありますので,それを紹介します。

"Copy Path"
現在編集しているファイルの絶対パスをコピーします。
このコマンドはエディタ以外でも「Projectツールウィンドウ」などでも使うことができます。
"Copy Reference"
現在編集しているファイルの場所をコピーします。場所とは/path/.../File.ext:lineNo形式で表します。たとえばcom.example.Fooクラスの48行目」で実行した場合/com/example/Foo.java:48という内容がコピーされます。
「Projectツールウィンドウ」でJavaファイルに対して実行した場合は,そのクラスの完全修飾名がコピーされます(Eclipseの「編集 → 装飾名のコピー」に相当します)⁠
"Paste Simple"
単純なペーストを行います。
先ほど説明したとおり,通常の"Paste"はペースト先のコンテキストに応じて適切なフォーマット処理を行います。例えば,文字列中にペーストすればダブルクォートなどの特殊文字をエスケープしたり,コード片をペーストする時もペースト位置に応じてリフォーマットします。
"Paste Simple" はそのような処理を一切行わずクリップボードの内容をペーストします。
"Paste from History..."
ヒストリバッファから過去にクリップボードにコピーした任意の内容を選んでペーストします(通常のコピー&ペーストは直前にコピーしたものがペーストされますよね)⁠

図3 "Paste from History..."の実行例

図3 

このヒストリバッファはAndroid Studio固有のものですが,Android Studioが起動している間はクリップボードを監視しているらしく,他のアプリケーションでコピーした内容もヒストリバッファに記録されます。残念なことにAndroid Studioを終了するとヒストリバッファはクリアされます。
ヒストリバッファのサイズは「Preferences / Editor」「Maximum number of contents to keep in clipboard」で変更できます(初期値は 5)⁠

地味に便利な「クリップボードと比較」

メニューバーの「View → Compare with Clipboard」で現在のエディタの内容とクリップボードの内容を比較することができます。

図4 "Compare with Clipboard"の実行例

図4 

いわゆるdiffなのですが,気軽に差分の確認ができるため大変重宝しています。相違部分にある「>>」アイコンや「×」アイコンをクリックすることで,相違部分をエディタ側に反映することができます。

Diffウィンドウのツールバーの意味は表1のとおりです。

表1 Diffウィンドウのツールバーの意味

No意味
(1)テキストをコピーします。筆者が試した限りでは,このアイコンが有効になることはありませんでしたが,ツールチップに表示されるショートカットキーでコピーすることはできました。
(2)テキストを検索します。こちらもアイコンは無効のままでしたが,ショートカットキーは有効でした。実行すると,図5 のような検索用のツールバーが表示されます。
(3)相違点へ移動します。
(4)空白を無視するオプションを指定します。選択肢は「Do not ignore(無視しない)/Leading and trailing(行頭,行末の空白を無視)/All(空白を無視)⁠の3つです。
(5)ヘルプです(Android Studioには,まだヘルプが実装されていません)⁠
(6)エディタ部分の表示オプションを指定します。指定可能なオプションは図6のとおりです。

図5 検索用ツールバー

図5 検索用ツールバー

 検索用ツールバーについては第17回あたりで説明します。

図6 指定可能なオプション

図6 指定可能なオプション

また,エディタで特定の範囲を選択してから "Compare with Clipboard" を実行すると,その選択範囲との比較になります。

Eclipseでの同等機能は,エディタのコンテキストメニューにある「比較 → クリップボード」です。

図7 Eclipseでの「クリップボードと比較」

図7 Eclipseでの「クリップボードと比較」

比較の話は,他のもいくつかあるのですがエディタの話とはズレるので次回にまとめて説明します。

著者プロフィール

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

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

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

Twitter: @masanobuimai

コメント

コメントの記入