情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

Eclipse:ステップ実行時に便利な「Run to Line」とは

Eclipse (60) ショートカットキー (9)

Eclipse(をはじめとするIDE)を使ったデバッグでは、プログラムを1行ずつ実行していく「ステップ実行」がとても便利です。そんなステップ実行時に関連する「Run to Line」という機能を紹介します。

「Run to Line」を利用する場面

たとえばこんなときに使います。

for文の中に入ったけど、もう出たい」「このメソッドの最後の行まで移動したい

このような場合、素朴は方法だと「Step Over(F6)」という「1行実行」を何度も連打する方法があります。しかし、for文で何百回も回すなら現実的ではありません。そうなると、一時的にBreakpointを目的の行に設定する方法もありでしょう。

たしかにそんな方法でも良いのですが、そんな「今一瞬だけBreakpointを設置したい」場合に使える、存在感のない機能が「Run to Line」です。

「Run to Line」とは

「Run to Line」とは、「カーソル行まで実行する」という機能です

Resume and break when execution reaches the current line

  • Step In(F5)→1行実行(ただし、メソッド呼び出しなどが含まれる場合はそこへジャンプ)
  • Step Over(F6)→1行実行(ただし、F5のようなジャンプはせず、単純に次の行へ移動)
  • Step Return(F7)→メソッドの残りを一気に実行し、呼び出し元の行まで移動する
  • Resume(F8)→実行を再開する

こいつらの仲間なわけですが、一番目立っていない気がします。なぜなら、ショートカットキーがデフォルトでは割り当てられていないからです(ショートカットキーがないなんてそりゃ使えないな、と思うかも?)。

使い方

というわけで、たとえばfor文から抜けたい場合は、「for文の終わり」までカーソルを移動して、「Run to Line(Run>Run to Line)」を実行すれば移動できます(カーソルを移動するなんて面倒だな、と思うかも?)。

また、このメソッドの最後の行までジャンプしたい場合は、「最後の行」までカーソルを移動して、「Run to Line」を実行すれば、移動できます(最後の行の1行手前まで実行して、最後の行を実行する直前まで移動します)。

もしその行を通らなかったら

カーソル位置の行を通過しない場合は、次のエラーが表示されます(どういう仕組みで表示しているのかは検証していませんが)。

Operation failed

Reason: Cursor position is not a valid location to run to

思うこと

Eclipseは、まるで知られていない機能がたくさんあります。そのせいで、面倒な作業をしながら「Eclipseはだめだ」と言っている人がいるかもしれません。また、知られていても、その有用性が理解されていない場合も多くあります。

今回紹介したのは小さな機能でそこまで有用性が高い機能ではありません。しかし、だからといって「ショートカットキーがないの?」「カーソル移動めんどうじゃね?」と思ってしまったとしたら、その発想の原因を潰してしまうことを強くオススメします。とりあえず、カーソル移動も含めて、ショートカットキーをたくさん設定しましょう。もちろんむやみに設定するのは無駄で、よくつかう機能を、使いやすいキーに設置しましょう。そういう設定をより効果的にするために、物理キーが豊富で押しやすい日本語キーボードがおすすめです。その他には右手トラックボールをキーボードの下に潜らせるのがオススメです。I字カーソル・マウスカーソルの移動を強力にサポートしてくれます(もちろんインクリメンタルサーチショートカットキーによるI字カーソル移動も活用しつつ使い分けます)。

(えーっな)追記:この記事の公開直後、よくよく確認してみると、「Run to Line」にはちゃんとデフォルトキーバインドがあって、「Ctrl+R」でした。そんな押しやすいキーはとっくに別機能になってました;(Fキーではないあたり、やっぱり仲間はずれ感はありますね)。本文は、これに気がつかないで書いてしまいました^^;

コメント(0)

新しいコメントを投稿