Preserve empty-element formatting across versions
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
Reproduce el comportamiento en XmlNotepad habilitando „Auto Format on Save“ y guardando XML que contenga un elemento vacío en ambas representaciones compatibles. Sigue la ruta del formateo al guardar a partir de esa reproducción y determina cómo la versión actual elige la representación. Se considera terminado cuando los guardados repetidos y las actualizaciones no introducen un formateo incoherente de los elementos vacíos, y el comportamiento está cubierto por una prueba de regresión adecuada si el proyecto proporciona una.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
When editing XML files with XmlNotepad and using Auto Format on Save, the representation of empty elements may change between versions.
For example, an empty element originally written as:
<Read Key="x" />
may be rewritten as:
<Read Key="x"></Read>
Both forms are semantically equivalent XML, so this is not a functional issue. However, it creates unnecessary noise in source control systems such as Git, especially in repositories where XML files are frequently reviewed and compared.
Expected behavior
When Auto Format on Save is enabled, XmlNotepad should preserve a consistent representation of empty elements.
Possible approaches:
-
Preserve the original style already present in the document.
-
Provide a formatting option allowing users to choose between:
- Self-closing tags (
<Tag />) - Explicit opening/closing tags (
<Tag></Tag>)
- Self-closing tags (
-
At minimum, avoid changing the formatting style between XmlNotepad versions.
Actual behavior
After upgrading XmlNotepad, saving an XML document may rewrite empty elements using a different representation than previous versions, generating large diffs with no semantic changes.
Why this matters
In environments where XML files are stored in Git:
- Reviews become harder because diffs contain formatting-only changes.
- Merges may become noisier.
- Upgrading the editor can unexpectedly modify many files.
The formatting style itself is not important; consistency is.
- Lenguaje dominante
- C#
- Estrellas
- 1.2k
- Forks
- 240
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/XmlNotepad
-
Dificultad 3/5 1-2 días Aptitud para principiantes 56/100
microsoft/XmlNotepad#542 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 54/100
microsoft/XmlNotepad#541 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
microsoft/XmlNotepad#532 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
microsoft/XmlNotepad#517 · 6 comentarios ·
-
Where are the sample templates?Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
microsoft/XmlNotepad#499 · 1 comentario ·
Todos los issues de microsoft/XmlNotepad
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
Esri/calcite-dotnet-toolkit#30 · 1 reacción ·
-
VideoViewer: rotated (portrait phone) videos shown sideways when system decimal separator is a commaAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Volodymyr-Petrunin/Bankomaten#45 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
thekid/inotify-win#45 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
AvaloniaUI/Avalonia#22420 ·
Los mantenedores suelen responder en 1 día