У меня есть библиотека компонентов. У него есть файл манифеста, который выглядит следующим образом:
<?xml version="1.0"?>
<componentPackage>
<component id="AutoComplete" class="be.edge.components.AutoComplete" />
<!-- more components left out for brevity -->
</componentPackage>
Я компилирую библиотеку через FlashBuilder со следующими настройками компилятора:

Когда я использую скомпилированную библиотеку в других проектах 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». Я хотел бы настроить это, например, на «е». Как я могу заставить FlashBuilder использовать этот пользовательский префикс по умолчанию?
У меня есть две причины для этого:
- 'ns' ничего не говорит: он просто говорит Использовано пространство имен , а не какое пространство имен.
- когда я использую другие библиотеки, которые также начинаются с URL-адреса, подобного 'library: // ns.' FlashBuilder, вероятно, начнет нумерацию префиксов для разрешения конфликта (ns, ns1, ns2 и т. Д.), Что еще более запутанно.
EDIT:
Я также передаю 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>