gpt4 book ai didi

apache-flex - 如何让 FlashBuilder 使用自定义命名空间前缀

转载 作者:行者123 更新时间:2023-12-04 18:50:50 25 4
gpt4 key购买 nike

我有一个组件库。它有一个 list 文件,如下所示:

<?xml version="1.0"?>
<componentPackage>
<component id="AutoComplete" class="be.edge.components.AutoComplete" />
<!-- more components left out for brevity -->
</componentPackage>

我使用以下编译器设置通过 FlashBuilder 编译库:

FlashBuilder library compiler namespace inputs

当我在其他 FlashBuilder 项目中使用编译库时,一切都按预期工作。我得到代码完成,当我从代码完成中选择一个建议时,命名空间属性会自动添加到组件中,如下所示:
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" 
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:ns="library://ns.edge.be" >

<ns:AutoComplete />

</s:Skin>

但是: FlashBuilder 会自动创建前缀“ns”。例如,我想将此自定义为“e”。如何让 FlashBuilder 默认使用这个自定义前缀?

我有两个原因:
  • 'ns' 什么也没说:它只是说已经使用了一个命名空间,而不是什么命名空间。
  • 当我使用其他以“library://ns”等网址开头的库时。 FlashBuilder 可能会开始对前缀进行编号以解决冲突(ns、ns1、ns2 等),这会更加困惑。

  • 编辑:

    我还将一个 config.xml 传递给编译器,该编译器具有以下与命名空间相关的声明:
    <compiler>
    <namespaces>
    <namespace>
    <uri>library://ns.edge.be</uri>
    <manifest>manifest.xml</manifest>
    </namespace>
    </namespaces>
    </compiler>

    <include-namespaces>
    <uri>library://ns.edge.be</uri>
    </include-namespaces>

    最佳答案

    这曾经有效:

    创建一个名为 design.xml 的文件在您的/src 文件夹中:

    <?xml version="1.0" ?>
    <design>
    <namespaces>
    <namespace prefix="mangos" uri="http://com.mangofactory.sample/mxml/2010" />
    </namespaces>
    </design>

    创建一个名为 manifest.xml 的文件在您的/src 文件夹中:
    <componentPackage>
    <component id="MyClass" class="com.mangofactory.framework.MyClassTag"/>
    </componentPackage>

    在构建属性中配置您的命名空间 URL 等:
    enter image description here

    这应该会导致 flash builder 提示如下:
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx"
    xmlns:mangos="http://com.mangofactory.sample/mxml/2010">
    <fx:Declarations>
    <mangos:MyClass />
    </fx:Declarations>
    </s:Application>

    (注意类显示为 MyClass 而不是 MyClassTag ,命名空间显示为 mangos )

    但是,我只是尝试这样做,尽管该类已正确重命名,但命名空间显示为 ns .我知道这曾经在 FB3.x 中工作过,也许我忘记了一个步骤,或者 FB4.5 已经破坏了它。

    关于apache-flex - 如何让 FlashBuilder 使用自定义命名空间前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6453919/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com