Complemento para eliminar los espacios en blanco finales antes de guardar

Versión corta: mi empresa está aplicando una regla de directriz de codificación que evita que se envíe código que tenga caracteres de espacio en blanco al final.

¿Existe un complemento para Visual Studio que elimine los espacios en blanco finales cada vez que se guarda un archivo?

Versión larga:

Hay muchas buenas razones para eliminar los espacios en blanco finales del código fuente:

  • ocupa más espacio de almacenamiento del necesario
  • cuando presiona la Endtecla en algunos editores, el cursor no va al lugar esperado
  • todos los que tienen antecedentes de autoedición odian los espacios duplicados y los espacios en blanco al final porque hacen que el texto se rompa de forma extraña
  • el compilador necesita más tiempo para compilar
  • algunos editores pueden aplicar un ajuste de línea debido al carácter adicional cuando alcanza el límite de caracteres
  • se rompevim
  • algunos lenguajes de programación como Python pueden fallar al compilar con espacios en blanco en cadenas de varias líneas
  • TCL no puede compilar con espacios en blanco
  • puede estropear el diff

Aunque algunas de las razones podrían evitarse por medios técnicos, quiero respetar las pautas de codificación. Pero aún así, me resisto a buscar espacios en blanco con mis ojos. Es tan... invisible.

El complemento debe

  • trabajar en VS 2015 y posteriores
  • eliminar espacios en blanco finales irrelevantes
  • mantener espacios en blanco potencialmente relevantes (por ejemplo, en cadenas de varias líneas)

Idealmente (opcional, pero preferido):

  • resalta espacios en blanco irrelevantes y potencialmente relevantes en el editor mientras se escribe
Python nit: todo vale en una cadena de varias líneas. Pero los espacios en blanco finales después de un carácter de continuación de línea explícito causarán un problema.
No quiero faltar al respeto, pero ¿estás seguro de que VS no viene con una configuración para esto? Es una característica muy común en editores grandes y pequeños. La opción "mostrar espacios en blanco" también es bastante común. Aunque diré que la función de recorte automático prácticamente siempre (si no siempre) se implementa sin saber si el espacio en blanco es lógicamente relevante. Solo pasa por líneas físicas.

Respuestas (1)

Bueno, todavía es difícil para mí creer que el editor de cualquier programador serio, y mucho menos un IDE con todas las funciones, carezca de esta función, pero si realmente la necesita, está Trailing Whitespace Visualizer , que le permite resaltar espacios en blanco y/o recortar espacio en blanco final al guardar (o bajo demanda). Dice que funciona con VS 2013, 2015 y 2017.

No puedo estar seguro de que esto conserve espacios en blanco lógicamente significativos. Pero no conozco ningún recortador de espacios en blanco que verifique esto (sería relativamente complicado y dependería del lenguaje de programación). En mi experiencia, no hay mucho código en la naturaleza que requiera que se conserven los espacios en blanco finales, incluso en cadenas de varias líneas. (Si son de varias líneas, generalmente están destinados a mostrarse en una pantalla, donde los espacios en blanco no importan o se eliminan automáticamente de todos modos. Si se requiere un control preciso de los espacios en blanco, modifique su código para usar múltiples cadenas concatenadas de una sola línea .)

Preguntas más antiguas, pero también vale la pena consultar otras opciones:

También funciona en 2019. La versión para 2022 está en la rama maestra del repositorio, pero no se ha publicado. La compilación de CI en AppVeyor tiene más de un mes, por lo que el artefacto resultante se eliminó. :-(
Pude encontrar esta herramienta para VS2022 mediante una búsqueda en el menú "Extensiones".