rogalmic / vscode-xml-complete

XML editing helper (using XSD schemaLocation)
MIT License
28 stars 16 forks source link

[XAML/AXAML] Experimentally generate XSD from C# workspace #56

Open BinToss opened 1 year ago

BinToss commented 1 year ago

This experiment is better suited for an XAML/AXAML-specific extension, but only one exists and it is specifically for NoesisGUI.

Why?

As it is, this extension's Avalonia schema is convenient, but comes with major drawbacks for both end-users and maintainers.

The current Avalonia completion source is outdated and partially incompatible with the latest major release of Avalonia: 11.0.0. This release included several breaking changes from the previous major release, 0.10.0. The AvaloniaUI organization provides a upgrade guide for API consumers.

How?

Generating XSD from C# workspace symbols will require either communicating with ms-dotnettools.csharp and/or ms-dotnettools.csdevkit or a first-party solution for analyzing the project's dependency tree for Avalonia assemblies and third-party Avalonia add-ons (those that depend on Avalonia).

Currently, I use Avant Garde's ability to export Avalonia's schema, but it's currently generated from the Avalonia version targeted by Avant Garde rather than the version targeted by the project project. This may be changed later.