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 | - | - | - |
管理者: Katsuhiro Suzuki(katsuhiro( a t )katsuster.net)
This is Simple Diary 1.0
Copyright(C) Katsuhiro Suzuki 2006-2021.
Powered by PHP 5.2.17.
using GD bundled (2.0.34 compatible)(png support.)