コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2012年2月27日 >>> 2012年2月14日
link もっと後

2012年2月27日

Eclipseが固まる

目次: Java

Eclipseのエディタは、変数名をカーソルでポイントすると、変数の型やJavadocが自動的に出現します。とても便利なのですが、誰も定義していない変数(変数名をtypoしてるとか)をポイントしてしまうと、何かを探しに行ったままEclipseがフリーズします。

特にネットワークドライブなどI/Oの遅い場所にプロジェクトを置いていると、現象が顕著に発生します。長いときは十秒くらい反応が返りません。カーソルを動かすたびに誤爆して固まるので、相当イライラします。

今まで我慢して使っていたのですが、いい加減ムカついてきたので原因を探ってみました。

原因

Editorの設定を調べると、どうも固まる原因はHoversにあるようです。設定はメニューから辿ってWindow - Preferences - Java - Editor - Hoversにあります。

初期状態だと、
Combined Hover(右側空欄)
Externalized String(Ctrl+Alt)
Source(Shift)
が選ばれていると思います。下記のような意味です。

  • 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と組み合わせられるキーは少ないです。

ShiftCtrlAlt 説明
× × × 何も押さずにポイントしたときがこれ。
× × 使えるが、キーを離すとメニューにフォーカスが移ってしまって使いづらい。
× × 使えません、Eclipseのエディタの機能と衝突していてHoverが発動しません。
× 使える、デフォルトではExternalized Stringに割り当て。
× × 使える、デフォルトではSourceに割り当て。
× 使えるが、キーを離すとメニューにフォーカスが移ってしまって使いづらい。
× 使える。
使えるが、3つも押すのが面倒くさい。

以上から、使いやすいのは、(何も押さない), Shift, Shift + Ctrl, Ctrl + Altの4つくらいですかねえ。

編集者:すずき(2025/01/13 16:25)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2012年2月25日

休日出勤

底なし沼プロジェクト(2012年2月18日の日記参照)は順調に沈んで行っています。

休日出勤は電車が空いているのはいいけど、休みが短くなって悲しい…。

GNU global

コードを読むときに便利なのがタグジャンプです。私はvim + GNU globalを使っています。会社に長年伝わる(意味不明な)秘伝のソースコードを解読するときに大活躍です。

タグジャンプって不思議と家では使わないのですが、一応、家のDebianマシンでも使えるように .vimrcを設定しました。

Vimのpluginはどこだ

ところで ~/.vim/pluginに入れるgtags.vimはいずこに?Fedoraでは /usr/share/global辺りにあったと思うのですが、Debianにはそれらしいディレクトリはありません。

こんなときのapt-fileに聞いてみると、/usr/share/doc/global/examples/ なんてところに、ご丁寧にgzip圧縮して置いてありました。

うん、これはわからんね。しかし何故docの下に置くかね…。

編集者:すずき(2012/02/26 13:22)

