web-dev-qa-db-ja.com

Eclipseが括弧を自動追加しないようにするにはどうすればよいですか?

たとえば、「整数」と入力するとします。次に、CTRL + SPACEを押して、リストから「valueOf」を選択すると、Eclipseは常に関数名の後に「()」を追加します。多くの場合、既存のステートメントがあり、その周りに関数をラップしたいので、それは私にとって本当に迷惑です。

例:変更したい

String x = "hello world";

String x = StringManipulator.uppercase("hello world");

私が書いたら

String x = StringManipulator."hello world";

ドット文字でCTRL + SPACEを押すと、挿入されます

String x = StringManipulator.uppercase()"hello world";

この動作を修正する方法はありますか?自動的に括弧を閉じる必要はありませんが、Eclipseがそれらを自動挿入するのを停止するだけで非常に役立ちます。

33
Konrad Höffner

Eclipseの設定に移動します->検索ボックスに次のように入力します: "親"->気に入らないオプションのチェックを外します。それがその混乱の中での検索の目的です(Eclipseの設定)。

13
pruzinat

この無関係に見える設定が大きな違いを生むと思うので、それについて言及します。

「コンテンツアシスト」設定で「完了挿入」ではなく「完了上書き」を選択した場合、Eclipseのオートコンプリート機能の動作は多少異なります。

wrappingMethod()を完了するメソッドとします。)

wrappingMoriginalMethod()
上記の「gM」の後にカーソルを置き、完了提案を受け入れると、次のようになります。
wrappingMethod()

wrappingM(originalMethod()
上記の「gM」の後にカーソルを置き、完了提案を受け入れると、次のようになります。
wrappingMethod(originalMethod()
上書きを防ぐために開いている親を追加する必要がありましたが、余分な親はありませんでした。

wrappingM originalMethod()
上記の「gM」の後にカーソルを置き、完了提案を受け入れると、次のようになります。
wrappingMethod(parameterGuess) originalMethod()

これが今のところ最も快適な選択だと思います。既存のパレンの直前に完了した場合にパレンを挿入しない「スマートな」括弧挿入機能があればいいと思います。とにかく私が望んでいるので...チェックできればさらに素晴らしいでしょうそれらの既存の親は、私が探している引数を持っているかどうかを確認し、何かスマートなことをしますOR挿入ポイントの後のメソッドをチェックして、それが私の完了の引数であるかどうかを確認します。先に進んでそれを行い、その後に閉じ括弧を置き、セミコロンがすでにある場合はセミコロンの前に置きます。

繰り返しになりますが、IDEがすべてのコードを書き込むと、すぐに飽きてしまいます。

10
Jason Kell

かっこを自動的に閉じるのは、かっこを開くときです。この場合、メソッドをオートコンプリートします。この場合、呼び出すメソッドに引数があると、かっこと引数が配置されるブロックが自動作成されます。これを行う方法はありません。括弧なしでメソッドをオートコンプリートするだけですが、オートコンプリートするテンプレートを作成できます。

  1. 環境設定に移動:Java=>エディター=>テンプレート
  2. 新着
  3. 関連する名前を書いてください
  4. コンテキストで選択Javaステートメント
  5. パターン内書き込み:StringManipulator.uppercase($ {line_selection} $ {cursor});
  6. OKとOkもう一度
  7. 関数を追加する場合は、囲むテキストを選択し、Alt + Shift + Zを押して、前に作成したテンプレートを選択します。

それが役に立てば幸い

4
pescamillam