2009-10-27 8 views
11

J'essaie IntelliJ et ai un ennui mineur que je ne peux pas comprendre s'il y a une solution possible dans IntelliJ. Dans Eclipse et même TextMate (ainsi que de nombreux autres éditeurs avec saisie semi-automatique), si vous êtes au milieu d'une section autocomplete comme une chaîne ou une parenthèse, vous pouvez appuyer sur Entrée ou Tab pour atteindre la fin de cette section. Par exemple:IntelliJ autocomplete échapper

if (blah.equals(something.toString())) 

Le caret serait au milieu de la parenthèse de la partie toString. Dans IntelliJ, vous pouvez saisir ces parenthèses sans problème, ou vous pouvez appuyer sur la touche "Fin" pour arriver à la fin. L'un est un ennui mineur, l'autre est plus ennuyeux puisque je dois enlever mes mains de la rangée à la maison. En éclipse je pourrais appuyer sur la touche Entrée et ça me sortirait de là ... TextMate, Tab.

Y a-t-il un paramètre que je peux modifier ou quelque chose que je peux faire pour me donner des fonctionnalités similaires dans IntelliJ?

Répondre

6

Dans ce contexte, si vous appuyez sur Ctrl-Shift-Enter comme CrazyCoder suggère, vous obtenez ce comportement. Il va ajouter les accolades et placer votre curseur sur la ligne suivante. Vous pouvez également appuyer sur Maj + Entrée qui vous amènera à la ligne suivante et fera moins d'hypothèses sur le code. Ctrl-Shift-Enter se comporte différemment selon le code qu'il regarde, ce qui ne vous donnera pas un comportement cohérent. Par exemple, au milieu d'une chaîne, il vous met à la fin de la ligne et ajoute un point-virgule.

Il semble juste que la fin est la clé préférée ici pour arriver à la fin de la ligne. Vous pouvez ajouter dans la carte-clé une touche supplémentaire pour aller à la fin de la ligne, si une combinaison de touches différente fonctionne mieux pour vous, mais cela ne changera pas seulement son comportement parce que vous êtes au milieu d'une parenthèse. En regardant les options IDEA, il semble que le comportement des parenthèses n'est pas vraiment un modèle live, comme créer automatiquement une boucle for, donc vous n'avez pas de tabulation lorsque vous avez terminé, mais il suffit de compléter automatiquement les parenthèses pour vous, et reconnaissant intelligemment que vous pourriez vouloir taper avec fluidité comme si ce n'était pas le cas.

5

j'ai essayé cmd-shift-entrez (sur mac) et le résultat me semble plus utile (en code javascript). J'utilise un tuyau ('|') pour visualiser le curseur ici:

avant:

var x = func1(func2(|)) 

après avoir appuyé sur cmd-maj-entrée:

var x = func1(func2());| 

il ajoute même la point-virgule à la fin de la ligne (mais vous devez encore appuyer sur Entrée pour passer à la ligne suivante).

EDIT

juste trouvé ce raccourci est encore plus utile:

avant:

if(a == b|) 

après avoir appuyé sur cmd-maj-entrée:

if(a == b) { 
    | 
} 

fonctionne à la fois en php et en javascript

1

Étant donné que ces réponses sont un peu vieux, je ne sais pas si quelqu'un sait que vous pouvez sortir de l'auto-complété joint déposé en tapant Maj +KEY

En Java si vous fait System.out.println ("Bonjour tout le monde!"); Si votre curseur se trouve dans le « », Maj +" va vous sortir de la « » et Maj +) vous obtiendrez en dehors du()