Eclipseのエディタは、変数名をカーソルでポイントすると、変数の型やJavadocが自動的に出現します。とても便利なのですが、誰も定義していない変数(変数名をtypoしてるとか)をポイントしてしまうと、何かを探しに行ったままEclipseがフリーズします。
特にネットワークドライブなどI/Oの遅い場所にプロジェクトを置いていると、現象が顕著に発生します。長いときは十秒くらい反応が返りません。カーソルを動かすたびに誤爆して固まるので、相当イライラします。
今まで我慢して使っていたのですが、いい加減ムカついてきたので原因を探ってみました。
Editorの設定を調べると、どうも固まる原因はHoversにあるようです。設定はメニューから辿ってWindow - Preferences - Java - Editor - Hoversにあります。
初期状態だと、
Combined Hover(右側空欄)
Externalized String(Ctrl+Alt)
Source(Shift)
が選ばれていると思います。下記のような意味です。
Eclipseが固まるときは特にキーを押していませんから、Eclipseが固まる原因はCombined Hoverですが、これは名前の通り複数の機能の複合なのでもう少し絞込みが必要です。
Combined Hoverの説明を見るにリストの上から順に試してうまく行ったやつを表示するだけらしいので、Combined Hoverのチェックをはずして、リストの上から他の機能を一個ずつ試してみます。
上から試した結果、Eclipseを固まらせる真の原因はHoversのProblem Descriptionだったとわかりました。さらに言うとProblem Descriptionの「変数が未定義エラー」の表示だけが非常に低速です。「クラスが未定義エラー」や「スペルチェッカの警告」の表示はかなり高速です。うーん、何が悪いんでしょうね?
Combined HoverをOFFにするとエディタが使いづらくなるので、良く使う機能(たぶんJavadocでしょう)を単発でONにして、Problem Descriptionは暴発しないようにキーを押したときのみ発動させるように、設定を変更すると良いと思います。
個人的にはSourceは要らないので、
Problem Description(Shift)
Externalized String(Ctrl+Alt)
Javadoc(右側空欄)
としています。
Shift, Ctrl, Altで2^3 = 8通り(何も押さない場合を含んで)の組み合わせができますが、意外とHoverと組み合わせられるキーは少ないです。
Shift | Ctrl | Alt | 説明 |
---|---|---|---|
× | × | × | 何も押さずにポイントしたときがこれ。 |
× | × | ○ | 使えるが、キーを離すとメニューにフォーカスが移ってしまって使いづらい。 |
× | ○ | × | 使えません、Eclipseのエディタの機能と衝突していてHoverが発動しません。 |
× | ○ | ○ | 使える、デフォルトではExternalized Stringに割り当て。 |
○ | × | × | 使える、デフォルトではSourceに割り当て。 |
○ | × | ○ | 使えるが、キーを離すとメニューにフォーカスが移ってしまって使いづらい。 |
○ | ○ | × | 使える。 |
○ | ○ | ○ | 使えるが、3つも押すのが面倒くさい。 |
以上から、使いやすいのは、(何も押さない), Shift, Shift + Ctrl, Ctrl + Altの4つくらいですかねえ。
底なし沼プロジェクト(2012年2月18日の日記参照)は順調に沈んで行っています。
休日出勤は電車が空いているのはいいけど、休みが短くなって悲しい…。
コードを読むときに便利なのがタグジャンプです。私はvim + GNU globalを使っています。会社に長年伝わる(意味不明な)秘伝のソースコードを解読するときに大活躍です。
タグジャンプって不思議と家では使わないのですが、一応、家のDebianマシンでも使えるように .vimrcを設定しました。
ところで ~/.vim/pluginに入れるgtags.vimはいずこに?Fedoraでは /usr/share/global辺りにあったと思うのですが、Debianにはそれらしいディレクトリはありません。
こんなときのapt-fileに聞いてみると、/usr/share/doc/global/examples/ なんてところに、ご丁寧にgzip圧縮して置いてありました。
うん、これはわからんね。しかし何故docの下に置くかね…。
ピアレビューをするとき、自分orレビュー相手の席で普段使っているエディタでソースコードを見ながらやることが多いです。
先輩と私でレビューしていたとき、先輩に「すずき君が何してんのかようわからんけど、画面の動きがおもろいw」みたいなことを言われました。
私はお世辞にもVimを使いこなしているとは言えませんが、Emacs(正確にはMeadow)使いの先輩はVimを見慣れていないので、モタモタ操作でもそんな風に感じるわけです。
じゃあその逆、つまり先輩の席でコードレビュー(当然Meadowでソースコードを見ている)するときはどうか?というと…、
いやー、何してるか全然わかんないね!なんかガシャガシャやったら、見たいコードが出てきてハイライトされて、ちょいちょいーっと直っていくそんな不思議な感じ。
PCの世界に限らず、見慣れないものをすごい勢いで操作している人は、魔法使いみたいに見えますね。
珠算の日本一(名前に反してそろばん一切使わないけど)とか、ルービックキューブの早解きなんて、まさに魔法です。
先週だったか、実験室の隣席に座っていた先輩が「もうこの泥沼プロジェクトは嫌だー。」ってボヤいていたので「大変ですよねー。」なんて笑っていました。
そうしたら先輩さらに曰く「いやいや、そっちの底なし沼プロジェクトよりマシだけどw」だって。おお、なんて的確な表現なんだ…言い返せないわwww
というわけで、底なし沼プロジェクトは休日出勤なのでした。来週もあるのかなあ?
< | 2012 | > | ||||
<< | < | 02 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | - | - | 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | - | - | - |
合計:
本日: