按下Ctrl和光标键时使Visual Studio理解CamelCase


130

有没有一种方法可以配置Visual Studio 2008以了解CamelCase? 具体来说,我希望能够获取Ctrl + right或使用left游标将我带到变量或类型名称的子部分。

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

LongNamedExampleClass longNamed = new LongNamedExampleClass();

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

我在Eclipse中使用了很多导航功能,发现很难学到如此根深蒂固的东西。


Resharper支持该功能。
Petter Wigle

Resharper做到了。我想您可以编写自己的插件来执行相同的操作。
开领

Answers:


132

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

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

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

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


2
即使启用了CameHumps,也可以选择整个单词吗?此刻,我必须向右或向左按几次以选择一个单词。我希望你能得到我。
Ozkan

要在CamelHumps打开时快速选择整个单词,请按两次“ 扩展选择”快捷键Ctrl+ Alt+ RightCtrl+ W)。

107

在2008年11月25日之后(如果不想为ReSharper或CodeRush 不再提供免费版本的人付费)后,在该页面上绊脚石的人,以下免费扩展程序添加了此功能:Olle Westman的子词导航

(或者,VSTricks扩展程序在其漂亮功能列表中包括子单词导航。LauriVasama还创建了一个不同的子单词导航扩展,不要与此答案使用的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并覆盖现有的快捷方式

2
感谢大家的注意!这很好用,并且是提出的解决方案中最开放的。
切斯特·赫斯基,2015年

我指的是2015年及以后。如稍后所述,我在VS 2012中使用了它。我将在帖子中进行澄清。谢谢。
jsea

2
提供设置详细信息时特别出色的答案。我肯定感谢Next / PreviousExtend的解释
skia.heliou 2015年

9
在2015年,我不得不覆盖TextEditor。*命令,而不是Global。*命令。ALT + RIGHT已绑定到其他对象。
塞思花

2
@yanyankelevich我刚刚在VS2019中对其进行了测试,并且它可以工作。但是,我确实在扩展管理器中注意到,有两个扩展名为“子词导航”。您需要由Olle Westman创建的那个。我已经更新了答案以指定它并注意它在VS2019中有效。
jsea

22

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

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

注意事项:

  • 为“ 文本编辑器 ”而不是“ 全局”分配映射。
  • 确保“ Resharper”->“选项”->“编辑器”->“编辑器行为”中的“ 使用CamelHumps”选项已关闭

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


4
你让我今天很开心。骆驼驼峰的完美解决方案可以是带有长标识符的大头针(就像使用Eclipse的人所证明的那样)
chrisb 2013年


2

Visual Studio不支持此行为。但是,DevExpres的 CodeRush!产品支持这样的导航(使用Alt-Left和Alt-Right),以及大量其他有助于导航的功能。CodeRush!产品还与他们的重构工具捆绑在一起。他们还提供免费的CodeRush!&Refactor Express产品,尽管我不确定骆驼外壳导航是否属于Express产品。



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.