Как перемещаться по исходному коду по частям в CamelCase (вместо целых слов)?

Я помню, когда я использовал Eclipse, когда удерживая CTRL и используя стрелки влево или вправо, Eclipse перемещался по LongCamelCaseWrittenWord в несколько шагов. Одно верблюжье слово за раз.

Таким образом, это будет выглядеть следующим образом (вертикальная черта | представляет фактическую позицию курсора):

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

Есть ли способ добиться этого в IntelliJ? В настоящее время IntelliJ перебирает все слово сразу.

Использование IntelliJ 9.0


person Jan Zyka    schedule 29.04.2011    source источник


Ответы (3)


Да, включите Использовать слова "CamelHumps" в Settings | Editor | General | Smart Keys.

person CrazyCoder    schedule 29.04.2011
comment
CamelHumps делает Ctrl + Right, Ctrl + Left прыжок по верблюжьим горкам. Как я могу по-прежнему использовать обе функции, то есть прыгать по словам и с помощью CamelHumps с разными клавишами? - person mafonya; 31.07.2013
comment
в последней Идеи поток Settings | Editor | General | Smart Keys - person Jiri Kremser; 19.01.2015
comment
Как упоминает @mafonya в другом ответе, поведение двойного щелчка можно восстановить, обнаружив и отключив параметр, называемый настройками слов Honor CamelHumps, при выборе при двойном щелчке. - person Paul Lammertsma; 22.01.2015
comment
На случай, если кто-то еще пропустил его, настройка «Честь CamelHumps ...» находится в Settings | Editor | General - person Carl G; 04.03.2015
comment
Я согласен, что это должно быть поведение по умолчанию. Для всех, кто пришел из Eclipse, это как бы встроено в нашу мышечную память с первого дня. - person Pierre; 03.12.2015
comment
Ctrl + Shift + A типа smartkeyscamel позволит сразу надеть его. - person Vadim; 25.07.2018
comment
IDEA должна включать это по умолчанию. - person user218867; 16.01.2019
comment
Изменил мою жизнь. - person bouwerp; 26.02.2020

Как уже было сказано в другом месте, вы можете включить Использовать слова "CamelHumps" в Settings | Editor | General | Smart Keys, чтобы переключить ярлыки на работу с camelCase вместо целого слова.

Вы также можете получить доступ к предыдущему поведению, назначив сочетания клавиш для соответствующих действий в Settings | Appearance & Behavior | Keymap | Editor Actions. На этом изображении показан пример, в котором я получаю доступ к предыдущему поведению, добавляя ctrl:

снимок экрана клавиатуры

person Carl G    schedule 02.03.2015
comment
Потрясающий! Это должно быть поведение по умолчанию в intellij! - person AndiDev; 18.06.2016
comment
Спасибо! Это потрясающе. Двойной щелчок делает все слово, но ctrl + direction использует регистр. - person Brett; 12.12.2017

Вы можете использовать обе функции одновременно:

  1. В «Настройки-> Редактор-> Общие-> Смарт-ключи» отключите «Использовать слова CamelHumps».
  2. In "keymap", create shortcuts for:
    • "Move caret to next word"
    • "Переместить курсор к следующему слову в другом режиме верблюжьих горбов"

Обратите внимание, что эти шаги соответствуют IntelliJ 14, поэтому они могут немного отличаться в других версиях.

person blue_note    schedule 25.06.2015
comment
Ради любопытства, вы нанесли их на карту? Если да, то какую комбинацию вы выбрали? - person elect; 09.03.2017
comment
Да, я сопоставил оба, это полезно, когда у вас длинные имена классов. В общем, вы не хотите, чтобы для каждой программы были разные ярлыки. Итак, я использовал ctrl+arrow для целых слов (это ярлык, используемый везде), и alt+arrow для слов «верблюжьи горбы» (это единственный оставшийся модификатор, так как shift используется для выделения в каждой программе) - person blue_note; 11.03.2017
comment
Я переназначил это на ctrl+PgUp/PgDn и Ctrl+(shift)+Tab, поскольку он используется во всех браузерах и большинстве программ, поэтому он уже в моей мышечной памяти. - person blue_note; 13.03.2017
comment
Я хотел бы использовать alt+arrow для перемещения по словам целиком и ctrl+arrow для навигации по горбу верблюда. (Это поведение по умолчанию в Xcode, то есть моя мышечная память.) Я пытаюсь сделать это с помощью настроек IntelliJ, но не могу зарегистрировать простой ctrl+{anything}. ctrl+alt+{something} вроде работает, как и alt+{something}, но не ctrl+{something}. Я на Mac. Моя текущая раскладка - Mac OS X 10.5+. Какие-либо предложения? - person mbm29414; 20.09.2018
comment
@ mbm29414: у меня отлично работает на macos. даже если он уже назначен чему-то другому. может быть, это какая-то настройка, внешняя по отношению к intellij - person blue_note; 20.09.2018
comment
@blue_note Я связался со службой поддержки IntelliJ, и проблема была решена. Не знаю почему, но оказалось, что моя установка вообще не позволяла мне использовать клавишу ctrl. Конечно, я не могу воспроизвести, и это легко может быть ID10T или EBKAC ошибкой. ;-) - person mbm29414; 20.09.2018