【问题标题】:How to navigate through the source code by parts in CamelCase (instead of whole words)?如何在 CamelCase 中按部分(而不是整个单词)浏览源代码?
【发布时间】:2011-08-15 13:38:02
【问题描述】:

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

【问题讨论】:

标签: intellij-idea navigation pycharm camelcasing


【解决方案1】:

是的,在Settings | Editor | General | Smart Keys 中启用使用“CamelHumps”字词

【讨论】:

  • CamelHumps 使 Ctrl+Right, Ctrl+Left 按驼峰跳跃。我怎样才能同时拥有这两种功能,即按单词和不同键的 CamelHumps 跳转?
  • 在最新的Idea中,流程是Settings | Editor | General | Smart Keys
  • 正如@mafonya 在另一个答案中提到的那样,双击行为可以通过找到并禁用名为“在双击时选择“荣誉”驼峰文字设置”的设置来恢复。
  • 万一其他人错过了,“荣誉“驼峰”...'设置在Settings | Editor | General
  • 我同意这应该是默认行为。对于任何来自 Eclipse 的人来说,这就像从第一天起就融入了我们的肌肉记忆。
【解决方案2】:

正如在其他地方回答的那样,您可以在Settings | Editor | General | Smart Keys 中启用使用“CamelHumps”单词来切换快捷键以使用 camelCase 而不是整个单词。

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

【讨论】:

  • 太棒了!这应该是 intellij 中的默认行为!
  • 谢谢!太棒了。双击是整个单词,但是 ctrl + direction 使用大小写。
【解决方案3】:

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

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

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

【讨论】:

  • 出于好奇,你把它们都映射了吗?如果是,您选择了哪种组合?
  • 是的,我映射了两者,当你有长类名时它很有用。通常,您不希望每个程序都有不同的快捷方式。所以,我用ctrl+arrow 表示整个单词(即everywhere 使用的快捷方式),alt+arrow 表示驼峰单词(这是唯一剩下的修饰符,因为在每个程序中都使用 shift 进行选择)
  • 我将其重新映射到 ctrl+PgUp/PgDnCtrl+(shift)+Tab,因为它用于所有浏览器和大多数程序,所以它已经在我的肌肉记忆中。
  • 我想使用alt+arrow 来移动整个单词,使用ctrl+arrow 来导航驼峰。 (这是 Xcode 中的默认行为,这是我的“肌肉记忆”。)我正在尝试使用 IntelliJ 的首选项来执行此操作,但我无法获得简单的 ctrl+{anything} 进行注册。 ctrl+alt+{something} 似乎有效,alt+{something} 也有效,但 ctrl+{something} 无效。我在 Mac 上。我当前的键盘映射是 Mac OS X 10.5+。有什么建议吗?
  • @mbm29414:我在 macos 上工作得很好。即使它已经分配给其他东西。也许这是 intellij 外部的一些设置
猜你喜欢
  • 1970-01-01
  • 2012-10-13
  • 2011-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-27
  • 2015-02-07
相关资源
最近更新 更多