• 扩展VS2010插件通过UML类图,自动生成相关代码


    因为去年帮我的师父开发这个小软件,所以去年整了将近一个多月的时候,把这个基本的工程弄好了。姑且就叫做 版本1.0吧。 

    其实,功能很好理解,就是当你把UML(这里需要注意的是,只能用在VS,所以 rose,那就sorry咯)图画好了之后,然后生成,它就可以自动的生成一个项目框架。

    今天把这些发布到这里,希望对你们有许些帮助,我就开心+happy了哦。嘎嘎。

    实现的功能如下:

    1.完全格式化,和我们平常新建一个类的格式完全一样

    2.无限循环新建文件夹。我现在实现的是,如果是一个包的话,那么就新建一个文件,然后就这么一直一直循环下去。这里用了一个递归函数,效率不是太高。

    3.支持继承、抽象。

    4.自动引用,通俗点就会自动进行using,当然这得保证在当前的UML类图中 有这个类,才能找到。

    5.注释的添加。如果你在画UML图的时候,你对UML的一些图有描述,那么就会自动的添加到上面去。也就是C#中的注释。

    6.有类、接口、枚举。。。

    。。。

     后台代码结构:

    主要用到的技术:

    1.UML的扩展技术。

    2.T4语言

    3.C#

    要是有人对这个比较感兴趣,到时候我在分享一篇文章。


    使用教程:

    1.下载文件,然后解压。需要\UML2Code\MainVsix\bin\Debug找到一个MainVsix.vsix的文件

    猛击下载

    对了这里还需要,通过后面有些园友反应,说下载了哪个MainVsix.vsix打不开,后来我找了原因,原来是没有安装一个插件:

    1.http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=2680

    2.http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=23025

    安装这2个插件就可以了啦。

    2.点击安装。

    点“Install”就可以,它就会自动的安装到你的VS 2010的 扩展管理器 里面了。安装成功了 ,有提示:

    3.打开扩展管理器,在扩展管理器进行查看(Extension Manager).

    下面用高亮画出来的东东 就是我们扩展出来的插件吧。恭喜你,安装成功了 你即将就可以使用了。 

    4.添加一个类图文件。

    在解决方案右键,新建项目,然后找到建模项目。如图:

    新建之后,默认名是:ModelingProject1 。接着在右键,添加 新建项

    说实在话的,里面比rose的功能没那么多,不过基本的功能都能实现,可以实现大部分人的项目需求。我们新建一个类图。

    。。。(新建类图过程。。。。)

    OK,好了。现在我们新建好了HNSchool.classdiagram这个类图。

    5.开始生成代码

    我们在类图上面右键。可以看到一个

    那个“Generator CS By Lanny” 就是我们自己扩展的一个子项。

    点击之后,就能在当前的解决方案中自动的生成你目前的类图的相关代码。

    比如 ,生成的结构:

    注:每一个文件在代表你在UML中的一个包。

    生成的代码格式:

    源码下载

    作者:Lanny☆兰东才
    出处:http://www.cnblogs.com/damonlan
    Q Q:*********
    E_mail:Damon_lan@163.com or Dongcai.lan@hp.com

    本博文欢迎大家浏览和转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,在『参考』的文章中,我会表明参考的文章来源,尊重他人版权。若您发现我侵犯了您的版权,请及时与我联系。

  • 相关阅读:
    vim快速查找
    一次特别二不兮兮的WebStorm经历
    让docker容器使用主机系统时间(挂入/etc/localtime)
    systemd:在service文件中给Exec传入多个参数
    mongodb数据迁移
    明日边缘;逃出克隆岛
    [C++] 类的所有对象实例共享静态类成员变量
    HTTP长连接
    fqPkzJetPK
    何时使用move
  • 原文地址:https://www.cnblogs.com/damonlan/p/2376008.html
Copyright © 2020-2023  润新知