Réorganiser les parameters de méthode dans IntelliJ avec un raccourci clavier

Dans IntelliJ, je peux facilement réorganiser l’ordre des instructions (ou des méthodes entières pour cette partie) en appuyant sur + Maj + (ou sur + Maj + ).

Je me demandais s’il y avait un raccourci pour changer l’ordre des parameters de la méthode aussi facilement, de sorte que

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

va devenir

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

avec le coup d’un raccourci clavier (en supposant que mon curseur est positionné sur l’un des parameters).

Cela me suffirait si IntelliJ réordonnait les parameters. C’est-à-dire que cela n’a pas besoin de déclencher un refactor entier > Changer la signature de la méthode .

Depuis IDEA 16 EAP, il y a une action pour cela. C’est dans le menu:

Code | Déplacer l’élément gauche / droite

Les raccourcis clavier sont Alt + Ctrl + Maj + Gauche / Droite ( Alt + Cmd + Maj + Gauche / Droite pour OSX).

Voir http://blog.jetbrains.com/idea/2016/01/intellij-idea-16-eap-improves-editor-and-vcs-integration/ pour plus de détails.

Je ne suis pas sûr que ce soit possible dans IDEA, mais vous pouvez essayer d’utiliser des macros d’éditeur pour les méthodes à deux parameters:

  • Éditeur -> Macros -> Démarrer l’enregistrement de macros
  • Enregistrez votre macro:
    • Ctrl + F6 pour ouvrir la boîte de dialog Modifier la signature
    • Alt + pour permuter le premier et le second paramètre
    • Tabulation pour désactiver l’onglet Paramètres et laisser le bouton Refactor obtenir le focus
    • Entrez pour fermer la boîte de dialog à effectuer le refactoring
  • Éditeur -> Macros -> Arrêtez l’enregistrement de macros et donnez un nom à votre macro, disons “Paramètres de méthode d’échange 1 et 2”.

Accédez ensuite à votre macro via le menu Editeur -> Macros ou affectez-lui un raccourci personnalisé dans Paramètres -> Keymap -> Menu principal / Modifier / Macros / Paramètres de méthode d’échange 2 et 1 . Cela me semble très sale et dépourvu de contexte, mais cela pourrait peut-être vous aider un peu.