VS2017插件开发-项目右键菜单
2018-01-22 11:24
429 查看
1.创建自定义命令
2.更改.vsct中Group节点的id
列举 Group 节点的Id属性其中比较关键的几个
3.获取右键选择的项目物理路径
2.更改.vsct中Group节点的id
<Group guid="guidPublishOwinPackageCmdSet1" id="MyMenuGroup" priority="0x0600"> <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJNODE" /> </Group>
列举 Group 节点的Id属性其中比较关键的几个
IDM_VS_CTXT_SOLNNODE 是指的解决方案资源管理器里的解决方案 IDM_VS_CTXT_SOLNFOLDER 是指的解决方案资源管理器里的 解决方案里的文件夹,不是项目里的哈,这个文件夹是虚拟的,没有实际的文件夹映射 IDM_VS_CTXT_PROJNODE 是指的解决方案资源管理器里的项目 IDM_VS_CTXT_FOLDERNODE 是指的解决方案资源管理器里的项目里的文件夹 IDM_VS_CTXT_ITEMNODE 是指的解决方案资源管理器里的项目里的项,就例如cs、js文件
3.获取右键选择的项目物理路径
private static Tuple<string, string, string> GetPath(IServiceProvider serviceProvider) { var dte = serviceProvider.GetService(typeof(DTE)) as DTE2; var projects = (UIHierarchyItem[])dte?.ToolWindows.SolutionExplorer.SelectedItems; if (projects == null) { ShowMessage("未选中任何项目!", serviceProvider); return null; } var project = projects[0]; var item = project.Object as Project; var path = item?.FullName; if (string.IsNullOrWhiteSpace(path)) { ShowMessage("项目路径为空!", serviceProvider); return null; } if (!File.Exists(path)) { ShowMessage(path + "文件不存在!", serviceProvider); return null; } var srcPath = item?.Properties.Item("FullPath").Value?.ToString(); if (string.IsNullOrWhiteSpace(srcPath)) { ShowMessage("FullPath路径为空!", serviceProvider); return null; } //path:.csproj全路径 //srcPath:.csproj所在的目录 //item.Name:项目名称 return Tuple.Create(path, srcPath, item.Name); }
相关文章推荐
- Intellij Idea插件开发-创建项目层级的右键菜单
- Intellij Idea插件开发之创建项目层级的右键菜单
- rcp(插件开发)CNF 自定义视图-右键菜单-的简单实现
- IE浏览器右键菜单插件开发(上篇)——自定义一个IE右键菜单项
- 安装svn客户端和vs2012的svn插件之后,在项目右键菜单里没有“更新项目至最新版本”和“提交项目变更”选项
- 【eclipse插件开发】右键菜单获取选中文件以及文件的创建
- VS2013在右键菜单添加命令插件开发
- IE浏览器右键菜单插件开发(下篇)——如何用c#安装、卸载IE右键插件
- eclipse插件开发 -右键菜单 - popup menu
- 插件开发,为某个视图贡献右键菜单
- 插件开发,为某个编辑器贡献右键菜单
- 【大话QT之四】ctkPlugin插件系统实现项目插件式开发
- 安卓项目开发实战(1)--首页顶部菜单BAR实现
- jdeveloper开发soa项目,BPEL插件更新
- Eclipse安装Perl EPIC插件,在Eclipse中开发Perl项目
- 【Qt开发】Qt gui添加右键菜单事件
- Eclipse 插件开发 -- 深入理解菜单(Menu)功能及其扩展点
- SharePoint2010 Feature功能开发——为SharePoint的ECB菜单(列表项或文档的操作菜单项)添加自定义菜单栏项目
- VSCode插件开发全攻略(四)命令、菜单、快捷键
- Android Cordova 插件开发之创建项目