2011-01-27 14 views
54

私のクラスに空でないコンストラクタがある場合、new式のパラメータを自動完成することはできますか? EclipseによるIntelliJは "新しい"式のコンストラクタパラメータを自動完成できますか?

、カーソルが括弧の間にあるとき、あなたはCTRL +スペースを押した場合:

MyClass myObject = new MyClass(); 

それが適切なパラメータを見つけます。

--> MyClass myObject = new MyClass(name, value); 

私はCTRL +シフトnew + スペースバーを使用する場合は、IntelliJのは私にコンストラクタを示しているが、私は自動補完のための1つを選択することはできません。私はオプションがありませんか?

+0

質問を変更できますか?ややこしい。意味が分からない。 – sandalone

答えて

2

のIntelliJアイデア2016.3であなたがオプション + リターンを使用することができます。それはあなたの引数の名前付き引数とすべてのフォロワーを導入するかどうかを尋ねます。

enter image description here

+1

それは私にとってはうまくいかない。特定の言語固有のものですか? – Adam

+0

ScalaとMac OSXでテストしましたが、他の言語や環境についてはわかりません。 –

+0

MacOSではJavaでは動作しません。 Cmd + Pが動作します。 –

2

まだそのような可能性はありません。 IDEAが自動的に引数を埋めるわけではないので、参照でコンストラクタを区別することは意味がありません。そのような行為は危険でエラーが起こりやすいと誠実に信じていますが、その要求(http://youtrack.jetbrains.net/issue/IDEABKL-5496)があります。

+1

Ctrl + P、パラメータ情報(メソッド呼び出し引数内)。 – user7610

+7

私は同意しません。なぜ、ユーザーが少なくともそれを有効にすることを選ぶことができるのは危険なのでしょうか?これは非常に便利な機能であり、おそらく実装が簡単です。この機能を実装していないという価値観はありません。 – quantum

+0

ベンダーが良いものか悪いものかを教えてもらうのはいつも面白いです。 クラスを作成するときに、使用するctorを選択する必要があるため、非常に意味があります。さもなければ、ctorsは意味をなさないだろう。 – Bevor

9

まあ、Ctrl + Shift + Spaceの組み合わせが考えられます。これは可能な引数のセットを思いつきます。また、Ctrl + Shift + Spaceを2回押すと、Ideaは複数の呼び出しに対応する引数を見つけようとします&変換。

このように、あなたの例では、Ctrl + Shift + Spaceはほぼ確実に '名前'を示唆しています。そして、次のCtrl + Ship + Spaceは、提案として「価値」を生み出します。

+0

トリックに感謝します! – Loic

97

私は通常受け入れられているかの引数を参照するには、CtrlPで始まる(自動完全な推測私の意見で発生しやすいエラーする方法です)。そしてCtrlキードロップダウンメニューは、名前を選択するようにn矢印アップ/ダウンタブで始まるすべての利用可能な変数/フィールド(など)が表示され、またはnあなたのケースのように、あなたがnameタイプを記入したい場合はスペースメソッド(あるいはを選択するはCtrlAltキースペースは値の,vタブ続い提案;-)、によって殺されます。

+11

この機能を探していた:Ctrl + P。ありがとう! –

+11

参考までに、OS Xのキーバインディングでは、これは⌘Pで、機能の名前は「パラメータ情報」です([ビュー]> [パラメータ情報])。 –

11

私はパラメータ情報が割り当てられていないので、Eclipseのキーマップを使用しました。ここ はそれを変更する方法である:

enter image description here

関連する問題