XMLQuire es un editor XML desarrollado para Windows para mostrar el formato virtual. Este concepto va un paso más allá que tabStops elásticas, la sangría es simplemente una función de la posición del carácter de avance de línea precedente y el nivel de anidamiento y el contexto evaluado por el analizador sintáctico:
![Code formatted using virtual formatting](https://i.stack.imgur.com/iXBEV.png)
Es el analizador sintáctico XML que determina el nivel de anidamiento y, por lo tanto, la sangría requerida, no hay tecla de reformateo o tecla de tabulación para presionar, el formato XML simplemente se vuelve a refluir a medida que edita, arrastra, suelta, etc.
Esto significa que XML siempre está apropiadamente sangrado, pero sin tabulaciones o espacios iniciales. El concepto también debería funcionar para un código más convencional (excepto para lenguajes como F # que explotan espacios en blanco), pero esto aún no se ha probado.
Tenga en cuenta que, a diferencia de las pestañas elásticas, el formato virtual solo funciona desde el margen izquierdo y solo usa el contexto del analizador. Sin embargo, el contexto del analizador es más que un nivel de anidamiento, factores como el contenido mixto, el tipo de nodo, la longitud del nombre del elemento principal y el nombre del atributo entran en la ecuación. Esto permite la alineación de atributos y valores de atributos que también ocurren en las nuevas líneas (como se muestra).
El texto envuelto en Word simplemente se ajusta al esquema de sangría. Si se requiere un formato de texto adicional, el usuario agrega caracteres espaciales de la manera convencional.
Al igual que con las pestañas elásticas, existe un problema potencial cuando se abre texto con formato virtual en un editor más convencional. Sin embargo, dado que no se han agregado caracteres para el formato XML (todo era virtual), los editores convencionales simplemente pueden aplicar el formato convencional de acuerdo con la configuración de ese editor, usa pestañas o espacios.
Sí, espero que recibas respuesta porque me muero por esta característica en Eclipse o Komodo. –
Nota: Sublime Text lo admite mediante un complemento, https://github.com/SublimeText/ElasticTabstops – Annan
http://nickgravgaard.com/elastic-tabstops/#current-implementations –