Como con la mayoría de las cosas, estoy seguro de que este concepto se ha probado antes, simplemente no me he encontrado con editores que usen lo que he denominado 'formato virtual'. El principio es que hay un margen izquierdo flotante que simula el efecto del espacio de relleno / caracteres de tabulación que el desarrollador o el editor mismo insertan convencionalmente para formatear el código. El editor analiza continuamente el código (incluso cuando está comentado) a medida que escribe y calcula la sangría requerida en función del contexto donde se encuentra cada avance de línea
Estoy desarrollando esta idea trabajando específicamente con un editor XML, ya que XML tiene algunos problemas peculiares con el formato de los caracteres y tiende a estar muy anidado, sin embargo, creo que muchos de los principios aún se mantienen para el código convencional.
¿Ha experimentado la codificación con una herramienta de este tipo o tiene una opinión sobre si ayudaría o dificultaría? ¿Causaría problemas con los sistemas de control de versiones? (detecta y elimina todos los caracteres de relleno existentes)
A menos que lo haya probado, el comportamiento de dicha herramienta es difícil de describir, parece convencional hasta que realmente comienza a editar. Puse un video de screencast que muestra un prototipo en acción que demuestra la edición de XML, cambiando su jerarquía y haciendo operaciones de arrastrar / soltar y copiar y pegar, y luego cómo el formato se rompe / arregla cuando se escriben caracteres no válidos.
Editar Todas las respuestas / comentarios han sido negativos hasta ahora, por lo que para intentar equilibrar el equilibrio, hay que pensar en algunos beneficios del formato virtual:
- No más debates sobre estándares de formato, solo coloque saltos de línea donde eso se ajuste a su convención elegida / obligatoria
- Cuando el espacio es escaso (en un libro / blog / documentación) puede ajustar las palabras pero aún así obtener una sangría perfecta
- Cada bloque de código puede tener un 'controlador de mouse' inmediatamente adyacente al lugar donde comienza, no apretado en el borde de la pantalla; haga clic aquí para seleccionar el bloque completo o el bloque interno
- Arrastra, suelta y olvida: se vuelve viable por primera vez
- No pasa tiempo reformateando el código de otras personas
- No hay código con formato incorrecto (en el sentido de que no hay ninguno, solo el renderizado)
- Usar Retroceso en lugar de Ctrl + Retroceso mantiene los dedos en las teclas de guía del teclado
- Procesamiento flexible: adapte el formato procesado a su entorno, ¿alguien intentó leer el código en un teléfono móvil / tableta de pantalla pequeña?
- Tenga en cuenta que hay aproximadamente un 25% menos de caracteres editables (en una muestra XSLT), ¿eso no tiene beneficios de eficiencia?
Editar - Conclusiones hasta ahora
Los desarrolladores han establecido herramientas y métodos de trabajo que superan eficientemente la mayoría de las desventajas inherentes al uso de caracteres de relleno utilizados para la sangría.
Existe la preocupación de que la eliminación de caracteres de formato afectará negativamente a algunas herramientas de diferenciación.
Los desarrolladores desean la flexibilidad para 'ajustar' el formato de tal manera que el renderizado automático no pueda manejarlo.
La eliminación de espacios / pestañas iniciales significa que se necesita una herramienta 'consciente del código' capaz de formatear el código para revisar dicho código de manera eficiente; un editor de texto sin formato no mostraría formato.
Aquellos que sienten que puede haber algunos beneficios hipotéticos (a la sangría virtual), tienen la opinión de que las desventajas superan esos beneficios potenciales, de manera concluyente .
Editar - Veredicto
La percepción de los obstáculos y los pocos beneficios (si los hay) es tal que no sería prudente para mí, como desarrollador exclusivo, seguir este concepto de edición libre de espacio para los idiomas generales. Sin embargo, para XML / XSLT (debido a su tratamiento especial del espacio en blanco), parece haber al menos algún acuerdo de potencial.
Editar - Producto enviado
A pesar del sentimiento generalmente negativo que se encuentra aquí, seguí adelante y envié al editor. Hice una versión gratuita con la esperanza de que traiga críticas en forma de problemas más concretos, basados en la experiencia real. De manera algo frustrante, no ha habido quejas hasta el momento (de hecho, apenas hay comentarios sobre el volumen de descarga). Me gustaría pensar que esto se debió a que los usuarios se ajustaron tan bien a la idea que lo ven como un "¿y qué?" tipo de característica, pero no hay forma de saber ...