Eclipse零起步系列讲座 (二)(三) - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- Eclipse零起步系列讲座 (二)(三) (http://www.webasp.net/article/27/26139.htm) |
| -- 作者:未知 -- 发布日期: 2005-09-01 |
| Eclipse零起步系列讲座 (二) =========================================== (前言) 今天这篇侧重于eclipse的内部结构剖析,对于想开发插件的同志们,这些都是基础知识, 可以好好看看. 由于我写这个东西,也是随性发挥,想到什么就写什么. 而关于eclipse的 如何使用,如何用eclipse来开发一个java项目或其他项目之类的文章, 我想我会在以后 的文章中写到. 但我想对于要在开发eclipse上开发web项目,c项目或其他的话,你也要会 自己能安装相应的插件,才能开发,所以,这些基础知识的对于这些人来说还是很有必要的 . (正文) 上一回我们且说到eclipse的下载,安装,启动. 其中讲到eclipse目录结构时,你会发现有 两个目录,一个叫plugins,一个叫features,而且你会发觉就这两个目录就占了整个eclip se项目的9x%的空间,如果少了这两个目录,呵呵,eclipse根本就是空架子. 那这里面到底 存放了些什么东西呢, 让我们来研究一下. [什么是 plug-in] 我们来做一个比喻, 你买了一套新房子,买过来是毛坯房,然后你稍微装修一下,铺了地板 ,上了墙纸, 当然现在大家都要用家用电器, 没电咋行, 所以我们就要布好电线,装好电 源插座. 这个时候,你可以把这个房子想像成eclipse这个平台. 之后, 我们或许就要添 置家用电器了,比如电视, 音响等等, 等我们买好回家, 然后把电源往插座上一插, 那我 们就抱着孩子, 搂着老婆, 看电视, 听音乐, 舒舒服服的过上幸福美满的小生活了~~~ 同样的, eclipse的plug-in 也是同样的工作原理, plug-in 只要放到 lugins目录下, eclipse启动后就会自动给所有在这个目录下的plug-ins, 通上电, 那这 些plug-ins就会自动的运行起来, 美妙的eclipse界面也随之呈现在你眼前. 那接下来,让我们看看eclipse这个由插件组成的平台,到底是个什么样的架构 [Eclipse 平台架构]
public class A{
public static void main(String args[]){
System.out.println("Hello World");
}
}
8. 编辑好保存, 然后跳到菜单 -> run -> run as -> java application 9. 你可以看到console view中就冒出Hello World了 很easy把, 当然, 你会在开发中会遇到很多问题, 这是必然的, 那这些问题只能在实践 中积累才能得到解决, 所以不用急,多用用,多玩玩,遇到问题经常到版上来问 问. 还有如果你发现问题的话, 找问题解决方案的第一个地方,应该是eclipse的帮助系统里 的Java Development User Guide, 几乎绝大多数问题,上面都有答案. 所以 有空的话还是要多读一读. 不过,很多人都说用了eclipse之后,就抛弃了其他的java ide, 说明它必有爽的地方, 那 我来介绍一下用eclipse 开发java,有哪些爽的地方 [Java Development Tool (JDT) 特色] 其实特色有很多,我也只是凭我的开发经验, 介绍一下jdt的突出功能. 1. 自动修饰代码功能 这个功能很大程度上, 把平时一些开发代码中的琐碎的工作给自动化了 打开菜单 + Source - Comment: 这个比较有用,比如你写java代码,发觉你有一段代码要注 释掉,那就选中那一块代码,然后选这项,他就会自动把这段代码注释掉. 快捷 健是 "Ctrl+/" - Uncomment: 反注释, 操作方法和Comment差不多, 快捷键是 "Ctrl+\" - Format: 这个操作项是我一直推荐的, 非常方便, 比如你写了段格 式很烂的代码, 乱七八糟的, 那你就选择这项,你会发觉, 哇~~, 我的代码怎 么一下子变漂亮了, 不信你可以试试, 快捷键是"Ctrl+Shift+F", 所以我现在都养成习 惯了,写一会儿代码,就c+s+f一下, 呵呵,很方便的. - Sort Member: 这个不是很常用,但是如果你觉得代码太长,老是找不到函 数,,也可以试试. 他会帮你把你写的函数,变量重新排序 - Organize Import: 这个功能也是一个不用不爽的功能, 比如你编一个项目, 发现有很多import都没有用到,或者说你引用了一个类,但是你没有import, 结果编译不通过, 那都没关系, 一用这个,所有的问题迎刃而解. 至少我用这个之后, 就 从来没有写过import这类语句了. 快捷键是"Ctrl+Shift+O(是字母O,不是数 字0)", 我经常把这个和c+s+f一起用, 呵呵,人也变懒了不少 - Override/Implement Method: 这个比如你写一个类, 实现了某一个接口,但是 你还没有实现那个接口的函数, 那就用这个,它会自动搜索父类和接口的方 法,你可以选择要覆盖还是实现哪些函数 - Generate Getter and Setter: 如果你加了一个类变量, 要为它写getter和se tter,不用那么麻烦, 用这个把,都是自动的 - Generate Delegating Method: 如果某一个field要生成代理函数,用这个把, 选一下就ok - Add Javadoc Comment: 点中某一个你想要加javadoc的函数或类或变量,然后 选这项,它会自动帮你加好javadoc的头,包括你用的那些param或return - surround with try/catch block: 比如你有一段代码要处理某些exception, 可你又忘了用try/catch来写,别急,选中那段代码,然后选这项,你会发觉它会 自动针测你这段代码里要抛出哪些exception,并且自动生成好所有代码 - externalize string: 这个是在做国际化的时候用的,简单的说,就是把string 包在resource bundle里, 这也是i18n的一个解决方案,我想我以后会详细介 绍这方面的东西. 2. 重构功能: 重构这两年很热, 那让我们看看jdt里面的重构到底有多强. 呵呵, 这也是eclipse最吸 引我的一个地方. 打开菜单 + Refactor - Rename: 如果你写了一个类,你发觉这个类某个类变量的名字起的不太好听 , 你觉得不爽, 于是你就想改名字, 那怎么改呢, 就把那个变量名改了 ? 呵呵,没那么简单,因为你这个变量如果已经在某些函数里引用到,那编译要出错了, 而 且你根本就不知道你哪里引用了, 写了那么多代码,脑子都晕了, 那不是死 菜了吗? 别紧张, 用这个rename可以帮你解决一切问题, 它不仅可以帮你把变量的名字 改了,而且它还会自动搜寻所有这个变量被引用到的地方,然后把那些地方也 一起改了, 爽不爽啊, 给你省了很大的劳动力不是. - Move: 同样, 要移动一个实现了的静态函数或变量到别的类的话, 用这个移动, 保证不出错 - Modify Method Signature: 你设计函数不可能一下子就定型的,比如你一开始这 个函数有一个参数,后来发觉不对,要用两个, 那你就要用这个来改, 这 样它还会搜寻所有已经引用这个函数的地方, 并且把这些应用的地方也改掉,否则编译也 要出错的 - Extract Interface: 它可以帮你把一个类抽象成一个接口, 规范你的代码 - Extract Method: 如果你写了一段很长的函数, 但是这个函数有些代码有 重复利用性, 你就可以把给分割出来, 选中那段代码,然后选这项,系统会问 你抽出来的函数的定义, 然后它就会生成这段函数,把实现从原来函数那里抽出来,并在 原来函数那里写一个对这个新函数的引用,以保证程序不变性. - Extract Local Variable: 如果你发觉你函数里有些值都是通过一样的表达 式得到的,你就可以通过这项把这段表达式变成一个变量,并且把这个变量替 换到引用到表达式的地方 - Extract Constant: 抽取常量, 比如一个string= "eclipse", 你觉得很多 地方要用到, 那就抽出来变成一个常量 ECLIPSE, 就这么简单 - convert local variable to field : 这个看名字就知道, 不多说了 - encapsulate field: 这个和生成getter,setter有点类似, 但是不同的在于, 如果你有一个public的常量 var,并且已经在别处引用到了, 那你用生成 getter,setter肯定有问题, 因为引用的地方没改过来, 用这个的话,不仅会生成getter, setter,而且还会改掉所有引用的地方, 比如把var = ...;的地方改成 setvar(...), 把 ... = var地方改成 ... = getvar(); , 呵呵,够强把... 3. 敏感帮助: 这个jb之类的ide也有, 启动方式为"alt+/" , 你如果觉得这个不爽,可以选preference- >workbench->keys->edit->content assist 修改键值 而且,这个敏感帮助还有一个强的地方在于: 你如果想写一个for语句, 呵呵, 就打 for, 然后alt+/, 选一个for的生成方式, 一个完 成的for语句就出来了, 呵呵,eclipse多用用, 人都会变懒的 这个功能其实是jdt的模板功能,你也可以加自己用的模板, 具体在 preference-> java -> editor ->templates 加 4. Quick Fix功能: 比如我们来编一个类A, 如下: public class A {
public static void main(String args[]){
System.out.prin("Hello World");
}
}
编译是不通过的,print方法打错了, 打成prin了 所有你会发觉那一行的左边有个红差差,说明这行有错误,你把鼠标移到那个红差差上,它 会有一个提示出来,告诉你出了什么错了 这还不止,你还发觉在红差差左边有个电灯泡, 你点那个电灯泡,它会弹出框问你是chang e to print 还是change to println, 选择change to print, 它就自动帮 你改好了,呵呵,连改错都这么方便,太爽了. 当然,如果没有电灯泡的话,你就只能手动改 了,毕竟这东西没这么智能,可以帮你自动解决所有的问题 |
| webasp.net |