Quel est le raccourci IntelliJ pour créer une variable locale?


121

Dans Eclipse si vous avez une méthode:

String MyObject.getValue();

En utilisant ceci, vous pouvez aller:

MyObject.getValue(); 

Si votre curseur est sur la ligne et que vous appuyez sur CTRL+, 1vous obtenez un menu contextuel pour `` attribuer une nouvelle variable locale '', ce qui donne ce qui suit:

String value = MyObject.getValue(); 

Pouvez-vous faire cela aussi facilement dans IntelliJ? J'ai cherché sur le net mais sans succès.


10
ProTip si vous ne vous souvenez pas d'un raccourci clavier: où que vous soyez dans le code, si vous appuyez sur [Ctrl] + [Shift] + [A] ([cmd] + [Shift] + [A] sous Mac), il s'affichera une liste d'actions par nom, vous pouvez taper l'action que vous voulez faire (par exemple Variable) et l'exécuter
Christian García

Dans Eclipse, il est plus rapide de faire "Ctrl-2 l" (L minuscule).
Duncan Jones

Réponses:


192

Oui! Il s'agit du refactoring Introduce Variable . Par défaut, sélectionnez du texte, puis appuyez sur Ctrl+ Alt+ V(pour Mac: + + V). Si l'expression est incomplète ou invalide, IntelliJ fera toujours une bonne estimation de ce que vous vouliez dire et essaiera de la corriger pour vous.


2
Merci. J'utilisais CTRL + ALT + F mais cela n'offrait pas d'option «locale».
JARC

29
Cmd + Alt + v pour Mac
Zach Lysobey

Et, vous pouvez appuyer sur Maj + Tab pour choisir le type de variable, IDEA se souviendra de votre choix pour l'avenir.
user674158

1
Y a-t-il une possibilité de déclarer la variable finale via le clavier, sans cliquer sur la popup?
Mathias Bader

1
Je pense qu'une fois que vous spécifiez que la variable doit être définitive la première fois, votre sélection est mémorisée à l'avenir (dans IntelliJ 14 au moins).
Jon Onstott

50

IntelliJ 13.1 a introduit la complétion Postfix .

Avec Postfix Completion, vous pouvez introduire une variable locale en tapant:

MyObject.getValue().var

et en appuyant sur ctrl + spaceou enter.

Cela fonctionne même dans d'autres déclarations. Par exemple:

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

11

pour les utilisateurs de mac: alt + enterà l'endroit où vous souhaitez générer votre variable

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.