Comment ajouter un point-virgule après un appel de méthode à l'intérieur de la liste de paramètres dans IntelliJ IDEA?


137

Je fais enfin le voyage de retour vers IntelliJ via Eclipse. Actuellement, mon Eclipse est configuré de sorte que si j'ai actuellement une déclaration comme celle-ci (où ^ indique où se trouve actuellement mon curseur):

foo.bar("hello"^)

et j'ai appuyé sur la touche point-virgule (;), il mettra automatiquement le point-virgule à la fin de l'instruction:

foo.bar("hello");

Actuellement IntelliJ fait ceci:

foo.bar("hello";)

Cela signifie que je devrai taper explicitement le crochet fermant avant de taper le point-virgule.

Pas un gros problème évidemment, mais je me suis retrouvé à mettre le point-virgule au mauvais endroit plusieurs fois aujourd'hui alors que je fais la transition vers IntelliJ et que je pensais qu'il serait peut-être plus efficace (pour mes doigts et mon cerveau) de ne pas avoir pour taper le crochet fermant.


3
Merci, au fait, il n'y a pas de "bretelles", ce ne sont que des "accolades".
Gordon Dickens

2
J'ai ajouté le raccourci netbeans (ctrl +;) à IntelliJ pour cette fonctionnalité. Vous pouvez l'ajouter dans Fichier -> Paramètres -> Keymap -> rechercher "instruction courante complète" -> ajouter un raccourci clavier.
Stefanos Kalantzis

1
non seulement le point-virgule, mais aussi l'accolade. Et si je veux mettre le semicon à la position du curseur mais que l'éclipse le place intelligemment à la fin, appuyez simplement sur retour arrière et il reviendra là où il devrait être. C'est pourquoi je continue d'utiliser eclipse au lieu de as.
jiashie

Réponses:


221

Pour les utilisateurs Windows ou Linux , Ctrl+ Shift+ Enter.

Pour les utilisateurs de macOS / OS X , ⌘ Command+ ⇧ Shift+ Enter.

Cela termine la déclaration que vous écrivez actuellement. Essayez-le dans quelques situations différentes, comme dans les instructions if, for loops, etc., et vous verrez qu'il complétera la ligne et ouvrira des accolades pour vous si nécessaire.


9
Pas aussi bien que dans Eclipse car cela nécessite de penser au contexte et c'est trois touches au lieu d'une. Mais mieux que End; Point-virgule, alors merci!
robinst

28
Je n'aime pas ça. Eclipse gagne sur celui-ci, c'est un désagrément douloureux. Ce n'est même pas un raccourci dans Eclipse, il déplace simplement le point-virgule vers la fin car il est évident que cela devrait (lorsque le paramètre est activé). Utiliser n'importe quel type de touche de raccourci pour faire cela est stupide.
Manius

4
Tout à fait d'accord pour dire qu'Eclipse est bien meilleur dans ce cas. Il y en a beaucoup d'autres aussi, ce qui m'amène à appeler occasionnellement l'IDE JetBrains: UnIntelliJ
Stan Kurdziel

1
Je ne pense pas que l'OP veuille un raccourci clavier pour faire ce qu'une touche (le point-virgule) devrait faire. Surtout si vous devez déplacer votre main et frapper trois fois plus de touches dans le processus.
SMBiggs

1
Le pire dans IntelliJ, en particulier pour ceux qui viennent d'Eclipse, est de s'adapter aux raccourcis. Je pense qu'ils ont passé beaucoup de temps à trouver comment les rendre moins intuitifs que possible.
Jordan Silva

37

Vous pouvez ajouter votre propre keymap. J'ai ajouté Ctrl+ ;à mes Keymaps pour l'action "Complete Current Statement". Cela m'a sauvé un coup de touche supplémentaire et l'a rendu un peu plus intuitif.

  1. Allez dans Paramètres> Keymap
  2. Dans la zone de recherche, entrez "Complete Current Statement".
  3. Faites un clic droit sur l'entrée et sélectionnez "Ajouter un raccourci clavier"
  4. Avec le champ Premier trait surligné, entrez votre combinaison de touches. Par exemple, Ctrl+ ;, qui s'affichera commeCtrl+Semicolon
  5. Cliquez sur OK, et OKpour enregistrer et quitter.

Vous pouvez choisir de supprimer ou de conserver le mappage existant. Devrait ressembler à quelque chose comme ça lorsque vous avez terminé:

entrez la description de l'image ici


1
J'ai utilisé le symbole point-virgule ;comme raccourci. Semble fonctionner très bien.
SMBiggs

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.