Java
Eclipse
ショートカット

新人研修でドヤ顔で披露したらウケたEclipseのショートカット集

最近新人研修(プログラミング未経験者・大学で専攻など、ごちゃまぜ)に関わることがありました。

適当なタイミングでEclipseのショートカットキーを教えていたのですが、実演してあげると食いつきがよかったです。

ウケがいい≒新人から需要があるといえそうですし

教えるほうも教わるほうもモチベーションを保ちやすいです。

その点で、ウケるかどうかは大切な視点のひとつだと思います。

なので、ウケのよさランキングの形式で、ショートカットを紹介したいと思います。

環境は、WindowsでPleiadesのやつ(http://mergedoc.sourceforge.jp/ )を使って、Javaを教えていました。


第20位 ctrl + alt + k スネークケースとキャメルケースの切り替え

変数名やメソッド名を選択した状態でctrl + alt + k

cammel.gif

教えていたのはJavaなのですが、C言語のようにスネークケースで変数名等を書いている人がいました。

キャメルケースに直すためにこのショートカットを教えました。

まったくウケませんでした。

ちなみに、全て大文字化のctrl + shift + xと組み合わせれば、下のように、キャメルケースでfooBarHogeという具合に書かれている定数名を、FOO_BAR_HOGE というよくある形式に修正するのがすぐにできます。

renameConst.gif


第19位 ctrl + shift + o import文の編成

ctrl + shift + oで不要なimport文を削除したり、ソートしたり出来るのですが、予想外に受けが悪かったです。

formatImports.gif

これをしなくてもコンパイルエラーにならなくて、プログラムが動いちゃうのが原因でしょうか?

http://qiita.com/arai-wa/items/da807fb99a18a47b35f2

で紹介した、保管アクションの設定で、上書き保存時に自動的にimport文の編成を行うように設定できます。


第18位 ctrl + Right or ctrl + Left で区切りの良い場所へカーソル移動

ctrl + Rightctrl + Leftで、単語の境目などの区切りがいい場所へ順次カーソルを移動できます。

moveCursor.gif

shiftと組み合わせると、範囲選択のスピードが上がります。

Eclipseに限らずほとんどのエディタで使える操作方法なので、わりと便利です。


第17位 ctrl + space テンプレート・プロポーザル

たとえばforeachと入力してctrl + spaceで、拡張for文を作れます。

foreach.gif

そこでさらにtabキーを押せば、カーソルをいい感じに動かしてくれます。

http://qiita.com/arai-wa/items/da807fb99a18a47b35f2

で紹介したTemplatesに独自のテンプレートを追加することも出来るので、

よく使うコードを登録しておくと便利です。


第16位 ctrl + e タブを検索

ctrl + eで開いているタブをリストにしてくれます。

しかも絞り込み検索も出来ます。

changeTab.gif

私はalt + shift + tの方を良く使います。タブを開いていようがなかろうが、好きなファイルを開けるので。


第15位 alt + shift + c メソッドのシグネチャ変更

changeMethod.gif

開くダイアログがごちゃごちゃしていてとっつきにくいせいか、あまりウケませんでした。

参照元なども自動的に書き換えてくれるので、非常に便利です。


第14位 alt + shift + Up or alt + shift + Down 選択範囲の拡大縮小

変数→行→for文→メソッド という具合に、選択範囲を、徐々にスコープ(?)を広げながら拡大、そして反対に縮小できます。

select.gif

すばやく選択範囲をコントロールできるので、私は多用します。


第13位 alt + shift + t -> a 定数を抽出

直値を定数に抽出できます。

const.gif

定数はクラスの先頭に書くことが多いですが、そこまで画面をスクロールさせなくても

ダイアログでアクセス修飾子や定数名を設定できるので、手軽です。

プレビューでdiffを見られるので影響範囲も確認できます。


第12位 ctrl + . 次の警告・エラーへジャンプ

jumpToError.gif

これを使えば警告やエラーを次々と漏れなく見て回ることができます。

第8位のctrl + 1と組み合わせれば、すばやくエラーの修正が出来ます。


第11位 alt + shift + l ローカル変数の抽出

↓のように使えば、変数宣言の、イコールから左側を手で書かずにすみます。makeVar.gif

newだけではなく、メソッドの戻り値を変数として抽出したりもできます。


第10位 alt + a -> f ファイル検索

grepです。

指定した検索ワードを含むファイルと、どの部分に含んでいるかが分かります

searchFile.gif

ちなみにctrl + HでJavaのファイルに限って検索することも出来ます。


第9位 変数名を途中までタイプしてctrl + space 変数名補完

assist.gif

ほとんど必須なレベルのショートカットですが、予想したほど喜ばれませんでした。

「変数名くらいならぽちぽちタイプしますよ」というところでしょうか。


第8位 エラーや警告の箇所を選択してctrl + 1 修正方法を教えてくれる

メソッドにreturn文が足りないときにとりあえず自動的に追加してコンパイルエラーをなくしたり出来るので、便利です。

fixError.gif

新人だと、Javaの文法だとかを徐々に知っていくための最初のステップとして使うのは、いいことだとおもいます。


第7位 ctrl + shift + f コードフォーマット

ctrl + shift + fでインデントやスペースやらを自動的に整えてくれます。

これも、保管アクションで、ファイル保存時に自動的に実行させられます。

これが一番喜ばれると思っていたのですが、やらなくてもコンパイルエラーにならないせいか、盛り上がりませんでした。

codeFormat.gif


第6位 クラス直下でメソッド名だけを書いてctrl + space メソッド作成

makeMethod.gif

予想以上にウケがよかったので驚きました。

今になって思えば、「privateとかpublicとか考えるのが面倒なのでこのショートカットを使ってた」という人もいるかもしれないので、もしそうなら、あまり良くない傾向。

ちなみにmainと書いてctrl + spaceでいわゆるmainメソッドを作れますし、親クラスのメソッドと同じメソッド名を書けば、自動で@Overrideをつけたりしてくれます。


第5位 alt + Right or alt + Left 戻る・進む

alt + Right or alt + Left で開いていた場所を戻ったり進んだり出来ます。

ブラウザの戻る・進むみたいなものです。

たくさんのファイルを開いて、それぞれをちょこちょこと編集するときに便利です。

コードレビューのときにも使ったりしていました。

previousNext.gif

↑は、分かりづらいですが、操作例です。


第4位 ctrl + d 行削除

ctrl + dでカーソルがある行を削除できます。

複数行選択している状態で使えば、複数行丸ごと削除できます。

deleteLine.gif

試行錯誤でいろいろな場所にコメントアウトの行が出来たあとに、

それらをすばやく削除するのに使っているようでした。


第3位 alt + shift + r 名前変更

変数やメソッドの名前にカーソルを置いてalt + shift + rで名前を変更することが出来ます。

呼ばれている箇所も自動的に同様に変更してくれます。

newName.gif

複数の場所が同時に書き変わるので見た目が派手なのもウケた要因だと思います。


第2位 ctrl + / コメントアウト

ctrl + /でカーソルがある行をコメントアウトできます。

複数行選択している状態で使えば、複数行丸ごとコメントアウトできます。

comentOut.gif

いろいろと試行錯誤するときに使ってもらえていました。


第1位 ctrl + alt + h 呼び出し階層を開く

メソッド宣言の上やメソッドの定義の中でctrl + alt + hで、そのメソッドがどこから呼び出されているかを調べることが出来ます。

caller.gif

他人のコードを読む手がかりにしたり、メソッドの呼び出し元が全部分かるので影響範囲を調べられたりと、かなり使用頻度が高いです。

新人研修で渡されたサンプルコードを解読したり、デバッグをしたりと、役立ててもらえていました。


反省

ここに書いたものを一人の人物に教えたのではなく、

いろいろな人に、いくつかを教えたり、教えなかったりという感じでしたが、

それでもなお、ちょっとたくさん教えすぎたかな?感があります。

次の機会があれば、ランキング上位のものに教えるものを絞って、定着させてもらう方に力を傾けていい気がしました。


ここに書かなかったやつだと ctrl + o でアウトライン表示

アウトライン表示 したあとに、さらに絞り込み検索をして

任意のメソッドや変数に飛べます。

クラスがバカでかくなってしまったときには必須レベルで使っています。