当按下ctrl和光标键时,使Visual Studio了解CamelCase

ser*_*g10 124 customization keyboard-shortcuts visual-studio

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

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

LongNamedExampleClass longNamed = new LongNamedExampleClass();
Run Code Online (Sandbox Code Playgroud)

我点击了ctrl + right,我想跳到Named类名中的" ",而不是变量名的开头.如果我再次点击它,我想去" Example".我希望这是有道理的...

我在日食中使用了这个导航功能,发现很难忘掉那些根深蒂固的东西.

ser*_*g10 131

感谢那些建议Resharper的人.给了我更多爱它的另一个理由.只是要具体说明它的存在 - JetBrains称之为CamelHumps(可爱),你可以使用菜单打开它:

Resharper - > Options - > Environment - > Editor - > Editor Behavior - > Use CamelHumps

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

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

  • 是否有选项,即使CameHumps打开,也可以选择整个单词?目前我必须向右或向左按几次才能选择一个单词.我希望你能帮到我. (2认同)

jse*_*sea 102

在2015年或以后的任何人(这些人不想为ReSharper或CodeRush支付不再有免费版本)的任何人都会遇到这种情况,以下免费扩展程序添加了此功能:Subword Navigation

(或者,VSTricks扩展包括其精彩功能列表中的子词导航.)

子词导航项目页面指出:

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

以下是我在Visual Studio 2012中进行设置的方法:

  1. 导航到工具>选项>环境>键盘
  2. 在"显示包含命令"下,键入Edit.Subword
  3. 用于遍历右侧的camelcases
    1. 选择Edit.SubwordNext
    2. 在"使用新快捷方式"下,选择" 文本编辑器"
    3. 在"按快捷键"下,按ALT +向右箭头
    4. 单击" 分配"并覆盖现有快捷方式(如果您不想丢失该快捷方式,请先重新分配现有快捷方式)
  4. 用于遍历左侧的camelcases
    1. 选择Edit.SubwordPrevious
    2. 在"使用新快捷方式"下,选择" 文本编辑器"
    3. 在"按快捷键"下,按ALT +向左箭头
    4. 单击" 分配"并覆盖现有快捷方式(如果您不想丢失该快捷方式,请先重新分配现有快捷方式)
  5. 用于选择右侧的camelcases
    1. 选择Edit.SubwordNextExtend
    2. 在"使用新快捷方式"下,选择" 文本编辑器"
    3. 在"按快捷键"下,按ALT + SHIFT +向右箭头
    4. 单击" 分配"并覆盖现有快捷方式(如果您不想丢失该快捷方式,请先重新分配现有快捷方式)
  6. 用于选择左侧的camelcases
    1. 选择Edit.SubwordPreviousExtend
    2. 在"使用新快捷方式"下,选择" 文本编辑器"
    3. 在"按快捷键"下,按ALT + SHIFT +向左箭头
    4. 单击" 分配"并覆盖现有快捷方式(如果您不想丢失该快捷方式,请先重新分配现有快捷方式)
  7. 用于删除右侧的camelcases
    1. 选择Edit.SubwordDeleteNext
    2. 在"使用新快捷方式"下,选择" 文本编辑器"
    3. 在"按快捷键"下,按ALT + DELETE
    4. 单击" 分配"并覆盖现有快捷方式(如果您不想丢失该快捷方式,请先重新分配现有快捷方式)
  8. 用于删除左侧的camelcases
    1. 选择Edit.SubwordDeletePrevious
    2. 在"使用新快捷方式"下,选择" 文本编辑器"
    3. 在"按快捷键"下,按ALT + BACKSPACE
    4. 单击" 分配"并覆盖现有快捷方式(如果您不想丢失该快捷方式,请先重新分配现有快捷方式)

  • 在2015年,我不得不覆盖TextEditor.*命令,而不是Global.*命令.ALT + RIGHT已经绑定了其他东西. (9认同)
  • @yanyankelevich 我刚刚在 VS2019 中测试了它并且它有效。但是,我确实注意到在扩展管理器中,有**两个**扩展名为“子词导航”。您想要 Olle Westman 创作的一款。我已经更新了我的答案以指定这一点并注意它在 VS2019 中有效。 (3认同)
  • 谢谢你的头脑!这很有效,也是最开放的解决方案. (2认同)
  • 提供设置细节时特别出色的答案.我非常感谢Next/PreviousExtend的解释 (2认同)
  • 我去安装这个,并开始思考我将绑定到键盘快捷键上的内容。“嗯,可能是`CTRL + ALT + Arrow`。让我们看看它是否已经绑定到某些东西。哦等等,它已经执行了这个子词导航”。我找不到我安装的任何扩展提到这一点,所以它可能已经存在于 VS 2022 中?(编辑:看起来像下面的答案表示这是新的并且包含在 VS2022 中) (2认同)

ker*_*rli 21

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

  1. 从" 工具" - >"选项"中打开"Visual Studio 选项"窗口
  2. 展开环境并向下滚动到键盘
  3. 在" 显示包含框的命令"框中,键入"hump".这将显示与CamelHumps相关的所有命令. CamelHumps
  4. 通过从列表中选择命令并在" 按快捷键"文本框中输入键映射,然后单击" 分配",将命令映射到所需的键映射.

注意事项:

  • 文本编辑器分配映射,而不是全局.
  • 确保Resharper - > Options - > Editor - > Editor Behavior中的Use CamelHumps选项已关闭.

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

  • 你让我今天很开心.作为camel humps的完美解决方案可以是具有长标识符的引脚(任何使用Eclipse的人都会证明) (4认同)

Ste*_*son 8

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


小智 5

对于使用 Visual Studio 2022 的用户。

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