キーボードショートカットを使用してIntelliJのメソッドパラメータを再配置


92

IntelliJでは、+ Shift+ (または+ Shift+ )を押すことで、ステートメントの順序(またはその部分のメソッド全体)を簡単に並べ替えることができます。

メソッドパラメータの順序を簡単に変更するショートカットがあるかどうか疑問に思っていたので、

public void sth(String a, String b) {...}

となります

public void sth(String b, String a) {...}

キーボードショートカットのストロークで(カーソルがパラメータの1つにあると仮定)。

IntelliJがパラメータを並べ替えるだけなら、私にとっては十分でしょう。つまり、これはリファクタリング>メソッドシグネチャの変更全体をトリガーする必要はありません。


1
3つ以上のパラメーターがある場合、これはどのように動作する必要がありますか?:)
Konstantin Yovkov 2016

2
カーソルが2番目のパラメーターにあるとします。上にシフトすると、最初のパラメーターになります。下にシフトすると、最後になるはずです。
Stefan Haberl 2016

2
一度に1つのパラメータが上下に移動しました!この偉業ができるようになりたいです!
エリクソンによる

1
Ctrl+F6そして、Alt+UpまたはAlt+Downパラメータを移動するには?
Lyubomyr Shaydariv 2016

1
ええ、あなたが思っているよりも頻繁に。メソッドを具体化し始めると、通常Alt-Enter 、必要に応じてパラメーターを追加します。完了したら、パラメーターをより論理的な順序に再配置します。さらに、メソッド呼び出しにもこのショートカットがあると本当に便利だと思います。(男、同じタイプのパラメーターが4つまたは5つを超えるレガシーAPIを使用しているときに、順序を間違えることがどれほど頻繁にありましたか!うーん!)
Stefan Haberl 2016

回答:


155

IDEA 16 EAP以降、そのためのアクションがあります。それはメニューにあります:

コード| 要素を左/右に移動

キーボードショートカットがあるAlt+ Ctrl+ Shift+ Left/RightAlt+ Cmd+ Shift+ Left/RightOSX用)。

詳細については、http://blog.jetbrains.com/idea/2016/01/intellij-idea-16-eap-improves-editor-and-vcs-integration/を参照してください。


IDEA 16が公開されるまでもう少し待たなければならないと思いますが、それは素晴らしいニュースです!
Stefan Haberl 2016

EAPはすでに普及しているので、試してみることができます:)リリースまでに2か月以上かかるとは思いません。
Peter Gromov

4
良いですが、Lyubomyr Shaydarivの回答:stackoverflow.com/a/35359882/4024146は、パラメーターの変更に対する依存関係をリファクタリングおよび変更するため、はるかに優れています。これは、このメソッドのパラメーターを切り替えるだけで、別のメソッドからのメソッド呼び出しは切り替えません。マクロを作成する必要はありません。CTRL+ F6を押して、ALT +↓を使用します
mtrakal 2017

1
@mtrakalそれらは2つの異なるものです。メソッドを作成するときは、重い(遅い)リファクタリングは必要ありません。パラメーターを簡単に移動したいだけです。これの本当の問題は、私がしばしば別々の行にパラメータを持っているので、これが機能しないことです。(私は本当に、左右ではなく、前の移動と次の移動が必要です。)
James Moore

異なるメソッドの複数のパラメータに複数のカーソルがある場合は、それらを一緒に移動できます。
WesternGun

16

IDEAでそれが可能かどうかはわかりませんが、2つのパラメーターのメソッドにエディターマクロを使用してみてください。

  • エディタ->マクロ->マクロ記録の開始
  • マクロを記録します。
    • Ctrl+ [署名F6変更]ダイアログを開きます
    • Alt+最初と2番目のパラメータを交換します
    • Tab[パラメータ]タブを無効にして、[リファクタリング]ボタンにフォーカスを合わせます
    • Enter リファクタリングの実行時にダイアログを閉じる
  • エディタ->マクロ->マクロの記録停止し、マクロに名前を付けます。たとえば、「メソッドパラメータ1と2を入れ替える」とします。

次に、[エディター] -> [マクロ]メニューからマクロにアクセスするか、[設定]-> [キーマップ]-> [メインメニュー] / [編集] / [マクロ] / [メソッドパラメーターの交換]パラメーター1および2でマクロにカスタムショートカットを割り当てます。それは私には非常に汚くて文脈自由な方法に見えますが、多分それはあなたを少し助けるかもしれません。


11

Ubuntu 18.04では、デフォルトのショートカットはCtrl + Alt + Shift + Super + Left / Rightで、引数を左または右の位置に移動します。

これは、いくつかの新しいOSレベルのショートカットと衝突しないように設定されているためです。


1
おかげで、それは指の体操を必要としますが、これは別のキーをバインドする必要があるよりもはるかに優れています。
gMale
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.