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.

JARC
la source
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.

John Feminella
la source
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);
micha
la source
11

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

Olivier Royo
la source