如何通过CamelCase中的各个部分(而不是整个单词)浏览源代码?


251

我记得当我使用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


Answers:


389

是的,能使用“CamelHumps”字Settings | Editor | General | Smart Keys


15
CamelHumps使Ctrl + Right,Ctrl + Left通过驼峰跳跃。我如何仍然具有两种功能,即通过单词和使用不同键的CamelHumps跳转?
mafonya

1
最新想法中的流程是Settings | Editor | General | Smart Keys
Jiri Kremser

48
正如@mafonya在另一个答案中提到的那样,可以通过找到并禁用名为“ Honor“ CamelHumps”的单词设置,并在双击时进行选择”的设置来恢复双击行为。
Paul Lammertsma,2015年

9
万一其他人错过了它,“荣誉“驼峰” ...”设置就在Settings | Editor | General
卡尔·G

我同意这应该是默认行为。对于任何来自Eclipse的人来说,这就像从第一天起就内置在我们的肌肉记忆中。
Pierre

45

至于其他地方的回答,您可以启用使用“CamelHumps”字Settings | Editor | General | Smart Keys的快捷键切换到工作与驼峰而不是全字。

您还可以通过将键盘快捷方式分配给下的相应操作来访问以前的行为Settings | Appearance & Behavior | Keymap | Editor Actions。此图显示了一个示例,其中我通过添加ctrl以下内容来访问以前的行为:

按键图屏幕截图


4
太棒了!这应该是intellij的默认行为!
AndiDev

谢谢!太棒了。双击完成整个单词,但Ctrl +方向使用大小写。
Brett

19

您可以同时具有两种功能:

  1. 在“设置->编辑器->常规->智能键”中,禁用“使用CamelHumps单词”。
  2. 在“键映射”中,为以下各项创建快捷方式:
    • “将插入符号移至下一个单词”
    • “以不同的驼峰模式将插入符号移动到下一个单词”

请注意,这些步骤对应于IntelliJ 14,因此它们在其他版本中可能会略有不同。


出于好奇,您是否同时绘制了两个地图?如果是,您选择了哪种组合?
当选

是的,我同时映射了两者,当类名较长时,这很有用。通常,您不希望每个程序都有不同的快捷方式。因此,我使用ctrl+arrow了整个单词(这是在各处使用的快捷方式)和alt+arrow驼峰单词(这是唯一剩余的修饰符,因为在每个程序中都使用shift进行选择)
blue_note

我将其重新映射到ctrl+PgUp/PgDnCtrl+(shift)+Tab,因为它已在所有浏览器和大多数程序中使用,所以它已经存在于我的记忆中。
blue_note

我想alt+arrow用整个单词移动,并ctrl+arrow用驼峰导航。(这是Xcode中的默认行为,这是我的“肌肉记忆”。)我正在尝试使用IntelliJ的“首选项”进行此操作,但ctrl+{anything}注册起来并不容易。ctrl+alt+{something}似乎可以工作alt+{something},但不能ctrl+{something}。我在Mac上。我当前的键盘映射是Mac OS X 10.5+。有什么建议?
mbm29414

@ mbm29414:在macOS上对我来说效果很好。即使它已经分配给其他东西。也许这是intellij的某些设置
blue_note 18'9
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.