Flash Builder 4 Beta 2 新功能概览 New Features of Flash Builder 4 Beta 2

flash_builder_logo 本篇文章基于若干ADC的Flash Builder v4b2介绍文章及作者的实际试验。

Ctrl + Alt + H Call Hierarchy View 函数/方法调用层次关系

目的:用于了解代码运行

功能:利用它,我们可以轻松了解某个函数被哪些函数调用。

用法:如下图所示,ListBase.itemRenderer()被ListBase.addToFreeItemRenderers, DataGridBase.createColumnItemRenderer, List.createItemRenderer等所调用。假如我们想了解ListBase.addToFreeItemRenderers又是在哪里被调用,点击它前面的加号即可,依次类推。

image

Call Hierarchy 不是Flex Builder的独创,在Eclipse的Java编辑器中,选中一个method,按Ctrl + Alt + H也是打开Call Hierarchy. Visual Studio 2010 也开始支持。

Vector: To Use or Not to Use, That's the Question 想说爱你不容易之Vector

根据Adobe提供的各方资料,Flex Builder 4对Vector提供全面支持,包括IDE里面的code assistance及性能提升。Vector就是一种typed Array,也就是说Vector里面的所有元素必须是同种类型,这样的限制大大减少了编程的混乱,正如Java后来加上的generic。理论上来说,Vector性能也应该比Array高,然而我的测试显示却是Array更胜一筹:[Flex SDK v3.4; Flash Player v10]

测试代码:

public static const CYCLES:int = 1000000;

private function testvec():void {
  var vec:Vector. = new Vector.();
  var array:Array = new Array();
  // initialize
  for(var i:int = 0; i < CYCLES; i++) {
    var s:String = StringUtils.randomUpperCasesAndDigitsString(5);
    vec[i] = s;
    array[i] = s;
  }
  trace("Cycles: " + CYCLES);

  // performance testing.
  var startTime:int = getTimer();

  var stringsStartWithA_vec:int = 0;
  for(var i:int = 0; i < vec.length; i++) {
    var s:String = vec[i];
    if(s.charAt(0) == "A") {
      stringsStartWithA_vec++;
    }
  }
  trace("[Vector] Strings start with A: " + stringsStartWithA_vec + ", time taken: " + (getTimer() - startTime) + "ms");

  var stringsStartWithA_array:int = 0;
  startTime = getTimer();
  for(var i:int = 0; i < array.length; i++) {
    var s:String = array[i];
    if(s.charAt(0) == "A") {
      stringsStartWithA_array++;
    }
  }
  trace("[Array] Strings start with A: " + stringsStartWithA_array + ", time taken: " + (getTimer() - startTime) + "ms");
}

image

Generate Getter/Setter (menu path: Source->Generate Getter/Setter) 生成Getter/Setter

与Java不同,Flash Builder 一次只能为一个variable生成,很繁琐,鸡肋。

Correct Indentation Ctrl + I 修正缩进

可以修正整个文件或者选中部分。不建议修正整个文件,建议谨慎修正部分选中代码。注:粘贴代码时,Correct Indentation可能处理对被粘贴部分。

CamelCase Code Assistance 首字母缩写(大写)代码提示

type "DGC", 然后按Ctrl + Space。如果type "dgr"再按Ctrl+Space则不工作。

image

Debug Run To Line Ctrl + R And Conditional Breakpoints

在Debug时候如果需要跳过多行,可以将游标移到目标行,Ctrl + R即可. 给breakpoint设置条件,如i == 500时才trigger breakpoint来debug第500个循环。

 

其他各项显而易见或者直接使用的功能一概略过。