VSIX添加文件夹右键菜单
钢翼
编程
新建项目VSIX Project
新建项 Custom Command
打开*.vsct文件,找到以下节点,修改对应的id属性为IDM_VS_CTXT_FOLDERNODE
<Groups> <Group guid="guidRightCmdPackageCmdSet" id="MyMenuGroup" priority="0x0600"> <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_FOLDERNODE"/> </Group> </Groups>
其中:
IDM_VS_CTXT_SOLNNODE 是指的解决方案资源管理器里的 解决方案,
IDM_VS_CTXT_SOLNFOLDER 是指的解决方案资源管理器里的 解决方案里的文件夹,不是项目里的哈,这个文件夹是虚拟的,没有实际的文件夹映射,
IDM_VS_CTXT_PROJNODE 是指的解决方案资源管理器里的 项目,
IDM_VS_CTXT_FOLDERNODE 是指的解决方案资源管理器里的 项目里的文件夹,
IDM_VS_CTXT_ITEMNODE 是指的解决方案资源管理器里的 项目里的项,就例如cs、js文件
IDM_VS_MENU_TOOLS 是指的工具菜单
如何获取右键文件夹的属性
找到点击事件
private void Execute(object sender, EventArgs e) { DTE dte = (DTE)package.GetServiceAsync(typeof(DTE)).GetAwaiter().GetResult(); var filename = dte.SelectedItems.Item(1).ProjectItem.FileNames[0];//获取点击的文件夹完整路径 var projectPath= dte.SelectedItems.Item(1).ProjectItem.Collection.ContainingProject.FullName;//获取点击文件夹所在项目*.csproj的完整路径 }