VS插件开发(生成实体类)

时间:2023-03-09 03:50:28
VS插件开发(生成实体类)

写了N年的代码,回头过来看,其中有80%代码都是重复的代码,深入研究VS插件开发,应用到工作中,让自己减少基础的代码开发,增加开发效率

1、新增解决方案: Extensiblity->VSIX Project

 2、新增项目:Custom Command

 3、Command1Package.vsct 参数介绍

guidSHLMainMenu  是vs界面。

IDM_VS_CTXT_SOLNNODE  是指的解决方案资源管理器里的    解决方案,

IDM_VS_CTXT_SOLNFOLDER    是指的解决方案资源管理器里的    解决方案里的文件夹,不是项目里的哈,这个文件夹是虚拟的,没有实际的文件夹映射,

IDM_VS_CTXT_PROJNODE  是指的解决方案资源管理器里的   项目,

IDM_VS_CTXT_FOLDERNODE  是指的解决方案资源管理器里的   项目里的文件夹,

IDM_VS_CTXT_ITEMNODE  是指的解决方案资源管理器里的   项目里的项(文件右键),就例如cs、js文件

4、给Command命名名称

<Button guid="guidCommand1PackageCmdSet" id="Command1Id" priority="0x0100" type="Button">
<Parent guid="guidCommand1PackageCmdSet" id="MyMenuGroup" />
<Icon guid="guidImages" id="bmpPic1" />
<Strings>
<ButtonText>生成实体类</ButtonText>
</Strings>
</Button>
5、扩展代码开发(写入)

private void MenuItemCallback(object sender, EventArgs e)

{

}

6、获取项目文件

1、引用 using EnvDTE;

2、获取项目文件地址

var dte = ServiceProvider.GetService(typeof(DTE)) as DTE;
var file = dte.FileName;
var doc = dte.ActiveDocument;
var item = doc.ProjectItem;
var filename = item.FileNames[0];

7、下一步获取数据库里面的表名,字段属性生成拼成CS代码