• visual Studio 2017 扩展开发(三)《绑定快捷键到菜单项》


    如何将键盘快捷方式映射到自定义按钮,怎么使用快捷键启动自己创建的菜单,刚开始做的时候迷糊了,找了很久。可能也是因为刚开始做不是很明白,后面慢慢就懂了。其实非常简单的。

    很多快捷键已经在Visual studio中使用的,在确定快捷键之前验证下你想设置的快捷键是否可以使用,当然是不可以重复啦,是吧。

    验证快捷键是否被使用

    工具→选项→环境,选择键盘 输入你想设置的快捷键,如果快捷键已经被使用则会显示当前使用的对象。

    绑定键盘快捷键

    打开commandPackage.vsct

    在CommandTable下添加

      <KeyBindings>  
        <KeyBinding guid="guidCommandPackageCmdSet" id="CommandId" editor="guidVSStd97" key1="m" mod1="CONTROL" key2="n" mod2="CONTROL"/>  
      </KeyBindings>

    这里我设置的是组合键,Ctrl+m,Ctrl+n,也可以直接Ctrl+某个字符,那就去掉key2跟mod2。

    大多数情况下最好不要使用Shift,因为会导致字母大小写的问题。

    里面的editor="guidVSStd97",是为了使命令在visual studio编译器可以使用。

    guid是在Symbols里的name在这里我是 

    <Symbols>
    <!-- This is the package guid. -->

    <GuidSymbol name="guidCommandPackageCmdSet" value="{0ea396e5-6e5d-420c-a89c-ad63d15d521a}">

    </Symbols>

    所以我这里的guid是guidCommandPackageCmdSet

    而 keyBinding的id则是 你设置的Button的id.

    <Button guid="guidCommandPackageCmdSet" id="CommandId" priority="0x0100" type="Button">

    所以id为CommandId

    此随笔乃本人学习记录,如有疑问欢迎在下面评论,转载请标明出处。

    如果对您有帮助请动动鼠标右下方给我来个赞,您的支持是我最大的动力。

  • 相关阅读:
    VS2013专业版+QT5.6.3+qt-vs-addin-1.2.5环境搭建
    提权获取进程路径并获取进程列表
    解决Qt发布的程序在xp环境下提示“无法定位程序输入点 K32GetModuleFileNameExA 于动态链接库 KERNEL32.dll 上”的错误
    QT5中使用Echarts图表组件
    Qt5.9生成dll详细图文教程
    Qt 编程指南 & 选择合适的Qt5版本
    Qt 之 国际化(中英文切换)
    Qt资料
    第三次作业
    第二次作业
  • 原文地址:https://www.cnblogs.com/huangenai/p/7183351.html
Copyright © 2020-2023  润新知