コメント一覧

  • hdkさん(2012/02/26 13:55)
    ls /usr/share/doc/*/examples/ してみるとわかるけど、よくある話じゃないかな? Mercurial なんかも Emacs や Vim 用っぽいファイルがありますね。
    たぶん /usr/share/global みたいなのは Debian 的によろしくなくて、でも使いたい人はいるだろうからってことで examples に押し込んでいるんじゃないかと思ってます。需要が高ければ別パッケージになるんでしょうけど。
  • すずきさん(2012/02/26 14:56)
    >hdk さん
    Debian のポリシーマニュアル 12.6 Examples には「These files should not be referenced by any program: they're there for the benefit of the system administrator and users as documentation only.」とあるから、プラグインを example に入れるのは邪道なんだろうね。

    global と Vim, Emacs の依存関係を持たせてプラグインを自動でインストールするか、hdk さんが言うように、プラグインだけ別パッケージにすべきなんでしょうけど、人気ないのかねえ。

    vim + global 便利だと思うんだけどなー。
  • IKeJIさん(2012/02/26 21:24)
    個人プロジェクトだとコードサイズがばかでっかくなる事はないんで、ctagsだけで十分な気分になる事が多い気がします。
  • すずきさん(2012/02/27 22:04)
    >IKeJI さん
    おひさしぶりー。
    確かに、自分で書いたコードには使わないですね。
    何をどこで呼んでるか大体わかるし、関数定義する場所も覚えていれば ctags すら使わないかも…。
open/close この記事にコメントする



2012年2月24日

何してるかわからん

ピアレビューをするとき、自分orレビュー相手の席で普段使っているエディタでソースコードを見ながらやることが多いです。

先輩と私でレビューしていたとき、先輩に「すずき君が何してんのかようわからんけど、画面の動きがおもろいw」みたいなことを言われました。

私はお世辞にもVimを使いこなしているとは言えませんが、Emacs(正確にはMeadow)使いの先輩はVimを見慣れていないので、モタモタ操作でもそんな風に感じるわけです。

じゃあその逆、つまり先輩の席でコードレビュー(当然Meadowでソースコードを見ている)するときはどうか?というと…、

いやー、何してるか全然わかんないね!なんかガシャガシャやったら、見たいコードが出てきてハイライトされて、ちょいちょいーっと直っていくそんな不思議な感じ。

ウィザード

PCの世界に限らず、見慣れないものをすごい勢いで操作している人は、魔法使いみたいに見えますね。

珠算の日本一(名前に反してそろばん一切使わないけど)とか、ルービックキューブの早解きなんて、まさに魔法です。

編集者:すずき(2012/02/26 16:07)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2012年2月18日

近況

先週だったか、実験室の隣席に座っていた先輩が「もうこの泥沼プロジェクトは嫌だー。」ってボヤいていたので「大変ですよねー。」なんて笑っていました。

そうしたら先輩さらに曰く「いやいや、そっちの底なし沼プロジェクトよりマシだけどw」だって。おお、なんて的確な表現なんだ…言い返せないわwww

休日出勤

というわけで、底なし沼プロジェクトは休日出勤なのでした。来週もあるのかなあ?

編集者:すずき(2012/02/26 13:20)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2012年2月27日 >>> 2012年2月14日
link もっと後

管理用メニュー

link 記事を新規作成

<2012>
<<<02>>>
---1234
567891011
12131415161718
19202122232425
26272829---

最近のコメント5件

  • link 26年7月26日
    すずきさん (08/06 12:27)
    「ダイバート便以外もバスなんですよねえ。私...」
  • link 26年7月26日
    hdkさん (08/06 08:41)
    「あの規模の空港だとダイバート便にまでボー...」
  • link 26年7月14日
    すずきさん (07/31 11:48)
    「補充して乗れるのはまあそうなんですけど、...」
  • link 26年7月14日
    hdkさん (07/22 08:37)
    「冷却水漏れなんて、修理するまでは補充して...」
  • link 26年1月23日
    すずきさん (01/29 09:48)
    「おおー、そんな昔からなんですね。歴史感じ...」

最近の記事20件

  • link 23年6月1日
    すずき (09/03 00:20)
    「[自宅サーバー - まとめリンク] 目次: 自宅サーバーこの日記システム、Wikiの話。カウンターをPerlからPHPに移植日...」
  • link 26年8月24日
    すずき (09/03 00:20)
    「[ADS-Bを送る時刻に注意] 目次: 自宅サーバー以前、Flightradar24のcontributorになる方法(202...」
  • link 21年12月28日
    すずき (09/02 23:13)
    「[ゲーム - まとめリンク] 目次: ゲームNintendo DSを買ったパネルでポンDS最近の朝はパネポンDS聖剣伝説DSチ...」
  • link 26年4月11日
    すずき (09/02 23:12)
    「[デヴィエーション・ゲームでAIと勝負] 目次: ゲームお台場の日本科学未来館に行ってきました。どの展示も面白いんですけど、一...」
  • link 26年6月3日
    すずき (09/02 23:07)
    「[台風6号と大雨] 台風6号の影響でめちゃくちゃ雨が降っていました。Yahooの河川情報を見ると、氾濫寸前の川がチラホラしてお...」
  • link 26年9月1日
    すずき (09/02 01:42)
    「[誕生日のパラドックス] Twitter…じゃなくてXで「QuizKnockの誕生日のパラドックスの計算式が間違...」
  • link 26年8月8日
    すずき (08/10 03:22)
    「[NTPの時刻同期状況] 目次: 自宅サーバーNTPの動作状況を見るときに使うコマンドのメモです。よく使うのはntpq -pで...」
  • link 23年5月15日
    すずき (08/06 01:27)
    「[車 - まとめリンク] 目次: 車三菱 FTO GPX '95の話。群馬県へのドライブ1群馬県へのドライブ2将来車を買い替え...」
  • link 26年7月30日
    すずき (08/06 01:27)
    「[ジャガーさんのオイル漏れ] 目次: 車会社の同僚の方(整備士)から、ジャガーの下見たらオイル漏れしてたと教えてもらいました。...」
  • link 26年7月27日
    すずき (08/06 00:49)
    「[ジャガーさんの冷却水漏れ修理が終わった] 目次: 車正確には昨日ですけど、成田からの帰りに修理をお願いした整備工場(カスタム...」
  • link 26年7月26日
    すずき (08/06 00:05)
    「[北海道から東京へ] GWからだいぶずれちゃいましたが北海道に帰省していました。涼しくて最高だった北海道を出て、灼熱の東京へ戻...」
  • link 26年7月22日
    すずき (07/22 03:04)
    「[ジャガーさんの冷却水漏れの修理見積もり] 目次: 車先週、冷却水がほぼなくなってしまい修理工場にレッカーしたジャガーさんです...」
  • link 26年7月14日
    すずき (07/22 02:37)
    「[ジャガーさんの冷却水漏れ] 目次: 車朝、出勤しようと思ってエンジンをかけたところ冷却水不足と表示されました。わぁ、ついに出...」
  • link 26年7月19日
    すずき (07/20 04:04)
    「[ゲームを買ったら遊びましょう4] 目次: ゲーム前回の振り返り(2025年12月22日の日記参照)から半年経ちました。Swi...」
  • link 26年7月13日
    すずき (07/19 23:33)
    「[Flightradar24のcontributorになる方法] 目次: 自宅サーバーADS-Bを受信できる環境があればFli...」
  • link 23年9月11日
    すずき (07/15 12:18)
    「[Windows - まとめリンク] 目次: WindowsWindows XPのブリッジ機能colinuxとWindowsの...」
  • link 25年1月31日
    すずき (07/15 12:18)
    「[Windowsの日本語フォントはみな長生き] 目次: WindowsGNOME48からフォントが変わるニュースを見ていて、フ...」
  • link 26年7月11日
    すずき (07/12 01:26)
    「[Timberborn、トロフィーコンプ] 目次: ゲームTimberbornのトロフィーをコンプリートしました。アーリーアク...」
  • link 24年2月7日
    すずき (07/11 13:05)
    「[複数の音声ファイルのラウドネスを統一したい] 目次: PythonPCやデジタル音楽プレーヤーで音楽を聞いていると、曲によっ...」
  • link 26年6月27日
    すずき (07/08 01:45)
    「[ジャガーさんのバンパー修理] 目次: 車以前(2025年11月21日の日記参照)、ジャガーさんの左前をぶつけてバンパーをガリ...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 2025年
open/close 2026年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www2.katsuster.net
RDFファイル RSS 1.0

最終更新: 09/03 00:20