Flash Builder中自定义元数据标签的代码补全

上一篇文章我们谈到了怎样自定义元数据标签。那又能不能实现自定义元数据标签在Flash Builder中代码补全呢?也许有人要问,这又有什么意义呢?好吧,准确地说对于新手和我这种懒人意义重大;对于那些熟手和记忆好的人,有没有代码补全功能都行。那又怎样才能在项目中启用针对自定义元数据标签的代码提示?简单地讲,需要生成包含metadata.xml文件的SWC 文件。

其实,对于使用第三方 Flex 框架时引入的自定义元数据标签,从Flash Builder 4.5开始就支持代码补全功能了。具体方法大家可以参考Adobe Flash Builder官方在线帮助中相关部分。至于怎样编写metadata.xml,官方没有参考文档。大家可以打开Flash Builder安装目录frameworks下的metadata.xml来参考。小结了一下,metadata.xml大致结构如下:

  1. 根元素annotations下可以有一个或多个metadata子元素;
  2. 每个metadata元素都有name属性,description属性可选,主要描述该元数据标签的功能。如果描述中使用了%变量,请将metadata.xml与源代码一起打包;
  3. 每个metadata元素都有一个或多个context子元素。每个context元素都有name属性,属性值可以是class、variable、getter、setter或method。showHint属性可选,默认值为true。type属性可选;
  4. metadata元素可以没有也可以有一个或多个attribute子元素。
  • attribute子元素都有name属性;
  • type属性可选,可以是String、Number、Class或Boolean;
  • required属性可选,默认值为true;
  • defaultValue属性可选;
  • hint属性可选,通常为boolean或classes,提示为true|false或多个类以选择;
  • hintType属性可选,当hint=”classes”时对其筛选;
  • values属性可选,通常提示为多个枚举值以选择;
  • description属性可选,主要描述该属性的功能。如果描述中使用了%变量,请将metadata.xml与源代码一起打包;

好了,大家感兴趣的话,也可以参考FlexUnit4的metadata.xml。遗憾的是,FlexUnit最新版4.1.0-8打包时并没包含metadata.xml,即使是Flash Builder 4.7默认也不支持FlexUnit自定义元数据标签的代码补全。好在官方已经承诺在4.1.1版本中修正这个Bug。

顺便说一下,IntelliJ内置了Parsley、FlexUnit4自定义元数据标签的代码补全功能,这一点比Flash Builder强。

发表评论