本文是对学习Eclipse源码的总结。
This class is not intended to be subclassed.如果你在阅读源码时,发现有这样的内容(或者有注解@noextend),那说明Eclipse不推荐你通过集成当前类来扩展一定的功能;换句话说,肯定还有其他的途径来实现你的需求。下面给出这样的几个列子: org.eclipse.jface.text.DefaultLineTracker org.eclipse.ui.console.MessageConsole(更多信息请搜索“自定义控制台”)
你可以选择最熟悉的部分开始,比如你最熟悉的插件。拿到该插件(部分可能已经在Eclipse的安装目录中了)后,可以从plugin.xml文件入手,找到感兴趣的部分——例如:新建类(Class)向导。这时候,你从插件的配置中,大概可以知道相关的类,然后继续跟踪该类的源码即可。 关于如何获取源码这件事,你可以使用jd-gui反编译来拿,也可以直接到对应的官网获取(很多插件还是开源的)。首先来说,这两种方法各有利弊,jd-gui翻译编译——操作起来简单;而要拿到插件的源码工程的话,你还需要导入进Eclipse中,然后还可能会遇到很多编译错误。 未完待续。。。