FlashDevelop中的自动完成功能不适用于包含的文件

时间:2011-01-18 09:46:12

标签: flex actionscript-3 flashdevelop

为什么自动填充不能用于包含* .as文件中函数的局部变量?例如:

Main.mxml:

<fx:Script>  
<![CDATA[
  include "code.as";     // or <fx:Script source="code.as"/>, doesn't matter  
]]>  
</fx:Script>

code.as:

import mx.controls.Button;
var foo:Button = new Button();
foo.   <---- autocompletion is working here

function myFunc() {
  var bar:Button = new Button();
  bar.   <----- doesn't work
}

1 个答案:

答案 0 :(得分:3)

自动完成仅在导入代码类时或者类扩展.as类时才有效。 必须是一个班级。当你使用'include code.as'时,code.as不是一个类,它基本上只是变量,导入和函数的集合,所以自动完成不能像类一样访问它。

代码隐藏模式类似于您的操作(从mxml中分离逻辑),并允许atuocompletion。使用它:

  1. 创建一个Actionscript类 扩展您的MXML控件 想用例如HBox或UIComponent
  2. 把你们所有的逻辑都放在这里 Actionscript类。
  3. 然后创建一个MXML类 扩展了Actionscript类。
  4. 代码完成将在您的新自定义MXML类中工作,以访问公共/受保护的变量和函数。