Eliminar líneas vacías en el texto con Visual Studio


Respuestas:


174

Dado que Visual Studio 2012 cambió su sintaxis de expresiones regulares, las respuestas originales de Ala se traducen en lo siguiente en VS 2012:

Eliminar líneas en blanco individuales

Antiguo:

^:b*$\n

Nuevo:

^(?([^\r\n])\s)*\r?$\r?\n

Visual Studio 2013 (gracias a BozoJoe y Joe Johnston):

^\s*$\n

Eliminar líneas dobles en blanco

Antiguo:

^:b*\n:b*\n

Nuevo:

^(?([^\r\n])\s)*\r?\n(?([^\r\n])\s)*\r?\n

Rollos directamente de tu lengua.

Aquí está la hoja de conversión de MSDN.


13
vs2013: ^ \ s + $ \ n
BozoJoe

La respuesta de BozoJoe, para mí, también funcionó bien en VS2012 (Actualización 4)
BertuPG

55
^ \ s + $ \ n cambiado a ^ \ s * $ \ n permite (sin contenido) avances de línea pura.
Joe Johnston

44
¿Cómo puedo hacer esto automatizado, como trabajar con CTRL + K + D?
ErTR

¿Está destinado a funcionar para cadenas o para código en el editor?
Kyle Delaney el

114

Es muy útil, especialmente si desea organizar o comparar códigos, gracias por las personas que responden esta pregunta, tengo la respuesta de aquí y me gustaría compartirla con Stackoverflow:

Visual Studio tiene la capacidad de eliminar líneas vacías en la operación de reemplazo utilizando expresiones regulares.

  • Clic Ctrl- H(reemplazo rápido)

  • Marque "Usar expresiones regulares"

  • En Buscar, especifique ^$\n

  • En el cuadro Reemplazar, elimine todo.

  • Haga clic en "Reemplazar todo"

Todas las líneas vacías serán eliminadas.

La expresión regular para la línea vacía consiste en

Comienzo de linea ^

Fin de la línea $

Salto de línea \n

Tenga en cuenta que normalmente en Windows un final de línea indicado por 2 caracteres - Retorno de carro (CR, ASCII 13, \r) Alimentación de línea (LF, ASCII 10, \n)

Una expresión regular para eliminar líneas en blanco que están / no están realmente en blanco (es decir, tienen / no tienen espacios): ^:b*$\n

Para eliminar líneas dobles: ^:b*\n:b*\nreemplace con:\n

* para Visual Studio 2013 y superior: *

^\s*$\n

y para líneas dobles:

^(?([^\r\n])\s)*\r?\n(?([^\r\n])\s)*\r?\n

Vea las actualizaciones de sintaxis de expresiones regulares para VS2012 y superiores en la respuesta de @lennart a continuación


Funciona de maravilla con la limpieza de archivos XML en Visual Studio 2015. ¿Alguien sabe cómo hacer un acceso directo para ejecutar esto?
Leszek P

1
para Visual Studio 2012 y superior verifique la respuesta a continuación
Alaa

1
¿Hay alguna manera de que esto funcione con el formateador automático?
Kyle Delaney

19

En Visual Studio 2013 (versión 12.0.20623.01) eliminé líneas vacías con esta expresión regular. ^\r\nEn la pantalla puede ver las líneas coincidentes indicadas por los cuadrados marrones.

Visual Studio 2013 reemplaza líneas vacías


También lo intenté de esa manera, pero Visual Studio se quedó congelado durante unos minutos y luego reemplazó solo 1 aparición de varios cientos que tengo. lol :-D
BertuPG


17

Usando Visual Studio 2017 y superior

en el documento actual

usar atajo

  • Abra Herramientas > Opciones o presione Alt+ T+O
  • En la pestaña Entorno > Teclado
  • Busque " DeleteBlank " y seleccioneEdit.DeleteBlankLines
  • Agregue un nuevo acceso directo, por ejemplo Ctrl+ D, Ctrl+E
  • Asignar > Aceptar

selecciona todo el texto y presiona el atajo

ingrese la descripción de la imagen aquí


Esto solo elimina las líneas en blanco seleccionadas o de la línea actual hasta la siguiente línea no en blanco. No es para todo el documento o proyecto.
Ene

1
Intente seleccionar todo antes de ejecutar el comando, luego funcionará.
Kris Morness

9

Para eliminar dos o más filas vacías adyacentes con VS2012, use esto:

^(?([^\r\n])\s)*\r?$\r?\n^(?([^\r\n])\s)*\r?$\r?\n

Estaba buscando una solución para reemplazar dos líneas vacías en una sola. Esto funciona para mi. ¡Gracias!
Ricardo França

8

Estoy usando Visual Studio 2017, ninguno de los anteriores funcionó para mí hasta que lo intenté \n\r

Pasos:

  1. Ctrl + H (abre buscar y reemplazar)
  2. Seleccione usar expresión regular (Alt + E)
  3. Ingrese \n\ren la entrada "Buscar ..."
  4. Presione reemplazar


2

Instale CodeMaid y presioneCtrl+M, Space' to clean up the code. (It formats the code, like Format Document Ctrl + E, D`, también). Puede limpiar más archivos desde el Explorador de soluciones.


1

En VS 2012, la cadena de expresiones regulares que se usará para buscar y reemplazar todas las líneas en blanco es ^ (? ([^ \ R \ n]) \ s) \ r? \ N


0

Ctrl+ K, Ctrl+ Dauto formatea el documento actual y eso elimina el espacio innecesario en su código. Ayuda a mantener su código legible si eso es lo que estaba buscando.


Estoy haciendo referencia a mi problema, por favor, mira, está mirando, esto es algo que estaba buscando. stackoverflow.com/questions/44747909/… .
Vivek Shukla

1
Esto no elimina las líneas vacías dobles / redundantes.
Jan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.