techium

このブログは何かに追われないと頑張れない人たちが週一更新をノルマに技術情報を発信するブログです。もし何か調査して欲しい内容がありましたら、@kobashinG or @muchiki0226 までいただけますと気が向いたら調査するかもしれません。

The experts' guide to Android development toolsで紹介されてたASショートカット(気になったのメモ

Motivation

Google I/O 2016のセッションを少しずつ消化しているのだけれど、「The experts' guide to Android development tools」のセッションで紹介されていたAndroidStudioのショートカットが有用っぽいので備忘録がてらまとめておく。
とりあえず「ctrl + shift + a」と「local history」は必修ぽい。

www.youtube.com

自分がEmacsキーバインドに変更しているのもあって、コマンドの名前が分からないとショートカットが調べられなくて困ることが多いので、コマンド名とショートカットキー(Mac)で説明していく。 他環境の時はコマンド名を頼りに調べて欲しい。

「Join Line」 Ctrl + Shift + J

+で改行がかかっている様なものを1Lineにまとめるショートカット。 Stringとかよく+で切ることが多いので便利っぽい。

f:id:kobashin__G:20160601234349p:plain:w300

f:id:kobashin__G:20160601234355p:plain:w300

「Show Intention Actions」 option + enter

コード書いてたらインポートの補完とかによく使ってると思うこのショートカット。
実はもっとコンテキストを解釈して色々としてくれる便利な子だったみたい。

たとえば、さっきの分割されたString列の上で叩くと、 といった具合に、くっつけたStringをコピーしてくれたり。

f:id:kobashin__G:20160601235023p:plain:w300

int valueの上で叩けば、hex変換やら計算結果がとれるやら、

f:id:kobashin__G:20160601235150p:plain:w300

他にも、instanceofしたスコープの中だと、CastしたValueの自動生成とかもしてくれる

f:id:kobashin__G:20160601235326p:plain:w300

サジェスト時にEnter使うかTab使うか

ショートカットとは違うけれど、いつもEnter押した後Delete連打してたので。

よく一度書いたメソッドを書き換えたい時とかがあると思うのだけど、サジェストしたあとにEnterで入力すると後ろに元のコードが残ってしまう。Tabで入力したら要らない元のコードは消してもらえる!

f:id:kobashin__G:20160601235745p:plain:w300

「Select Next Occurrence」ctrl + G / ctrl + shift + 右クリック

マルチカーソルな機能。
最近のリッチなテキストエディタにだいたいついてるやつ。イメージした通りに動くので同じものを繰り返しするなら利用するとよいと思う。

ctrl + Gの方はテキストを選択した後に叩くと、同じテキストの部分を同時に編集するものとして選択していってくれる。右クリック版は自分で増やしていく。

スクショで伝わりづらいので、是非試してみて欲しい。

「Find Action」cmd + shift + A

Android Studio(Intellij)の持つ機能をサーチするショートカット。
超強力なので、必修だとおもう。

android系の機能を呼び出そうと、anを入力してるところがこちら。

f:id:kobashin__G:20160602000556p:plain:w300

「File Structure」cmd + F12

開いているファイルのメソッド、変数に一発でアクセスできる窓を開くコマンド。
開いている状態でインクリメンタルサーチが効くので、フィルタかけてぽんぽん飛べそう。

f:id:kobashin__G:20160602000843p:plain:w300

「Insert Live Template」 cmd + j

ショートカットの名前はこれだと思うのだけれど、用途は限定的によく使いそうと思ったもの。 listやarrayに対して、

list.for
list.fori
list.forr

の様なことを書くと、上から「for-each」「for」「for(reverse)」を生成してくれる。
似たものに、o.nnでnullチェックをかけれたりといった種類があり、それらの全てを出してくれるのがcmd + J。

f:id:kobashin__G:20160602001335p:plain:w300

「Refactor > Extract > Method...」option + cmd + M

選択している部分を外部にメソッドとして切り出すショートカット。
これまた強力。似た部分があった場合は、それも置き換えてまとめちゃう?と聞いてくれる親切設計。

f:id:kobashin__G:20160602001722p:plain:w300

「Local History」

たぶんショートカットは設定されていない。I/Oのセッションではctrl + shift + Aからlocal ...で呼び出していた。
Android Studioのコードの編集履歴が見れて、一部のみをRevertしたりできちゃう。
サンプル書いてるとよく途中まで実装しておいて、やっぱ止めたみたいなことが多いので、今日から活用できそうな気がする。

f:id:kobashin__G:20160602002130p:plain:w300

これで明日のコーディングがはかどるといいな。