¿Es posible configurar Visual Studio 2008 para eliminar automáticamente los espacios en blanco al final de cada línea al guardar un archivo? No parece haber una opción incorporada, ¿hay extensiones disponibles para hacer esto?
122
¿Es posible configurar Visual Studio 2008 para eliminar automáticamente los espacios en blanco al final de cada línea al guardar un archivo? No parece haber una opción incorporada, ¿hay extensiones disponibles para hacer esto?
Respuestas:
CodeMaid es una extensión de Visual Studio muy popular y lo hace automáticamente junto con otras limpiezas útiles.
Lo configuré para limpiar un archivo al guardar, que creo que es el predeterminado.
fuente
Buscar / reemplazar usando expresiones regulares
En el cuadro de diálogo Buscar y reemplazar, expanda Opciones de búsqueda , marque Usar , elija Expresiones regulares
Encuentra qué : "
:Zs#$
"Reemplazar con : ""
haga clic en Reemplazar todo
En otros editores (un analizador normal de expresiones regulares) "
:Zs#$
" sería "\s*$
".fuente
[^\S\r\n]+(?=\r?$)
[:Zs\t]#$
es una adaptación útil.Puede crear una macro que se ejecute después de guardar para hacer esto por usted.
Agregue lo siguiente al módulo EnvironmentEvents para sus macros.
He estado usando esto por algún tiempo sin ningún problema. No creé la macro, pero la modifiqué de la de ace_guidelines.vsmacros que se puede encontrar con una búsqueda rápida en Google.
fuente
Antes de guardar, puede utilizar el acceso directo de formato automático CTRL+ K+ D.
fuente
Puede hacer esto fácilmente con estas tres acciones:
Ctrl+ A(seleccionar todo el texto)
Editar -> Avanzado -> Eliminar espacio en blanco horizontal
Editar -> Avanzado -> Selección de formato
Espera unos segundos y listo.
Es Ctrl+ Z'capaz en caso de que algo salga mal.
fuente
Tomando elementos de todas las respuestas ya dadas, aquí está el código con el que terminé. (Principalmente escribo código C ++, pero es fácil verificar si hay diferentes extensiones de archivo, según sea necesario).
¡Gracias a todos los que contribuyeron!
fuente
Puede usar una macro como se describe en Eliminar espacios en blanco y reescribir comentarios, usando búsquedas de expresiones regulares
fuente
Estoy usando VWD 2010 Express donde las macros no son compatibles, desafortunadamente. Así que simplemente copiar / pegar en Notepad ++ menú superior izquierda
Edit
>Blank Operations
>Trim Trailing Space
hay otras operaciones disponibles también. Luego copie / pegue nuevamente en Visual Studio.También se puede usar NetBeans en lugar de Notepad ++, que tiene "Eliminar espacios finales" en el menú "Fuente".
fuente
A menos que este sea un proyecto de una sola persona, no lo haga. Debe ser trivial diferenciar sus archivos locales contra su repositorio de código fuente, y borrar espacios en blanco cambiaría las líneas que no necesita cambiar. Entiendo perfectamente; Me encanta que mi espacio en blanco sea todo uniforme, pero esto es algo a lo que debes renunciar por una colaboración más limpia.
fuente
Creo que la versión de Jeff Muir podría mejorarse un poco si solo recorta los archivos de código fuente (en mi caso C #, pero es fácil agregar más extensiones). También agregué una verificación para asegurarme de que la ventana del documento sea visible porque algunas situaciones sin esa verificación me muestran errores extraños (LINQ to SQL files '* .dbml', por ejemplo).
fuente
Personalmente, me encanta la extensión Trailing Whitespace Visualizer Visual Studio que tiene soporte hasta Visual Studio 2012.
fuente
Creo que tengo una versión de esta macro que no bloqueará VS2010 en el refactorizador, y tampoco bloqueará el IDE al guardar archivos que no sean de texto. Prueba esto:
fuente
Utilizo ArtisticStyle (C ++) para hacer esto y también reformateo mi código. Sin embargo, tuve que agregar esto como una herramienta externa y debes activarlo tú mismo para que no te guste.
Sin embargo, me parece excelente poder reformatear el código de manera más personalizada (por ejemplo, parámetros de función multilínea) que puedo pagar el precio de ejecutarlo manualmente. La herramienta es gratis.
fuente
Basándose en la respuesta de Dyaus y una expresión regular de un informe de conexión , aquí hay una macro que maneja guardar todo, no reemplaza las pestañas con espacios y no requiere una variable estática. ¿Su posible inconveniente? Parece un poco lento, quizás debido a múltiples llamadas a
FindReplace
.Para cualquier otra persona que intente usar esto en un complemento de Visual Studio 2012, la expresión regular que terminé usando es
[ \t]+(?=\r?$)
(no olvide escapar de las barras diagonales inversas si es necesario). Llegué aquí después de varios intentos inútiles de solucionar los problemas con una conversión cruda de{:b}+$
no coincidir con el retorno del carro.fuente
Este es un muy buen ejemplo de cómo eliminar los espacios en blanco finales. Hay algunas cosas que cambiaría en función de lo que descubrí usando esta macro. En primer lugar, la macro convierte automáticamente las pestañas en espacios. Esto no siempre es deseable y podría empeorar las cosas para las personas que aman las pestañas (generalmente basadas en Linux). El problema de tabulación no es realmente el mismo que el problema de espacio en blanco adicional de todos modos. En segundo lugar, la macro supone que solo se está guardando un archivo a la vez. Si guarda varios archivos a la vez, no eliminará correctamente el espacio en blanco. El motivo es simple. El documento actual se considera el documento que puede ver. En tercer lugar, no hace ningún error al comprobar los resultados de búsqueda. Estos resultados pueden dar una mejor inteligencia sobre qué hacer a continuación. Por ejemplo, si no se encuentra ningún espacio en blanco y se reemplaza, no hay necesidad de guardar el archivo nuevamente. En general, no me gustó la necesidad de guardar o no la bandera global. Tiende a pedir problemas basados en estados desconocidos. Sospecho que la bandera se ha agregado únicamente para evitar un bucle infinito.
Agregué cuadros de mensaje de depuración para ayudar a ver lo que estaba sucediendo. Dejó muy claro que guardar varios archivos no funcionaba. Si quieres jugar con ellos, descomenta esas líneas.
La diferencia clave es usar document.Activate () para forzar el documento en el documento actual activo en primer plano. Si el resultado es 4, eso significa que el texto fue reemplazado. Cero significa que no pasó nada. Verá dos guardados para cada archivo. El primero reemplazará y el segundo no hará nada. Potencialmente podría haber problemas si el guardado no puede escribir el archivo, pero es de esperar que este evento no se llame si eso sucede.
Antes del guión original, no sabía cómo funcionaban los guiones en Visual Studio. Es un poco sorprendente que use Visual Basic como interfaz principal, pero funciona bien para lo que necesita hacer.
fuente
Una adición simple es eliminar los retornos de carro durante el guardado.
La clave de este trabajo es cambiar \ x000d \ x000a a \ x000a. El prefijo \ x indica un patrón Unicode. Esto automatizará el proceso de preparación de archivos fuente para sistemas Linux.
fuente