写Eclipse插件,告别纯Ant时代

     随着Eclipse的发展,很多Java项目都将告别无界面、靠ant打天下的局面,开始拥有自己美观易用的界面。( 当然,轻便通用的ant还是应该支持。)  我觉得最典型的就是AndroMDA了,全靠build.xml和一堆配置文件生成那么多东西,多累啊。

     没写过Eclipse插件也没写过SWT应用,趁这机会小试了一把。我的代码生成插件的需求是:
     1.插件读取存放元数据的model.xml文件,生成一个ListView
     2.用户从ListView中选择要生成代码的Domain Object,插件弹出一个生成选项的对话框
     3.用户在对话框中输入生成选项后,插件进行代码生成。

     这个插件很简单,几乎不用啃什么书,按照CookBook来就行了。

     1.file->new->plug-in development->plug-in project
     2.选择plug-in with a view作模版,生成默认代码
     3.修改xxxView.java的ViewContentProvider类的getElements()函数,该函数返回一个String[],负责生成View中对象。
     4.在xxxView.java中的makeActions函数中,修改action1的run()函数,这是干活的主要函数
     5.随便拿个sample,抄一个Dialog的例子出来。虽然有VE和SWT -Designer,但我的对话框比较简单,直接编辑源码了事。
     6.继续修改action1的run函数,打开Dialog,并根据Dialog的返回值生成代码。

     感想:
     1. 写Eclipse插件很简单,SWT也比原来的想象容易一点。

     2. 写一个架构超好的框架-- 用户只需编写最重要的代码,其他全部由系统默认完成;而在需要改变默认做法的时候,又总能找到扩展的接口--是如此困难,因此无论 MS的VC还是 Eclipse,都需要代码生成Wizzard来生成大量的辅助代码。不过微软的Visual Studio经常提供另一层次的编程界面,不需要直接改源码,而Eclipse只在开始根据模版生成一次代码,其他就要自己直接改源码。

     3.SWT/SWing基于匿名内部类的callback机制,还不如MS 下MFC的magic宏爽。
    



你可能感兴趣的:(eclipse,swing,ant,mfc,vc++)