XAF Model Editor Launcher
Community extension. This project is not affiliated with, endorsed by, or
sponsored by DevExpress. DevExpress and XAF are trademarks of their
respective owner.
Extensión de Visual Studio Code para compilar un módulo DevExpress XAF y abrir
su archivo .xafml con la versión correspondiente de XAF Model Editor.
Requisitos
- Windows 10 u 11.
- Visual Studio Code 1.95 o posterior.
- .NET SDK disponible mediante
dotnet.
- Una instalación local de DevExpress que incluya XAF Model Editor.
- Dependencias NuGet del proyecto restaurables desde sus fuentes configuradas.
La versión 1.0 se ha validado con DevExpress 24.1 y 25.2. Esto no implica
compatibilidad universal con todas las versiones o configuraciones de XAF.
Uso
- Abra un proyecto XAF en Visual Studio Code.
- Haga clic derecho sobre un archivo
.xafml.
- Seleccione Open with XAF Model Editor.
- La extensión localiza el proyecto y el editor, resuelve el
TargetPath,
compila el framework seleccionado y abre XAF Model Editor.
El build usa temporalmente
-p:CopyLocalLockFileAssemblies=true para colocar las dependencias requeridas
junto al módulo. La extensión no modifica .csproj, Directory.Build.props,
Directory.Packages.props, PackageReference, código fuente ni archivos
.xafml. El build puede actualizar sus salidas normales bin y obj.
Settings
xafModelEditor.executablePath: ruta opcional a un ejecutable de Model
Editor. Tiene prioridad sobre la detección automática.
xafModelEditor.buildBeforeOpen: compila antes de abrir. Valor predeterminado:
true.
xafModelEditor.configuration: configuración Debug o Release. Valor
predeterminado: Debug.
xafModelEditor.autoDetect: permite buscar automáticamente una instalación
cuando no hay una ruta manual válida. Valor predeterminado: true.
xafModelEditor.preferX64: prioriza el ejecutable x64 cuando está disponible.
Valor predeterminado: true.
xafModelEditor.theme.enabled: fuerza el launcher temático experimental,
independientemente del tema activo en VS Code. Valor predeterminado: false.
xafModelEditor.theme.followWorkbench: aplica automáticamente el skin
configurado cuando VS Code usa un tema oscuro. Valor predeterminado: true.
xafModelEditor.theme.skinName: nombre del skin solicitado. Ejemplos:
DevExpress Dark Style, Office 2019 Black y WXI.
xafModelEditor.theme.paletteName: palette opcional. Para WXI, un ejemplo
es Darkness.
xafModelEditor.theme.fallbackToDirectLaunch: abre directamente el editor
si el helper falla antes de invocar su EntryPoint. Se recomienda mantenerlo
habilitado.
xafModelEditor.theme.launcherPath: ruta opcional al helper .NET. Vacía usa
el artefacto incluido con la extensión.
Progreso y cancelación
La operación muestra progreso cancelable. La cancelación interrumpe las
consultas dotnet msbuild y la compilación dotnet build, incluyendo sus
procesos hijos en Windows. Si se solicita antes del lanzamiento, XAF Model
Editor no se abre.
La misma ruta .xafml no puede abrirse dos veces mientras una operación está
activa. Archivos distintos sí pueden procesarse simultáneamente.
Diagnóstico
Abra Output > XAF Model Editor para consultar el framework seleccionado,
la versión de DevExpress, el ejecutable, la duración del build, las dependencias
encontradas y los errores completos. Cada ejecución conserva un bloque separado
con timestamp.
Desarrollo
npm install
npm run check
Use F5 para iniciar un Extension Host de desarrollo.
Temas experimentales
Al abrir el editor, la extensión consulta el tipo del tema activo de VS Code.
Con theme.followWorkbench habilitado, un tema oscuro activa automáticamente
el skin configurado en theme.skinName. Esta integración hereda el modo
claro/oscuro, no la paleta exacta del tema, porque el Model Editor utiliza skins
propios de DevExpress.
DevExpress no documenta una API pública para tematizar el XAF Model Editor
standalone. El helper opcional intenta cargar el editor y aplicar
UserLookAndFeel por reflexión; puede dejar de funcionar entre versiones y un
skin o palette puede no existir en una instalación concreta.
El launcher no modifica ejecutables ni DLL, no parchea binarios y no incluye
DLL propietarias de DevExpress. Solo carga archivos ya presentes junto al Model
Editor o al módulo XAF. Para volver al comportamiento estable, desactive
xafModelEditor.theme.enabled. Se recomienda conservar el fallback directo.
La extensión incluye helpers x86 y x64. Selecciona x64 para ejecutables cuyo
nombre contiene .x64. y x86 para el Model Editor estándar. Esto permite
aplicar el skin a la instalación 24.1 no-x64 y a la instalación 25.2 x64
validadas durante el desarrollo. DevExpress 25.2 x64 también fue validado con
WXI/Darkness.
El diagnóstico detallado se guarda en:
%TEMP%\XafModelEditorLauncher\theme-launcher.log