¿Cómo navegar por el código fuente por partes en CamelCase (en lugar de palabras completas)?


252

Recuerdo cuando estaba usando Eclipse que al mantener presionada la tecla CTRL y usar las flechas izquierda o derecha, Eclipse navegaría LongCamelCaseWrittenWorden varios pasos. Una palabra de caso de camello a la vez.

Entonces irá de la siguiente manera (la tubería |representa la posición real del cursor):

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

¿Hay alguna manera de lograr esto en IntelliJ? Actualmente IntelliJ pasa por alto toda la palabra a la vez.

Usando IntelliJ 9.0


Respuestas:


390

Sí, habilite Usar palabras "CamelHumps" en Settings | Editor | General | Smart Keys.


15
CamelHumps hace que Ctrl + Derecha, Ctrl + Izquierda salte por jorobas de camello. ¿Cómo puedo tener ambas funcionalidades, es decir, saltar por palabras y por CamelHumps con diferentes teclas?
mafonya

1
en la última Idea, el flujo esSettings | Editor | General | Smart Keys
Jiri Kremser

48
Como @mafonya menciona en una respuesta diferente, el comportamiento para hacer doble clic se puede restaurar localizando e inhabilitando la configuración llamada "Honor" CamelHumps "cuando se selecciona con doble clic".
Paul Lammertsma

99
En caso de que alguien más se lo haya perdido, la configuración 'Honor "CamelHumps" ...' está enSettings | Editor | General
Carl G

Estoy de acuerdo en que este debería ser el comportamiento predeterminado. Para cualquier persona que venga de Eclipse, esto está integrado en nuestra memoria muscular desde el primer día.
Pierre

45

Como respondida en otro lugar, puede habilitar el uso "CamelHumps" palabras en Settings | Editor | General | Smart Keyspara cambiar los accesos directos para trabajar con camelCase en lugar de palabras completas.

También puede acceder al comportamiento anterior asignando métodos abreviados de teclado a las acciones apropiadas en Settings | Appearance & Behavior | Keymap | Editor Actions. Esta imagen muestra un ejemplo donde accedo al comportamiento anterior agregando ctrl:

captura de pantalla del mapa de teclas


44
¡Increíble! Este debería ser el comportamiento predeterminado en intellij!
AndiDev

¡Gracias! Esto es perfecto. Hacer doble clic hace toda la palabra, pero ctrl + direction usa el caso vino.
Brett

19

Puede tener ambas funcionalidades al mismo tiempo:

  1. En "Configuración-> Editor-> General-> Teclas inteligentes", deshabilite "Usar palabras CamelHumps".
  2. En "mapa de teclas", cree accesos directos para:
    • "Mover el cursor a la siguiente palabra"
    • "Mueve el cursor a la siguiente palabra en diferentes modos de camelhumps"

Tenga en cuenta que estos pasos corresponden a IntelliJ 14, por lo que pueden ser ligeramente diferentes en otras versiones.


Por curiosidad, ¿los mapeó a ambos? En caso afirmativo, ¿qué combinación elegiste?
elegir el

Sí, mapeé ambos, es útil cuando tienes nombres de clase largos. En general, no desea tener accesos directos diferentes para cada programa. Por lo tanto, solía usar ctrl+arrowpalabras completas (ese es el atajo que se usa en todas partes ), y alt+arrowpara palabras de camelhumps (ese es el único modificador restante, ya que shift se usa para la selección en cada programa)
blue_note

Lo reasigné a ctrl+PgUp/PgDny Ctrl+(shift)+Tab, ya que se usa en todos los navegadores y en la mayoría de los programas, por lo que ya está en mi memoria muscular.
blue_note

Me gustaría usar alt+arrowpara moverme con palabras enteras y ctrl+arrownavegar por joroba de camello. (Este es el comportamiento predeterminado en Xcode, que es mi "memoria muscular".) Estoy tratando de hacer esto usando las Preferencias de IntelliJ, pero no puedo obtener un ctrl+{anything}registro simple . ctrl+alt+{something}parece funcionar, como lo hace alt+{something}, pero no ctrl+{something}. Estoy en una Mac Mi mapa de teclas actual es Mac OS X 10.5+. ¿Alguna sugerencia?
mbm29414

@ mbm29414: funciona bien para mí en macos. incluso si ya está asignado a otra cosa. tal vez sea una configuración externa a intellij
blue_note
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.