如何阻止Flash Builder缓存-load-config指定的编译器配置文件

时间:2014-07-11 18:42:45

标签: actionscript-3 flash caching flash-builder config

每当我尝试更改编译器常量时,似乎我必须:

  • 执行项目 - >清洁
  • 关闭 Flash Builder
  • 等待它完全关闭(它是否可以保存工作区......)
  • 重新启动 Flash Builder (并再次等待它完成加载......)
  • 重新构建所有(有3个项目依赖于彼此)。
  • 测试运行/调试它(或导出发行版)。

这非常烦人且耗时。是否有我可以设置的设置,以便Flash Builder始终读取我已经制作的自定义编译器config.xml文件中的最新更改?

它基本上包含这样的东西: enter image description here

对版本#这么简单的事情进行更改会变成一个漫长的过程。

有任何解决方法吗?

1 个答案:

答案 0 :(得分:1)

我不是Flash Builder的用户,所以请注意这一点。一些可能的解决方法:

在项目中定义常量

你的问题似乎是Flash Builder没有在外部文件中进行更改 - 从谷歌上的一些快速搜索来看,它似乎是一个非常常见的问题,除了你所做的之外没有特别的解决方案。做(或回到4.6)。

要在项目中声明您的功能,请转到项目设置> ActionScript编译器附加编译器参数下添加常量,如下所示:

-define+=COMPILE::LANG_EN,true
-define+=COMPILE::LANG_FR,false
...

每个人都需要在一个单独的行上,可能需要将COMPILE替换为CONFIG(默认值)

使用ANT构建项目

设置可能有点痛苦,但一旦完成,你应该没事。您应该可以这样声明它们:

<mxmlc ... > 
    <define name="CONFIG::LANG_EN" value="true"/> 
    <define name="CONFIG::LANG_FR" value="false"/> 
</mxmlc>

取自http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7abd.html

在代码中定义常量

可以直接在代码中定义编译常量,尽管它只适用于它声明的代码块(例如类级别)。根据您的需要(例如,如果您设置不同的值与实际删除代码),这可以做您需要的(例如,在常量类上设置,根据不同的常量设置值)编译const。然后在整个代码中使用这些常量)

package
{
    config namespace COMPILE;
    COMPILE const LANG_EN = true;
    COMPILE const LANG_FR = !COMPILE::LANG_EN;

    public class MyClass
    {
        public function MyClass()
        {
            this.sayHello();
        }

        COMPILE::LANG_EN
        public function sayHello():void
        {
            trace("hello");
        }

        COMPILE::LANG_FR
        public function sayHello():void
        {
            trace("bonjour");
        }

        public function foo():void
        {
            COMPILE::LANG_EN { trace( "foo" ); }
            COMPILE::LANG_FR { trace( "bar" ); }
        }

    }
}

更改IDE

FlashDevelop可以成为你的朋友。在办公室,我在FlashDevelop上工作,其他一些开发人员使用FlashBuilder。每个人都有自己的优点。

我们使用第一种方法定义的编译器常量,用于需要删除代码块的情况(即支持移动和Web构建),并且我们将嵌入式XML用于其他&#34;常量&#34;取决于构建;版本,服务器ip,api密钥等。在后者的情况下嵌入哪种XML取决于单个编译器const。