BaNg
Just Do It!
BlogJava
::
首页
::
联系
::
聚合
::
管理
33 Posts :: -1 Stories :: 177 Comments :: 0 Trackbacks
公告
静静等待小宝宝的降生!
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(7)
给我留言
查看公开留言
查看私人留言
我参与的团队
随笔分类
C++(3)
Eclipse(20)
Eclipse开发每日一转(+理解)(2)
Java(18)
人生(5)
数学
源代码分析(5)
网摘备用(5)
随笔档案
2009年7月 (1)
2009年6月 (3)
2009年2月 (2)
2008年12月 (7)
2008年11月 (6)
2008年10月 (1)
2008年9月 (1)
2008年8月 (3)
2008年7月 (3)
2008年5月 (1)
2008年4月 (4)
2008年3月 (1)
搜索
最新评论
1. re: 赌气做了一个JSF Table Component,分享源代码!
高手!
--凡客诚品网站
2. re: 赌气做了一个JSF Table Component,分享源代码!
评论内容较长,点击标题查看
--Always BaNg.
3. re: 赌气做了一个JSF Table Component,分享源代码!
SQL文件有乱码呢,楼主用Latin1编码?用UTF-8的把
--good
4. re: 赌气做了一个JSF Table Component,分享源代码!
但拿起来玩玩还是觉得Java真的很有生产力
--凡客诚品
5. re: Hello, dreamweaver! (PART 2)
佩服
--liudecai_zan@126.com
阅读排行榜
1. 一个平庸程序员的想法。(5494)
2. windows批处理中对带空格路径的处理(2621)
3. 当Maven遇上MyEclipse(2545)
4. 源代码才50K的eclipse中文properties编辑插件(更新)(2286)
5. Eclipse文件转码插件(2148)
评论排行榜
1. 一个平庸程序员的想法。(53)
2. 在你眼中Java是什么?(20)
3. Eclipse文件转码插件(14)
4. 源代码才50K的eclipse中文properties编辑插件(更新)(14)
5. 或许你不知道的一个调试功能(12)
或许有用的特性 Eclipse 3.4 Templates View
Eclipse3.4用了一段时间了,发现了很多新特性,API变化也很大,昨天凑巧发现了JDT Template View,Window->Show View->Templates View效果如下:
看得出来它是在JDT UI里面定义的,综合了jdt text editor template 如 Java开头的category 和custom editor template如SWT开头的category。对于我来说,SWT/Draw2d/Plugin的大量重复性代码就可以通过这个来完成了。将模板的代码插入到编辑器有两种方法,一种是直接拖拽到编辑器中,另一种是输入简写入如"execute",按Contxt Assist快捷键(一般为Ctrl+Space)。
除此之外,Templates View还可以维护template比如add/remove。Template的值以XML字串存放在.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.jdt.ui.prefs文件的org.eclipse.jdt.ui.text.custom_templates项
起初我以为Template View好像还没有提供什么NB功能,在Window->Preferences->Java->-Editor->Templates可以做同样的事情,但稍微看了一下代码,发现我错了:
Templates View是PageBookView,意味着它跟Properties View/Outline View一样,可以根据不同的Editor来显示不同的Page,比如上图JDT就是JavaTemplatesPage,如果编写一个DSL Editor需要用到Templates View,继承AbstractTemplatesPage,然后在Editor的getAapter()返回page,看Java Editor示例:
public
class
CompilationUnitEditor
extends
JavaEditor
implements
IJavaReconcilingListener
{
public
Object getAdapter(Class required)
{
if
(SmartBackspaceManager.
class
.equals(required))
{
if
(getSourceViewer()
instanceof
JavaSourceViewer)
{
return
((JavaSourceViewer) getSourceViewer()).getBackspaceManager();
}
}
if
(ITemplatesPage.
class
.equals(required))
{
if
(fTemplatesPage
==
null
)
fTemplatesPage
=
createTemplatesPage();
return
fTemplatesPage;
}
return
super
.getAdapter(required);
protected
JavaTemplatesPage createTemplatesPage()
{
return
new
JavaTemplatesPage(
this
);
}
}
当然,大部分人不需要写editor,我们可以在自己的插件里通过使用扩展点来org.eclipse.ui.editors.templates扩展JDT Template,比如我就在GEF项目里面加入了GEF Template,这样编写讨厌的EditPart/EditPolicy/Command就可以少些好多代码。
第一张图片看到的swt template就是在上图所示的default-swttemplates.xml里面定义好了的。
最后想告诉广大Eclipse爱好者的就是,Eclipse SDK写的代码真工整,果然是协作的结晶,整一个代码宝库,根本不用看
代码大全
了:)。
posted on 2008-08-29 23:20
Always BaNg.
阅读(1261)
评论(0)
编辑
收藏
所属分类:
Java
、
Eclipse
、
源代码分析
IT新闻
新用户注册
刷新评论列表
标题
姓名
主页
验证码
*
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2008-08-29 23:31 编辑过
相关文章:
赌气做了一个JSF Table Component,分享源代码!
Hello, dreamweaver! (PART 2)
Hello, dreamweaver! (Part 1)
GEF社区捐献的一个图形旋转(Rotation)的例子
GMF中使用动态模板(dynamic templates)
在你眼中Java是什么?
插件开发之:Common Navigator View (CNV) 通用导航试图
插件开发: 将View里面的对象托拽到Editor步骤
或许有用的特性 Eclipse 3.4 Templates View
GEF编辑器中定点action如paste等的解决办法
Copyright @ Always BaNg.
Powered by:
.Text
and
ASP.NET
Theme by:
.NET Monster