基于vs插件的abp代码生成器

  工作了这么多年,一直都在小公司摸爬滚打,对于小公司而言,开发人员少,代码风格五花八门。要想用更少的人,更快的速度,开发更规范的代码,那自然离不开代码生成器。之前用过动软的,也用过T4,后面又接触了力软。相较而言,力软的代码生成做的体验还是很不错的(不是给他打广告哈)。最近在看abp,发现要按他的规范来开发的话,工作量还是蛮大的,所以他们官方也开发了配套的代码生成器,不过都要收费。国内这块好像做的好点的就52abp了,还有个Magicodes.Admin。前者是类似于官方的做成了vs插件,还比较好用,后者是线上的,据说是生成后可以同步到git仓库,咱也没用过,所以也不清楚好不好用。前段时间稍微空闲点,就参考Magicodes.Admin和52abp搭了个框子,顺便也研究了下基于vs插件的代码生成器,abp的代码生成器也可以做成力软那样的,只不过需要用户先update-database数据库而已,代码生成部分原理都差不多,这里就不提了,这里主要是记录下vs插件开发代码生成器的过程。

 

先上下框子截图:

基于vs插件的abp代码生成器

基于vs插件的abp代码生成器

基于vs插件的abp代码生成器

 

开发过程:

新建VS插件项目

1、新建项目

这里我们要新建VSIX Project

基于vs插件的abp代码生成器

2、建好项目后,右键添加新建项,这里我们选Custom Command

基于vs插件的abp代码生成器

添加好了后,我们修改Command1Package.vsct这个文件:

基于vs插件的abp代码生成器

这里改的是菜单显示的文字,然后我们可以F5运行起来瞧瞧。F5运行后,会另外开启一个vs,如下图:

基于vs插件的abp代码生成器

默认的菜单会被添加到“工具”这个菜单栏中,如下图:

基于vs插件的abp代码生成器

咱们要做代码生成器,肯定不是希望把菜单加在这里的,那要怎么改呢?  还是刚才那个文件,具体位置在:

<Groups> <Group guid="guidCommand1PackageCmdSet" id="MyMenuGroup" priority="0x0600"> <Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS"/> </Group> </Groups>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wppgdj.html