Come navigare attraverso il codice sorgente per parti in CamelCase (anziché intere parole)?


252

Ricordo quando stavo usando Eclipse che quando tenevo premuto CTRL e usando le frecce sinistra o destra, Eclipse navigava LongCamelCaseWrittenWordin più passaggi. Una parola caso di cammello alla volta.

Quindi andrà come segue (pipe |rappresenta la posizione attuale del cursore):

|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|

C'è un modo per raggiungere questo obiettivo in IntelliJ? Attualmente IntelliJ passa in rassegna l'intera parola contemporaneamente.

Utilizzo di IntelliJ 9.0


Risposte:


390

Sì, abilita Usa le parole "CamelHumps" in Settings | Editor | General | Smart Keys.


15
CamelHumps fa saltare Ctrl + Destra, Ctrl + Sinistra con i dossi del cammello. Come posso avere ancora entrambe le funzionalità, ovvero saltare a parole e CamelHumps con tasti diversi?
mafonya,

1
nell'ultima Idea il flusso èSettings | Editor | General | Smart Keys
Jiri Kremser,

48
Come menziona @mafonya in una risposta diversa, il comportamento del doppio clic può essere ripristinato individuando e disabilitando le impostazioni delle parole "Onora" CamelHumps "quando si seleziona il doppio clic".
Paul Lammertsma,

9
Nel caso in cui qualcun altro lo avesse mancato, l'impostazione "Honor" CamelHumps "..." è attivaSettings | Editor | General
Carl G

Sono d'accordo che questo dovrebbe essere il comportamento predefinito. Per chiunque provenga da Eclipse questo è come incorporato nella nostra memoria muscolare fin dal primo giorno.
Pierre,

45

Come ha risposto altrove, è possibile abilitare Use "CamelHumps" parole in Settings | Editor | General | Smart Keysper passare le scorciatoie per lavorare con camelCase invece di parola intera.

È inoltre possibile accedere al comportamento precedente assegnando le scorciatoie da tastiera alle azioni appropriate in Settings | Appearance & Behavior | Keymap | Editor Actions. Questa immagine mostra un esempio in cui accedo al comportamento precedente aggiungendo ctrl:

screenshot della keymap


4
Eccezionale! Questo dovrebbe essere un comportamento predefinito in intellij!
AndiDev,

Grazie! Questo è perfetto. Il doppio clic fa l'intera parola, ma ctrl + direction usa case case.
Brett,

19

Puoi avere entrambe le funzionalità contemporaneamente:

  1. In "Impostazioni-> Editor-> Generale-> Tasti intelligenti", disattiva "Usa parole CamelHumps".
  2. In "keymap", crea scorciatoie per:
    • "Sposta il cursore sulla parola successiva"
    • "Sposta il cursore sulla parola successiva in modalità camelhumps diversa"

Si noti che questi passaggi corrispondono a IntelliJ 14, quindi potrebbero essere leggermente diversi in altre versioni.


Per curiosità, li hai mappati entrambi? Se sì, quale combinazione hai scelto?
elegge il

Sì, ho mappato entrambi, è utile quando si hanno nomi di classe lunghi. In generale, non si desidera avere scorciatoie diverse per ogni programma. Quindi, ho usato ctrl+arrowper parole intere (che è la scorciatoia usata ovunque ), e alt+arrowper parole di cammelli (questo è l'unico modificatore rimanente, poiché shift è usato per la selezione in ogni programma)
blue_note

L'ho rimappato a ctrl+PgUp/PgDne Ctrl+(shift)+Tab, poiché è utilizzato in tutti i browser e nella maggior parte dei programmi, quindi è già nella mia memoria muscolare.
blue_note

Mi piacerebbe usare alt+arrowper muovermi con parole intere e ctrl+arrownavigare con gobba di cammello. (Questo è il comportamento predefinito in Xcode, che è la mia "memoria muscolare".) Sto provando a farlo usando le Preferenze di IntelliJ, ma non riesco ctrl+{anything}a registrarmi in modo semplice . ctrl+alt+{something}sembra funzionare, come fa alt+{something}, ma non ctrl+{something}. Sono su un Mac. La mia attuale Keymap è Mac OS X 10.5+. Eventuali suggerimenti?
mbm29414

@ mbm29414: funziona bene per me su macos. anche se è già assegnato a qualcos'altro. forse è qualche impostazione esterna a intellij
blue_note
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.