Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Preserve empty-element formatting across versions

Abierto
#500 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
csharp
Área
desktop

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

Image

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>)
  • 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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/XmlNotepad

Todos los issues de microsoft/XmlNotepad

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.