Visual Studio:如何重新映射Ctrl + E键?

Spe*_*rry 4 visual-studio visual-studio-2013

我正在使用Visual Studio 2013,并且想Ctrl+ E映射到Edit.LineEnd。基本上,击中时会发生相同的事情end

我可以在选项/环境/键盘下重新映射它,但是问题是Visual Studio仍然将Ctrl+ E当作和弦。当我点击Ctrl+ 时,没有走到行尾,而是E看到以下消息:

按下(Ctrl + E)。等待第二个和弦。

当我重新映射Ctrl+ ACtrl+ NCtrl+ PCtrl+ FCtrl+ 时,不会发生这种情况B

Jim*_*mmy 5

这看起来像是Visual Studio图层如何命令路由和键绑定的副作用...

如果您查看默认绑定(我的设置基于C#配置文件),您会看到还有很多其他以Ctrl+ 开头的绑定E

<kbd> Ctrl </ kbd> + <kbd> E </ kbd>的键绑定

重要观察:

  • 每个命令在括号中指定其上下文(全局,文本编辑器,工作流设计器)
  • 文本编辑器中已经有一个多键(和弦?)绑定
  • Workflow Designer绑定无关紧要,因为它们处于完全独立的上下文中

如果在全局范围内设置绑定,则绑定将优先于优先级(即,任何特定的上下文都将覆盖更通用的上下文)。由于您在文本编辑器中,因此它试图匹配该上下文中存在的和弦。

如果要在“文本编辑器”中绑定新的快捷方式(这是标记为的下拉列表Use new shortcut in:,默认为“全局”),则实际上会删除Edit.ToggleWordWrap的快捷键。那是因为您不能将和弦的键绑定重叠,因此VS假设您确实想要您要添加的那个并消除了冲突。

或者,如果要保留两者,则可以先重新映射Edit.ToggleWordWrap到其他绑定。