如何按部分CamelCase(而不是整个单词)浏览源代码?

268

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

3个回答

412

是的,在设置 | 编辑器 | 通用 | 智能键中启用"CamelHumps"单词使用。


18
CamelHumps可以使Ctrl+Right、Ctrl+Left跳转到驼峰命名法,您想知道如何使用不同的按键同时实现跳转单词和跳转驼峰命名法的功能? - mafonya
1
在最新的Idea中,流程是设置 | 编辑器 | 通用 | 智能键 - Jiri Kremser
52
正如@mafonya在另一个答案中提到的,双击行为可以通过找到并禁用名为“在双击时选择草泥马单词设置”选项来恢复。 - Paul Lammertsma
10
如果有人错过了,"荣耀“驼峰”..."设置在“设置|编辑器|常规”中。 - Carl G
1
按下 Ctrl+Shift+A 键,输入 smartkeyscamel,即可立即使用。 - Vadim
显示剩余3条评论

50

如其他地方所回答的那样,您可以在设置|编辑器|常规|智能键中启用使用“驼峰式”单词,以便将快捷键切换为使用camelCase而不是整个单词。

您还可以通过将键盘快捷方式分配给设置|外观和行为|键映射|编辑器操作下的相应操作来访问先前的行为。此图显示了我通过添加Ctrl来访问先前的行为:

keymap screenshot


4
太棒了!这应该是IntelliJ的默认行为! - AndiDev
谢谢!这很完美。双击会选择整个单词,但是Ctrl + 方向键可以使用驼峰命名法。 - Brett

25

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

  1. 在"设置->编辑器->常规->智能键"中,禁用“使用驼峰单词”。
  2. 在"按键映射"中,为以下操作设置快捷键:
    • "将插入点移到下一个单词"
    • "在不同的驼峰模式下将插入符号移到下一个单词"

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


你好奇地问,你把它们都映射了吗?如果是的话,你选择了哪种组合? - elect
是的,我映射了两个键,当你有很长的类名时它非常有用。一般来说,你不想为每个程序都有不同的快捷方式。所以,我使用 ctrl+箭头 来表示整个单词(这是 所有地方 都使用的快捷方式),而 alt+箭头 表示驼峰式单词(因为在每个程序中 shift 用于选择)。 - blue_note
我将其重新映射为 ctrl+PgUp/PgDnCtrl+(shift)+Tab,因为它在所有浏览器和大多数程序中都被使用,所以已经存在于我的肌肉记忆中。 - blue_note
我想使用 alt+箭头 来整词移动,使用 ctrl+箭头 来按驼峰式导航。(这是 Xcode 的默认行为,也是我的“肌肉记忆”)。我正在尝试使用 IntelliJ 的首选项来实现这一点,但我无法让简单的 ctrl+{任何键} 注册。ctrl+alt+{某些键} 似乎可以工作,alt+{某些键} 也可以,但不是 ctrl+{某些键}。我在 Mac 上。我的当前键位映射是 Mac OS X 10.5+。有什么建议吗? - mbm29414
@mbm29414:在我的macOS上运行良好,即使它已经分配给其他东西。也许是IntelliJ外部的某些设置。 - blue_note
@blue_note 我联系了IntelliJ的支持团队并解决了这个问题。不太确定为什么,但是看起来我的安装会阻止我使用 ctrl 键。当然,我无法再现此问题,很可能只是个 ID10T 或者 EBKAC 错误。;-) - mbm29414

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接