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

152

¿Cómo eliminar líneas vacías en Visual Studio?

Alaa
fuente
Para Visual Studio Code
Deepu Reghunath
2
¿Hay una respuesta para esto sin usar expresiones regulares? Simplemente usando un acceso directo como CTRL-KD que formatea el documento pero se olvida de eliminar las líneas dobles en blanco.
Ene

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.

Lennart
fuente
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

Alaa
fuente
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

surfmuggle
fuente
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

Probado en VS 2012 para permitir alimentaciones de línea puras.

^\s*$\n 

hth

Joe Johnston
fuente
2
esto funciona para mí en VS 2015, la respuesta aceptada no fue lamentablemente
EdwardM
Funciona en VS 2013 también.
Joe Johnston
2
Funciona bien en VS 2017, la respuesta aceptada no.
Tormenta germinal el
También funciona en 2019
Joe Johnston
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í

Anas Alweish
fuente
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
pbz
fuente
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
tony09uk
fuente
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.

xmedeko
fuente
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

cmsmith81
fuente
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.

Marcus Callender
fuente
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