VSIX 插件右键菜单
vs2017 插件开发
环境
WIN10 VS2017 CMMT VSIX
参考资源:
vs菜单命令ID速查 https://docs.microsoft.com/zh-cn/visualstudio/extensibility/internals/guids-and-ids-of-visual-studio-menus
需要输出信息到窗口 https://docs.microsoft.com/zh-cn/visualstudio/extensibility/extending-the-output-window
命令快捷键 https://docs.microsoft.com/zh-cn/visualstudio/extensibility/binding-keyboard-shortcuts-to-menu-items
目标
文件发布,实现右击一个文件,复制到指定目录中.
建立VSIX项目,添加自定义命令项
.vsct
VSIX项目建好后,会有这个XML文件,记录自定义命令的相关属性,例如命令名字,图标,摆放位置
关键节点:
0.项目相关符号定义节
<GuidSymbol name="guidPublishFilePackage" value="{936ecd2c-2941-43e8-afff-71bd15417822}" />
项目建立后,有一个和项目名对应的CS文件,其中常量PackageGuidString值与此节的value值对应
1.符号定义节
<GuidSymbol name="guidPublishFilePackageCmdSetFILE" value="{14c506cb-99dc-4922-addf-3cefe8fbbc64}">
<IDSymbol name="MyMenuGroupFile" value="0x0100" />
<IDSymbol name="PublishFileId" value="0x0101" />
</GuidSymbol>
一个GuidSymbol节,会对应一个命令类.(每添加一个自定义命令时,就会增加一个命令类,并且此处会增加节点)
GuidSymbol节定义命令guid属性,name定义guid属性名,value定义其值,该值对应命令类的成员-常量值CommandSet
IDSymbol用于定义命令的id属性.有两个,一个用于命令,一个用于命令所在的命令组
Id属性名(name)和值(value).会用于Group Button KeyBinding节点的对应属性
其中,用于Button节点的value值,一定要对应命令类的成员-常量值CommandId,否则点击命令时无效
2.命令组节
<Groups>
<Group guid="guidPublishFilePackageCmdSetFILE" id="MyMenuGroupFile" priority="0x0600">
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_ITEMNODE" />
</Group>
<Groups>
Group节表示一个命令组,它的guid属性值,就是来源于符号节 GuidSymbol 的name的值,id属性值来源于符号节IDSymbol第1个 的name的值. 如果有多个命令组,会有多个group节
其中节点Parent的id属性的值,表示该命令组所在的位置.也就是在VS中菜单位置.
Parent 命令ID 位置说明
3.命令节
<Button guid="guidPublishFilePackageCmdSetFILE" id="PublishFileId" priority="0x0100" type="Button">
<Parent guid="guidPublishFilePackageCmdSetFILE" id="MyMenuGroupFile" />
<Strings>
<ButtonText>发布文件</ButtonText>
</Strings>
</Button>
4.快捷键节
<KeyBindings>
<KeyBinding guid="guidPublishFilePackageCmdSetFILE" id="PublishFileId" mod1="CONTROL" mod2="CONTROL" key1="1" key2="1" editor="guidVSStd97" />
</KeyBindings>
![](/assets/blank.gif)
![](/assets/blank.gif)
转载于:https://www.cnblogs.com/mirrortom/p/9184518.html
VSIX 插件右键菜单相关推荐
- Chrome 插件开发-右键菜单开发实战演示,浏览器页面右键菜单选项设置,插件右键菜单点击插件名跳转主页设置
Chrome 插件开发 - 菜单选项 浏览器页面右键菜单选项设置 ① 核心代码演示 ② 效果展示 ③ 详细参数文档 插件右键菜单点击插件名跳转主页设置 ① 核心代码演示 ② 演示效果图 浏览器页面右键 ...
- Leaflet中使用Leaflet.contextmenu插件实现地图上添加鼠标右键菜单
场景 Leaflet快速入门与加载OSM显示地图: Leaflet快速入门与加载OSM显示地图_BADAO_LIUMANG_QIZHI的博客-CSDN博客 在上面的基础上,怎样使用Leaflet.co ...
- vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
今天分享的不是技术,今天给大家分享个插件,针对现有的vue右键菜单插件,大多数都是需要使用插件本身自定义的标签,很多地方不方便,可扩展性也很低,所以我决定写了一款自定义指令调用右键菜单(vuerigh ...
- html 右键菜单 插件,Script Menu:自定义右键菜单
Script Menu的开发背景 对于网页上的右键菜单用户可能再熟悉不过了,常见的右键菜单有复制.粘贴.刷新.另存为.查看网页源代码等,但是这些右键菜单都是chrome自己提供或者其他插件的菜单,你有 ...
- Gmail UI右键菜单[Greenbrowser插件][Beta V0.2]
经常用Gmail,不过不太爱用快捷键,可惜Gmail的用户界面不支持鼠标右键.没有找到类似的插件,于是自己开发一个玩玩.其实,有点多此一举. 概述: 用Javascript开发的Greenbrowse ...
- 一起谈.NET技术,ASP.NET MVC2实现分页和右键菜单
右键菜单非常方便,很多时候会用到.这篇文章将使用一个JQUERY的插件在asp.net mvc中实现右键菜单.本文还将介绍一下在asp.net mvc中如何实现简单的分页.效果如下图: 首先,下载此插 ...
- JQuery之ContextMenu(右键菜单)
JQuery之ContextMenu(右键菜单) 插件下载地址: http://www.trendskitchens.co.nz/jquery/contextmenu/jquery.contextme ...
- java web右键菜单,win7右键菜单管理
win7右键菜单管理 win7右键菜单管理工具下载(EasyContextMenu)v1.6免费版是一个Win7和Win8系统下能用的右键菜单管理工具,有些软件在安装后会在右键菜单中添加一个项目,时间 ...
- jQuery easyUI--选项卡右键菜单
<!DOCTYPE html> <html><head><meta charset="UTF-8"><title>选项卡 ...
最新文章
- PPT|工业互联网关键技术专利态势
- mysql利用CPU多核
- 性能测试知多少--系统计数器与硬件分析
- 南宁师范大学计算机与信息工程学院研究生,南宁师范大学计算机与信息工程学院(专业学位)职业技术教育保研...
- 征战蓝桥 —— 2013年第四届 —— C/C++A组第6题——逆波兰表达式
- 高级Java泛型:检索泛型类型参数
- 地图上绘制任意角度的椭圆_地图上的总椭圆
- TFS(Team Foundation Server)敏捷使用教程
- 微信小程序的一些数据调用方式
- 浙江高校计算机等级考试二级办公,浙江省高校计算机等级考试二级(高级办公)Word操作提示.doc...
- java中字节码_Java字节码执行图示
- Activiti的BPMN2.0中的子流程
- Unity(三)EasyTouch5的使用
- 在matlab编辑大于号,教你怎么用MathType编辑大于或小于符号
- abl如何调用xbl里面的protocol
- SpringMVC之CRUD和文件上传下载
- 魏文王问扁鹊的注释_魏文王问扁鹊曰阅读答案与翻译
- git color 让git有颜色
- GRAIL Efficient Time Series Representation Learning论文阅读笔记(一)
- 【考研英语语法】代词练习题