En IntelliJ puedo reorganizar fácilmente el orden de las declaraciones (o métodos completos para esa parte) presionando ⌘+ Shift+ ↑(o ⌘+ Shift+ ↓).
Me preguntaba si hay un atajo para cambiar el orden de los parámetros del método tan fácilmente, de modo que
public void sth(String a, String b) {...}
se convertirá
public void sth(String b, String a) {...}
con el trazo de un atajo de teclado (asumiendo que mi cursor está posicionado en uno de los parámetros).
Sería suficiente para mí, si IntelliJ simplemente reordenara los parámetros. Es decir, esto no tiene por qué desencadenar todo un Refactor> Cambiar firma de método .
java
intellij-idea
Stefan Haberl
fuente
fuente
Ctrl+F6
y luegoAlt+Up
oAlt+Down
mover un parámetro?Alt-Enter
agrego parámetros adicionales cuando es necesario. Cuando termino, reorganizo los parámetros para que estén en un orden más lógico. Además, creo que sería muy bueno tener este atajo también para las llamadas a métodos. (Hombre, ¿con qué frecuencia me equivoqué en el orden cuando trabajaba con API heredadas con más de 4 o 5 parámetros del mismo tipo! ¡Uhg!)Respuestas:
Desde IDEA 16 EAP, hay una acción para eso. Está en el menú:
Código | Mover elemento a la izquierda / derecha
Los atajos de teclado son Alt+ Ctrl+ Shift+ Left/Right( Alt+ Cmd+ Shift+ Left/Rightpara OSX).
Consulte http://blog.jetbrains.com/idea/2016/01/intellij-idea-16-eap-improves-editor-and-vcs-integration/ para obtener más detalles.
fuente
No estoy seguro de si es posible en IDEA, pero puede intentar usar macros de editor para métodos de dos parámetros:
Y luego acceda a su macro a través del Editor -> menú Macros o asígnele un acceso directo personalizado en Configuración -> Mapa de teclas -> Menú principal / Editar / Macros / Intercambiar parámetros de método 1 y 2 . A mí me parece una forma muy sucia y sin contexto, pero tal vez podría ayudarte un poco.
fuente
En Ubuntu 18.04, el atajo predeterminado es Ctrl + Alt + Shift + Super + Izquierda / Derecha para mover un argumento hacia la izquierda o hacia la derecha en su posición.
Esto es porque está configurado para no chocar con algunos de los nuevos accesos directos de nivel de sistema operativo
fuente