快速业务通道

创建自己的Eclipse插件模板-通过定制现有的模板满足特定需求 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
ption source) {   this.getPage(0).setErrorMessage(null);   ViewOption viewOption = (ViewOption) source;   Text textField = viewOption.getTextField();   List listField = viewOption.getListField();   String[] items = listField.getItems();   if (items != null && items.length > 0) {     //validation rule check     for (int i = 0; i < items.length; i++) {       if (items[i].equals(textField.getText())) {         this.getPage(0).setErrorMessage("Class name ''"           + textField.getText()           + "'' already exists in View List.");         break;       }     }   } }

新特性 D:自动地组织插件项目的目录结构

我们的目标之一是让模板自动地组织目标插件项目的目录结构。我们通过三个步骤实现此目标:

使用变量存储目标项目的目录结构。

编写一个 Ant 脚本,它用于创建目标目录结构并把资源分配到适当的目录。

添加 IResourceChangeListener 以监视模板的工作空间。区段文件的生成过程完成之后,触发 Ant 脚本的执行。

创建自己的Eclipse插件模板-通过定制现有的模板满足特定需求(7)

时间:2011-11-02 IBM Jie Tang

实现

为了简化,我们假设所有 Java 文件都复制到一个包中,包名与项目名相同。例如,如果项目名为 com.ibm.template,那么所有 Java 文件都复制到 com.ibm.template 包中。对此过程的讨论超出了本文 的范围,详细信息请参见 “使用 Eclipse 插件开发环境构建模板”。

清单 4 给出此示例中使用的 Ant 脚本。它包含三个 target。第一个 target 根据源代码路径和包路 径创建一个目录结构。第二个 target 把所有 Java 文件复制到适当的目录。最后一个 target 从新的插 件项目中删除这个脚本文件。

在 SampleWizard 类的 performFinish 方法中添加 IResourceChangeListener。清单 5 给出这个监 听器的实现。

清单 4. CreatePackage.xml

<?xml version="1.0"?>
<project name="template project" default="clean" basedir=".">
  <property name="package" 

value=".\$sourcePath$\$packagePathcontentquot;></property>
  <target name="create">
    <mkdir dir="$dollarMark${package}"/>
  </target>
  <target name="move" depends="create">
    <move todir="$dollarMark${package}">
      <fileset dir=".">
        <include name="*.java"/>
      </fileset>
    </move>
  </target>
  <target name="clean" depends="move">
    <delete dir=".">
      <include name="CreatePackage.xml"/>
    </delete>
  </target>
</project>

创建自己的Eclipse插件模板-通过定制现有的模板满足特定需求(8)

时间:2011-11-02 IBM Jie Tang

清单 5. SampleWizard.java — ******

public boolean performFinish(final IProject project, IPluginModelBase model,
IProgressMonitor monitor) {
  ...
  //get workspace
  final IWorkspace workspace = ResourcesPlugin.getWorkspace();
  //get Ant file
  String antFilePath

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号