Rearrange method parameters in IntelliJ with keyboard shortcut

In IntelliJ I can easily rearrange the order of statements (or whole methods for that part) by pressing + Shift + (or + Shift + ).

I was wondering whether there's a shortcut to change the order of method parameters as easily, so that

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

will become

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

with the stroke of a keyboard shortcut (assuming my cursor is positioned on one of the parameters).

It would be enough for me, if IntelliJ would just reorder the parameters. That is, this need not trigger a whole Refactor > Change method signature thing.

31761 次浏览

自从 IDEA 16 EAP 以来,就有一个行动来解决这个问题。它在菜单里:

代码 | 移动元素左/右

键盘快捷键是 Alt + Ctrl + Shift + Left/Right(用于 OSX 的 Alt + Cmd + Shift + Left/Right)。

有关详细信息,请参阅 http://blog.jetbrains.com/idea/2016/01/intellij-idea-16-eap-improves-editor-and-vcs-integration/

I'm not sure if it's possible in IDEA, but you might try to use editor macros for two-parameter methods:

  • 编辑器-> 宏-> 开始宏录制
  • 记录宏:
    • Ctrl + F6打开 更改签名对话框
    • Alt + 交换第一个和第二个参数
    • Tab to deactivate the 参数 tab and let the 重构 button get the focus
    • Enter to close the dialog at perform refactoring
  • 编辑器-> 宏-> 停止宏记录 并为您的宏命名,比如“交换方法参数1和2”。

然后通过 编辑器-> 宏菜单访问宏,或者在 设置-> 键盘图-> 主菜单/编辑/宏/交换方法参数1和2中为宏指定一个自定义快捷方式。在我看来,这是一个非常肮脏和无上下文的方式,但也许它可以帮助你一点点。

在 Ubuntu 18.04上,默认的快捷方式是 Ctrl + Alt + Shift + Super + Left/Right,可以将参数左右移动到位。

这是因为它的设置不与一些新的操作系统级别的快捷方式冲突