Comment naviguer dans le code source par parties dans CamelCase (au lieu de mots entiers)?

252

Je me souviens, lorsque j'utilisais Eclipse, qu'en maintenant CTRL et en utilisant les flèches gauche ou droite, Eclipse naviguait sur LongCamelCaseWrittenWordplusieurs étapes. Un mot de cas de chameau à la fois.

Ainsi, cela se passera comme suit (le tuyau |représente la position réelle du curseur):

|LongCamelCaseWrittenWord -> CTRL+RIGHT_ARROW ->
Long|CamelCaseWrittenWord -> CTRL+RIGHT_ARROW ->
LongCamel|CaseWrittenWord -> CTRL+RIGHT_ARROW ->
LongCamelCase|WrittenWord -> CTRL+RIGHT_ARROW ->
LongCamelCaseWritten|Word -> CTRL+RIGHT_ARROW ->
LongCamelCaseWrittenWord|

Existe-t-il un moyen de réaliser cela dans IntelliJ? Actuellement, IntelliJ parcourt le mot entier à la fois.

Utilisation d'IntelliJ 9.0

Jan Zyka
la source
1
Copie
Traîneau

Réponses:

390

Oui, activez Utiliser les mots "CamelHumps" dans Settings | Editor | General | Smart Keys.

CrazyCoder
la source
15
CamelHumps fait Ctrl + Droite, Ctrl + Gauche saute par des bosses de chameau. Comment puis-je encore avoir les deux fonctionnalités, c'est-à-dire sauter par mots et par CamelHumps avec des touches différentes?
mafonya
1
dans la dernière idée, le flux estSettings | Editor | General | Smart Keys
Jiri Kremser
48
Comme @mafonya le mentionne dans une réponse différente, le comportement du double-clic peut être restauré en localisant et en désactivant le paramètre appelé "Honor" CamelHumps "paramètres de mots lors de la sélection sur double-clic".
Paul Lammertsma
9
Au cas où quelqu'un d'autre l'aurait manqué, le paramètre «Honor" CamelHumps "...» est activéSettings | Editor | General
Carl G
Je suis d'accord que cela devrait être le comportement par défaut. Pour tous ceux qui viennent d'Eclipse, c'est comme intégré dans notre mémoire musculaire dès le premier jour.
Pierre
45

Comme ailleurs répondu, vous pouvez activer Utilisez des mots « CamelHumps » en Settings | Editor | General | Smart Keyschanger les raccourcis au travail avec camelCase au lieu de mots entiers.

Vous pouvez également accéder au comportement précédent en attribuant des raccourcis clavier aux actions appropriées sous Settings | Appearance & Behavior | Keymap | Editor Actions. Cette image montre un exemple où j'accède au comportement précédent en ajoutant ctrl:

capture d'écran du clavier

Carl G
la source
4
Impressionnant! Cela devrait être le comportement par défaut dans intellij!
AndiDev
Je vous remercie! C'est parfait. Le double-clic fait tout le mot, mais ctrl + direction utilise la casse.
Brett
19

Vous pouvez avoir les deux fonctionnalités en même temps:

  1. Dans "Paramètres-> Editeur-> Général-> Smart Keys", désactivez "Utiliser les mots CamelHumps".
  2. Dans "keymap", créez des raccourcis pour:
    • "Déplacer le curseur au mot suivant"
    • "Déplacer le curseur au mot suivant dans différents modes de chameaux"

Notez que ces étapes correspondent à IntelliJ 14, elles peuvent donc être légèrement différentes dans d'autres versions.

note bleue
la source
Par curiosité, les avez-vous cartographiés tous les deux? Si oui, quelle combinaison avez-vous choisie?
élire
Oui, j'ai mappé les deux, c'est utile lorsque vous avez des noms de classe longs. En général, vous ne voulez pas avoir de raccourcis différents pour chaque programme. Donc, j'ai utilisé ctrl+arrowpour des mots entiers (c'est le raccourci utilisé partout ), et alt+arrowpour les mots camelhumps (c'est le seul modificateur restant, puisque shift est utilisé pour la sélection dans chaque programme)
blue_note
J'ai remappé cela à ctrl+PgUp/PgDnet Ctrl+(shift)+Tab, car il est utilisé dans tous les navigateurs et la plupart des programmes, il est donc déjà dans ma mémoire musculaire.
blue_note
Je voudrais utiliser alt+arrowpour se déplacer par des mots entiers et ctrl+arrowpour naviguer par bosse de chameau. (C'est le comportement par défaut dans Xcode, qui est ma "mémoire musculaire".) J'essaie de le faire en utilisant les préférences d'IntelliJ, mais je ne peux pas obtenir un simple ctrl+{anything}enregistrement. ctrl+alt+{something}semble fonctionner, comme le fait alt+{something}, mais pas ctrl+{something}. Je suis sur un Mac. Ma Keymap actuelle est Mac OS X 10.5+. Aucune suggestion?
mbm29414
@ mbm29414: fonctionne bien pour moi sur macos. même s'il est déjà affecté à autre chose. c'est peut-être un paramètre externe à intellij
blue_note