【eclipse】スペース・セミコロンでオートコンプリートされるのを防ぐ

Pocket

QAサイトの回答用に調べたので、せっかくなので記事にしてみました。
こういうのって自サイトに誘導するような感じで少し気が引けるのだけどルール違反なのかな?

さて、Java開発でおなじみのEclipse。
このコード補完(オートコンプリート)機能は便利なのですが、超要約しますと、使い勝手を改善したいのだけどどうしたら良い?というご質問。

スポンサードリンク


前提

このお話しは、eclipseのウィンドウ>設定>Java>エディター>コンテンツ・アシストの「自動有効化を使用可能にする」にチェックが入っており、かつ「Javaの自動有効化トリガー」に「.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_」が設定されている場合に適用されます。

要はどんな文字が入力されたとしても、コード補完機能が使えるようにしよう!という設定になっていることですね。

問題

んで今回の問題。
知恵袋-eclipseで変数名宣言時に自動で変数名が提案される機能をオフにしたいです。」から一部引用。

eclipseで変数名宣言時に自動で変数名が提案される機能をオフにしたいです。
具体的には
「String text」と入力すると「textString」が提案され、その状態で「;」を押すと、
変数名が「text」のみにならず、「textString」となってしまいます。

変数宣言後の提案はオフにしたくありません。

自分がコード補完をキャンセルしたい時は、いつもEscキーを押してからセミコロンを入力していたのですが、その手間が惜しいということですよね。

改善策

日本サイトでは情報が見つかりませんでした。
海外サイトを見て回っていたら、同様の問題でお困りの方が多い様で・・・
参考:Stop spacebar keypress from triggering autocomplete in Eclipse

まぁ上記はスペースバー押下時に勝手にコード補完されちゃうのは勘弁してくれ!みたいな感じのスレッドだと思います。(すみません。英語はあまり得意では無いので読み違いをしてるかも・・・)

で、このフォーラムで解決策として提示されていたのが、バグとして報告されていたコード補完機能の改善プラグイン。
参考:Bug 348857 – [content assist] Allow to configure auto insertion trigger characters

これの12コメント目の添付ファイル(プラグイン)をeclipse\dropinsディレクトリに入れれば改善されるとのこと。

Comment 12 Timo Kinnunen CLA 2013-10-28 10:43:47 EDT
Created attachment 236956 [details]
In the meantime, a workaround

Here’s a small plugin that is used by copying it into your eclipse\dropins -folder.

The plugin disables Content Assist auto-completion trigger keys automatically every time Eclipse starts. In addition there’s a toolbar button and a menu item to toggle the disabled keys back on and off. Source code included.


※)すみませんがプラグイン(jar)は上記のリンク先からダウンロードしてください。リンク先で赤字になっている部分を押下すればダウンロードが始まります。


実際に手持ちの4.4 Lunaに入れてみましたが、変数名のコード補完時に、スペースキーまたはセミコロンを入力してもコード補完されることは無くなりました。Ctrl + Spaceでのコード補完も動作します。ってことで、要件は満たせていると思って良いのかな・・・?

でも簡単な動作確認しかしてないので他で不都合が出てくるかもしれません。

今後の見通し

上記リンク先(eclipseのバグ報告スレッド)の15コメント目で「4.5で見直しするかも・・・」的な事が書かれているので、もしかしたら4.5で改善されるかもしれませんね。期待して待ちましょう。


待ちきれない人は上記のプラグインを試してみては?


お役に立てましたか?

ブックマークをどうぞ!

スポンサード リンク

コメントを残す