¿Qué es el acceso directo de IntelliJ para crear una variable local?


121

En Eclipse, si tiene un método:

String MyObject.getValue();

Al usar esto, puede ir:

MyObject.getValue(); 

Si su cursor está en la línea y presiona CTRL+ 1, obtiene un menú contextual para 'asignar una nueva variable local', lo que resulta en lo siguiente:

String value = MyObject.getValue(); 

¿Puedes hacer esto tan fácilmente en IntelliJ? He buscado en la red pero sin éxito.


10
ProTip si no recuerdas un atajo de teclado: donde sea que estés en el código, si presionas [Ctrl] + [Shift] + [A] ([cmd] + [Shift] + [A] en Mac) se mostrará una lista de acciones por nombre, puede escribir la acción que desea hacer (por ejemplo, Variable) y ejecutarla
— Christian García

En Eclipse, es más rápido hacer "Ctrl-2 l" (L minúscula).
— Duncan Jones

Respuestas:


192

¡Sí! Esta es la refactorización de introducción de variables . De forma predeterminada, seleccione un texto y luego presione Ctrl+ Alt+ V(para Mac: ⌘+ ⌥+ V). Si la expresión está incompleta o no es válida, IntelliJ aún hará una buena suposición sobre lo que quiso decir y tratará de solucionarlo.


2
Gracias. Estaba usando CTRL + ALT + F pero esto no ofrecía una opción 'local'.
— JARC

29
Cmd + Alt + v para Mac
— Zach Lysobey

Y, puede presionar Shift + Tab para elegir el tipo de variable, IDEA recordará su elección para el futuro.
— user674158

1
¿Existe la posibilidad de declarar la variable final a través del teclado, sin hacer clic en la ventana emergente?
— Mathias Bader

1
Creo que una vez que especificas que la variable debe ser definitiva la primera vez, tu selección se recuerda en el futuro (al menos en IntelliJ 14).
— Jon Onstott

50

IntelliJ 13.1 introdujo la finalización de Postfix .

Con Postfix Completion puede introducir una variable local escribiendo:

MyObject.getValue().var

y presionando ctrl + spaceo enter.

Incluso funciona dentro de otras declaraciones. Por ejemplo:

foo.someMethod(myObject.getValue().var);

11

para usuarios de mac: alt + enteren la posición donde desea generar su variable

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.