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
}
Why doesn't autocompletion work for function's local variables in included *.as files? For example:
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
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
仅当导入代码类或扩展了 .as 类时,自动完成功能才会起作用。 必须是一个类。当您使用“include code.as”时,code.as 不是一个类,它基本上只是变量、导入和函数的集合,因此自动完成功能无法像类一样访问它。
代码隐藏模式与您所做的类似(将逻辑与 mxml 分离),并且允许自动完成。要使用它:
扩展您的 MXML 控件
想要使用例如 HBox 或 UIComponent
动作脚本类。
扩展 Actionscript 类。
代码完成将在新的自定义 MXML 类中工作,用于访问公共/受保护的变量和函数。
Autocompletion will only work if a code class was imported, or if a class extended an .as class. Has to be a Class. When you use 'include code.as', code.as is not a class, its basically just a collection of variables, imports and functions, so autocomplete cannot access it like a class.
The code-behind pattern is similar to what your doing (seperating logic from the mxml), and allows for atuocompletion. To use it:
extends an MXML control that you
want to use e.g. HBox or UIComponent
Actionscript class.
extends the Actionscript class.
Code completion will work in your new custom MXML class for accessing public/protected variables and functions.