显示标签为“Eclipse”的博文。显示所有博文
显示标签为“Eclipse”的博文。显示所有博文

2007年1月25日星期四

在Eclipse3.2.1中构建备忘单

《在Eclipse中构建备忘单》
 
链接中作者是是Eclipse 3.1中完成,并且是英文界面。
本文参照上文,在Eclipse 3.2.1中实践完成,中文界面。
 
Eclipse自带备忘单示例可以选择菜单"帮助->备忘单"。
 
 
 
如果备忘单仍不可见,可以选择菜单"窗口->显示视图->其他"。在"显示视图"对话框中,选择"备忘单->备忘单",确定即可,可以拖放备忘单视图以调整备忘单的显示位置。
 
 
要创建备忘单,需要先创建备忘单项目。选择菜单"新建->项目",在"新建"对话框中,选择"插件开发->插件项目"
 
 
 
选择下一步。在"新建插件项目"对话框中,输入项目名,并注意取消"项目设置"中的"创建Java项目"复选框,选择适当的Eclipse版本号。
 
 
下一步。输入"插件提供程序",选择"完成"。
 
 
此时,已经我们创建了一个空的备忘单。在"包资源管理器"中我们可以看到如下资源结构:
 
 
接下来,我们需要创建一个xml文件,用来定义备忘单的内容信息。下面是一个简单的xml文件 ( cheatsheetDemo.xml ) 示例:
 
 
<?xml version="1.0" encoding="UTF-8" ?>
<cheatsheet title="备忘单示例标题">
    <intro>
        <description>备忘单示例描述</description>
    </intro>
    <item title="步骤一">
        <description>这是备忘单的<b>第一步</b></description>
    </item>
    <item title="步骤二">
        <description>
            这是备忘单的<b>第二步</b><br />
            仅仅是描述而已。
        </description>
    </item>
</cheatsheet>
 
 
在这份示例中,文档结构很清晰明了,根元素<cheatsheet>中,只有<intro>和<item>两个子元素,分别定义备忘单的概要信息和相关步骤,其中<item>元素可以多次重复。在<intro>和<item>元素中的<description>元素中,限定只允许使用<b>和<br />这样的格式化元素。
 
这份xml文档可以放在项目任何位置,最简单的方法是放在根目录。
 
 
用"插件清单编辑器"打开"Myplugins/META-INF/MANIFEST.MF",打开如下视图:
 
 
继续,我们选择"扩展"选项卡。
 
 
单击"添加"。
 
 
在"新建扩展"对话框中取消"只显示必须插件中的扩展点",选择"org.eclipse.ui.cheatsheets.cheatSheetContent",完成。
 
 
会弹出"新建插件依赖"对话框,选择"是"。
 
右键"org.eclipse.ui.cheatsheets.cheatSheetContent",选择"新建->category"新建分组。
 
 
得到如图,注意输入分组的id和name。
 
 
右键"org.eclipse.ui.cheatsheets.cheatSheetContent",选择"新建->cheatsheet"新建备忘单。
 
 
如图,注意输入id,name和category,这里要输入的分组category就是刚刚新建的分组id,并输入或浏览我们上面新建的xml文档到contentFile中。
 
 
最后选择"build.properties"选项卡,保证我们新建的所有xml文档都包含在项目中,如下,我在这里输入了
,\
cheatsheetDemo.xml
 
 
完成之后,全部保存,我们需要把这个插件导出为jar文件。右键"包资源管理器"中的"Myplugins"项目,选择"导出"。
 
在"导出"对话框中,选择"插件开发/可部署插件和段",下一步。
 
 
 
 
这里要注意的是,选择要导出的Plugin,并在"目标"选项卡中选择导出目标目录,以及"选项"选项卡中,选中"将各个插件打包为JAR归档",选择完成。
 
将导出的jar包拷贝到%eclipse_home%/plugins/目录下,重启Eclipse。然后选择菜单"帮助->备忘单"。
 
 
选择我们刚刚创建的备忘单,注意备忘单的名称和我们定义的名称之间的对应关系,如果你重启Eclipse仍然没有看到你创建的备忘单,可以退出Eclipse,并删除%eclipse_home%/configuration目录下的org.eclipse.update子目录,然后启动Eclipse。
 
创建好的备忘单如下所示:
 
 
好了,完成的备忘单创建和部署已经全部完成。如果你发现创建了不可用的备忘单,说明你并没有完全导出所有的xml 文档,你需要重新审视"build.properties"选项卡中内容了。
 
 
问题:由于发布备忘单需要先打成jar包,并需要重启Eclipse,有没有什么方法可以方便的修改备忘单呢?或者说怎么创建一个临时的"便条"呢?

2007年1月20日星期六

关于myeclipse5.1下载地址和注册码机的源代码


下载myeclipse5.1的话需要去myeclipse的官方网站,共有100多M之大, 点击这里进入下载 (进入官方网站后点download area,注册一个用户进行下载,如果你的确下不了,也可留言给我,我发给你。),下在完成后接下来就是注册了。

如果你之前是用过myeclise3.2之类的话就无需再注册,新安装完成后就原来的注册仍然有效。如果你是新安装的话就需注册了, 你可以使用以前的myeclise3.2的注册机来注册,算法并没有改变,如果你要找3.x的注册机的话,用不着了。下面我贴出注册机的java源代码,直接运行此class就能生成注册码并可成功注册。

注册机源代码如下:

 
public class Main {
    private static final String L = "Decompiling this copyrighted software is a violation of both your license agreement and the Digital Millenium Copyright Act of 1998 ( http://www.loc.gov/copyright/legislation/dmca.pdf). Under section 1204 of the DMCA, penalties range up to a $500,000 fine or up to five years imprisonment for a first offense. Think about it; pay for a license, avoid prosecution, and feel better about yourself.";

    public static void main(String[] args) {
        String userId = "xianyun";
         // MyEclipse4.1 GA
         // 其中491(4.9.1)/400(4.0)/401(4.1)/501(5.1.0),()内为版本号,9912310代表注册码过期时间2099/12/31
         String need = userId.substring(0, 1) + "YE3MP-401-00-9912310";
         // MyEclipse4.0.0 GA
         // String need = userId.substring(0,1) + "YE3MP-400-01-9912310";
         // MyEclipse4.9.1
         // String need = userId.substring(0,1) + "YE3MP-491-01-9912310";
         // MyEclipse5.1.0 GA
         // String need = userId.substring(0,1) + "YE3MP-501-00-9912310";
         String dx = need + L + userId;
         int suf = decode(dx);
         // System.out.println("SUF:"+suf);
         String code = need + suf;
         System .out.println(change(code));
    }

    static int decode(String s) {
        int i = 0;
        char ac[] = s.toCharArray();
        int j = 0;
        for (int k = ac.length; j < k; j++) {
            i = 31 * i + ac[j];
        }
        return Math.abs(i);
        }

    static String change(String s) {
        byte abyte0[] = s.getBytes();
        char ac[] = new char[s.length()];
        int i = 0;
        for (int k = abyte0.length; i < k; i++) {
            int j = abyte0[i];
            if (j >= 48 && j <= 57)
                j = ((j - 48) + 5) % 10 + 48;
            else if (j >= 65 && j <= 90)
                j = ((j - 65) + 13) % 26 + 65;
            else if (j >= 97 && j <= 122)
                j = ((j - 97) + 13) % 26 + 97;
            ac[i] = (char) j;
        }
        return String.valueOf(ac);
     }
}