我设置了很多自定义键盘快捷键。为了避免每次安装新的可视工作室时都要设置它们(当前发生了很多情况,VS2010处于测试版/ RC状态)我创建了一个宏,它设置了我所有的自定义命令,如下所示:
DTE.Commands.Item("ReSharper.ReSharper_UnitTest_RunSolution").Bindings = "Global::Ctrl+T, Ctrl+A"
我的主要问题是默认设置Ctrl + T以映射到transpose char命令。所以我想删除宏中的默认值。
我尝试了以下两行,但都抛出异常
DTE.Commands.Item("Edit.CharTranspose").Bindings = ""
DTE.Commands.Item("Edit.CharTranspose").Bindings = Nothing
虽然他们有点工作,因为他们实际上删除了绑定;)但我更喜欢没有抛出异常的解决方案。
这是怎么做到的?
答案 0 :(得分:3)
我已经解决了同样的问题。我使用宏来为一组对齐宏指定键绑定。
Dim NewBindings() = {"Global::Alt+="}
DTE.Commands.Item("Macros.Dev.AlignUtils.AlignEquals").Bindings = NewBindings
NewBindings(0) = "Global::Alt+Num -"
DTE.Commands.Item("Macros.Dev.AlignUtils.AlignMinus").Bindings = NewBindings
...
要删除键绑定,请使用以下语句:
Dim DelBindings() = {}
DTE.Commands.Item("Macros.Dev.AlignUtils.AlignPlus").Bindings = DelBindings
在Visual Studio 2005下工作正常。
答案 1 :(得分:2)
我采用了一种更务实的方式(使用你的例子):
DTE.Commands.Item("ReSharper.ReSharper_UnitTest_RunSolution").Bindings = "Global::Ctrl+T"
DTE.Commands.Item("ReSharper.ReSharper_UnitTest_RunSolution").Bindings = "Global::Ctrl+T, Ctrl+A"
第一个作业Ctrl+T
从任何其他作业中取消分配,然后在第二个作业中解除绑定。
对我来说就像是一种魅力。
答案 2 :(得分:-2)
您无需使用宏进行更改,只需转到
即可菜单>工具>选项 - 键盘,然后从下拉列表中选择要更改快捷方式的内容并指定您的快捷方式