雪湖小札@blogjava

心情与技术文档同行 http://hi.baidu.com/jingleq

BlogJava 首页 新随笔 联系 聚合 管理
  24 Posts :: 2 Stories :: 4 Comments :: 0 Trackbacks

  进一步深入Snippets。
  在Script头里面有一个DOM属性,他确实是库的引入功能。如DOM:http://download.eclipse.org/technology/dash/update/org.eclipse.eclipsemonkey.lang.javascript就是引入了在plug-in中org.eclipse.eclipsemonkey.lang.javascript_0.1.10.15171.jar中所包函的类库,他是DOM的一个扩展,所以带给了我们了一些内置的变量来提高我们的开发效率,如:resources,views,io,editors。在Eclipse Monkey Example中,这些内置变量出现的用法为
  resources//资源对象
  var files = resources.filesMatching(".*\\.java"); \\找到所有.java文件
  views//视图对象
  var webView = views.getView("GooleWebView"); \\生成一个视图
  editors//编辑器对象
  var editor = editores.activeEditor;\\得到一个活动的编辑器
  具体这些变量还有什么属性和方法,我参考了在org.eclipse.eclipsemonkey.lang.javascript_0.1.10.15171中的原代码,如resources类,找到org.eclipse.eclipsemonkey.lang.javascript_0.1.10.15171\src\org\eclipse\eclipsemonkey\lang\javascript\doms\resources下的Resources.java,可以发现类里面就对应有一个filesMatching方法,而对于editores,在其构造函数中找到如下代码:
   String[] names = new String[] {
     //"open",
     "toString"
     };

   this.defineFunctionProperties(names, Editors.class, PERMANENT | READONLY);

   this.defineProperty("all", Editors.class, PERMANENT | READONLY);
   this.defineProperty("activeEditor", Editors.class, PERMANENT | READONLY);
这就告诉我们这个变量里面,我们可以使用all,activeEditor属性和toString方法。
  另外在plugins\com.aptana.ide.scripting_0.2.8.15171\docs中,提供了部分的js的接口,里面有描述部份变量和对象的使用,如Editors.js,File.js,Global.js等。

  在上一节中,我提到了一个问题就是在我编写的打开程序所在的文件夹时候,只能打开aptana方式打开的视图的文件,通过追查源码,我发现,aptana中提供的editor有css,html,js,php,xml这些编辑器类中都有提供了一个getFileContext()方法,而这是eclipse原来的视图所不一定具有的,所以提示错误为找不到getFileContext()方法。

  Snippets是一个辅助工具,灵活简单,特别是在文本处理上能提供很好的帮助。但是他的功能还是受到局限,开发复杂的操作还是选用eclipse的plug-in功能为好。其待Snippets有很好的发展。

posted on 2007-06-12 16:26 csnowfox 阅读(472) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: