153

有没有办法可以配置 Visual Studio 2008 来理解 CamelCase? 具体来说,我希望能够 getCtrl + rightleftcursor 将我带到变量或类型名称的子部分。

即,如果我的光标位于此行的开头:

LongNamedExampleClass longNamed = new LongNamedExampleClass();

我点击了Ctrl + right,我想跳转到Named类名中的“”,而不是变量名的开头。如果我再打一次,我想去“ Example”。我希望这是有道理的。

我在 Eclipse 中经常使用这种导航功能,并且发现很难忘记如此根深蒂固的东西。

4

10 回答 10

138

感谢那些建议 Resharper 的人。这给了我另一个更喜欢它的理由。只是为了具体说明它的位置 - JetBrains 称之为CamelHumps(可爱),您可以使用菜单将其打开:

Resharper -> 选项 -> 环境 -> 编辑器 -> 编辑器行为 -> 使用 CamelHumps

...在旧版本的 Resharper 中,它是;

Resharper -> 选项 -> 编辑器 -> 使用 CamelHumps

于 2008-11-25T10:26:51.397 回答
124

在 2008 年 11 月 25 日之后偶然发现此页面的任何人(不想为不再有免费版本的 ReSharper 或 CodeRush 付费),以下免费扩展程序添加了此功能:Olle Westman 的子词导航

(或者,VSTricks扩展在其漂亮的功能列表中包含子词导航。还有一个由 Lauri Vasama 创建的不同子词导航扩展,不要与此答案使用的 Olle Westman 混淆。)

子词导航项目页面状态:

在键盘绑定中查找 Edit.Subword 进行设置。

这是我设置它的方式Visual Studio 2019


  1. 导航到工具 > 选项 > 环境 > 键盘

  1. 在 下Use new shortcut in,选择文本编辑器

  1. 在 下Show commands containing,键入Edit.Subword。这应该会弹出一个带有下面列出的命令的自动完成字段。

  1. 选择您要为其设置快捷键的以下命令之一。选择后,按照其余编号的步骤进行操作。然后回来Step 4设置另一个。
    • Edit.SubwordNext
      • 向右横穿骆驼箱 [ Alt + Right Arrow]
    • Edit.SubwordPrevious
      • 向左横穿骆驼箱 [ Alt + Left Arrow]                                                             
    • Edit.SubwordNextExtend
      • 选择右侧的驼峰式 [ Alt + Shift + Right Arrow]
    • Edit.SubwordPreviousExtend
      • 选择左侧的驼峰式 [ Alt + Shift + Left Arrow]                                                              
    • Edit.SubwordDeleteNext
      • 删除右侧的驼峰式 [ Alt + Delete]
    • Edit.SubwordDeletePrevious
      • 删除左侧的驼峰式 [ Alt + Backspace]

注意:将这些子词导航命令分配给这些新快捷键时,请通过将它们设置为不同的键来预先保留您想要保留的任何现有快捷键功能。它不应与任何默认安装的快捷键冲突。


  1. 在 下Press shortcut keys,按您的快捷键

  1. 单击Assign并覆盖现有的快捷方式
于 2015-03-30T22:47:01.153 回答
22

如果您安装了 ReSharper,您还可以为 CamelHump 配置 Visual Studio 键盘快捷键“Alt-Right”和“Alt-Left”,而不会丢失“ctrl-right”和“ctrl-left”的标准 Visual Studio 行为。

  1. 从工具 -> 选项打开 Visual Studio选项窗口
  2. 展开环境并向下滚动到键盘
  3. 显示包含命令的框中,键入“hump”。这将显示与 CamelHumps 相关的所有命令。 驼峰
  4. 通过从列表中选择命令并在Press shortcut keys文本框中输入键映射,将命令映射到您希望的键映射,然后单击Assign

注意事项:

  • 为Text Editor分配映射,而不是Global
  • 确保Resharper -> Options -> Editor -> Editor Behavior 中的Use CamelHumps选项已关闭

详细信息:http: //davidrcook.wordpress.com/2009/11/05/working-with-camel-case-in-visual-studio/

于 2012-08-15T12:50:02.223 回答
8

它不是 Visual Studio 原生的,但您可以使用CodeRush Express免费获得它。(ReSharper 和 CodeRush 需要付费)。

于 2008-11-24T13:42:02.500 回答
2

Visual Studio 不支持此行为。然而,DevExpress 的CodeRush!产品支持这样的导航(使用 Alt-Left 和 Alt-Right),以及大量其他帮助导航的功能。CodeRush!产品还与他们的重构工具捆绑在一起。他们还提供免费的 CodeRush!& Refactor Express 产品,虽然我不确定 Camel Casing 导航是否是 express 产品的一部分。

于 2008-11-24T13:26:42.093 回答
2

将下面的宏添加到视觉工作室。

http://visualstudiomacros.blogspot.com/2008/03/getting-ctrl-right-arrow-to-respect.html

于 2011-05-31T15:45:22.707 回答
0

我认为 Visual Studio 内部不支持此功能,因为它似乎在 Windows 环境中使用正常的 Ctrl+Right 和 Ctrl+Left 工作方式。但它可能通过某种扩展或插件来实现。

于 2008-11-24T13:13:29.313 回答
0

就像在 Eclipse 中一样,创建这个扩展是为了做到这一点:

https://marketplace.visualstudio.com/items?itemName=maptz.camelcasenavigation

于 2021-06-17T18:02:39.977 回答
0

对于使用 Visual Studio 2022 的用户。

Ctrl + Alt + 右或左将跳转到子词(驼峰导航)。

于 2022-02-08T22:18:37.230 回答
-1

对于在 ~1.63 版本中寻找此功能的任何人,键绑定选项现在称为“cursorWordPart”,可以在键盘快捷键中轻松设置:)

于 2021-12-15T10:36:18.823 回答