¿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.