Si ma classe a un constructeur non vide, est-il possible de compléter automatiquement les paramètres dans l'expression new
?
Avec Eclipse, si vous appuyez sur ctrl+space lorsque le curseur est entre les parenthèses:
MyClass myObject = new MyClass();
il trouvera les paramètres appropriés.
--> MyClass myObject = new MyClass(name, value);
Quand j'utilise ctrl+shift+spacebar après le new
, Intellij me montre les constructeurs, mais je ne peux pas en choisir un pour l'auto-complétion. Suis-je en train de manquer une option?
Je commence habituellement par CtrlP (Parameter Info
action) pour voir quels arguments sont acceptés (la supposition automatique est un moyen susceptible de provoquer des erreurs à mon avis). Et si, comme dans votre cas, vous voulez remplir name
tapez n
un menu déroulant apparaît avec toutes les variables/champs disponibles (etc) commençant par n
Arrow Up/Down et Tab pour sélectionner un nom, ou CtrlSpace pour sélectionner une méthode (ou même CtrlAltSpace être tué par des suggestions ;-), suivi de ,
et v
Tab pour la valeur.
Eh bien, j'ai utilisé la carte de touches Eclipse où Parameter Info n'est pas assigné. Voici comment changer cela:
Eh bien, il y a la combinaison Ctrl + Maj + Espace, qui essaie de trouver un ensemble d'arguments possibles. Et si vous appuyez une deuxième fois sur Ctrl + Maj + Espace, Idea essaie de trouver des arguments qui correspondent à plusieurs appels et conversions.
Donc, dans votre exemple, Ctrl + Maj + Espace ferait presque certainement apparaître le "nom" comme suggestion. Et le prochain Ctrl + Maj + Espace ferait apparaître une "valeur" comme suggestion.
Il n'y a pas encore une telle possibilité. Comme IDEA ne remplit pas les arguments automatiquement, distinguer les constructeurs dans la recherche n'a aucun sens. Il y a une demande pour cela (http://youtrack.jetbrains.net/issue/IDEABKL-5496 ), même si je crois sincèrement qu'un tel comportement est trop dangereux et source d'erreurs.