我正在使用Visual Studio 2013,我希望 Ctrl + E 映射到Edit.LineEnd
。基本上,当你点击 end 时会发生同样的事情。
我可以在选项/环境/键盘下重新映射它,但问题是visual studio仍然将 Ctrl + E 视为和弦。当我点击 Ctrl + E 时,我看到一条消息,而不是走到行尾:
(Ctrl + E)被按下。等待和弦的第二把钥匙。
当我重新映射 Ctrl + A , Ctrl + N , Ctrl时,不会发生这种情况 + P , Ctrl + F ,或 Ctrl + B
答案 0 :(得分:5)
这看起来像是Visual Studio图层命令路由和键绑定的副作用......
如果查看默认绑定(我的设置基于C#配置文件),您可以看到有大量其他绑定以 Ctrl + E :
重要观察:
如果在全局范围内设置绑定,则它在优先级上排在最后(即任何特定上下文都会覆盖更通用的上下文)。由于您在文本编辑器中,它正在尝试匹配该上下文中存在的和弦。
如果要在文本编辑器中绑定新的快捷方式(即标有Use new shortcut in:
的下拉列表,默认为Global),它实际上会删除Edit.ToggleWordWrap的键绑定。这是因为你不能与一个和弦有一个键绑定重叠,所以VS假设你真的想要你想要添加的那个并且克服冲突。
或者,如果您想同时保留两者,则可以先将Edit.ToggleWordWrap
重新映射到其他绑定。