Remova linhas vazias no texto usando o Visual Studio

152

Como remover linhas vazias no Visual Studio?

Alaa
fonte
Para Visual Studio Code
Deepu Reghunath
2
Existe uma resposta para isso sem usar expressão regular? Apenas usando um atalho como CTRL-KD que formata o documento, mas esquece de remover as linhas em branco duplas.
Jan

Respostas:

174

Desde que o Visual Studio 2012 alterou sua sintaxe regex, as respostas originais de Ala se traduzem no seguinte no VS 2012:

Remover linhas em branco únicas

Velho:

^:b*$\n

Novo:

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

Visual Studio 2013 (graças a BozoJoe e Joe Johnston):

^\s*$\n

Remova linhas em branco duplas

Velho:

^:b*\n:b*\n

Novo:

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

Rola direto da sua língua.

Aqui está a planilha de conversão do MSDN.

Lennart
fonte
13
vs2013: ^ \ s + $ \ n
BozoJoe 19/03/2014
A resposta de BozoJoe, para mim, também funcionou bem no VS2012 (Atualização 4)
BertuPG
5
^ \ s + $ \ n alterado para ^ \ s * $ \ n permitem feeds de linha pura (sem conteúdo).
31515 Joe
4
Como posso automatizar isso, como trabalhar com CTRL + K + D?
ErTR
Isso deve funcionar para seqüências de caracteres ou para código no editor?
Kyle Delaney
114

É muito útil, especialmente se você deseja organizar ou comparar códigos. Obrigado pelas pessoas que responderem a essa pergunta, eu tenho a resposta daqui e gostaria de compartilhá-la com o Stackoverflow:

O Visual Studio tem a capacidade de excluir linhas vazias na operação de substituição usando expressões regulares.

  • Clique Ctrl- H(substituição rápida)

  • Marque "Usar expressões regulares"

  • Em Localizar, especifique ^$\n

  • Na caixa Substituir, exclua tudo.

  • Clique em "Substituir tudo"

Todas as linhas vazias serão excluídas.

A expressão regular para linha vazia consiste em

Início da linha ^

Fim da linha $

Quebra de linha \n

Observe que normalmente no Windows um final de linha indicado por 2 caracteres - \rAvanço de linha (CR, ASCII 13, ) Alimentação de linha (LF, ASCII 10 \n).

Um regex para remover linhas em branco que estão / não estão realmente em branco (ou seja, elas possuem / não têm espaços): ^:b*$\n

Para remover linhas duplas: ^:b*\n:b*\nsubstitua por:\n

* para Visual Studio 2013 e superior: *

^\s*$\n

e para linhas duplas:

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

Veja as atualizações de sintaxe de expressão regular para o VS2012 e acima na resposta da @ lennart abaixo

Alaa
fonte
Funciona como um encanto com a limpeza de arquivo XML no Visual Studio 2015. Alguém sabe como criar um atalho para executar isso?
precisa
1
para o Visual Studio 2012 e, acima de verificar a resposta abaixo
Alaa
1
Existe uma maneira de isso funcionar com o formatador automático?
Kyle Delaney
19

No Visual Studio 2013 (Versão 12.0.20623.01), removi as linhas vazias com esta expressão regular. ^\r\nNa tela, você pode ver as linhas correspondentes indicadas pelos quadrados marrons.

Visual Studio 2013 substitui linhas vazias

surfmuggle
fonte
Eu também tentei dessa maneira, mas o estúdio visual congelou por alguns minutos e substituiu apenas 1 ocorrência de várias centenas que tenho! lol: -D
BertuPG
17

Testado no VS 2012 para permitir feeds de linha puros.

^\s*$\n 

hth

Joe Johnston
fonte
2
Isso funciona para mim em VS 2015, a resposta aceita não infelizmente
EdwardM
Funciona no VS 2013 também.
Joe Johnston
2
Funciona bem no VS 2017, a resposta aceita não.
Germstorm 8/06
Também funciona em 2019
Joe Johnston
17

Usando o Visual Studio 2017 e superior

no documento atual

use atalho

  • Abra Ferramentas > Opções ou pressione Alt+ T+O
  • Na guia Ambiente > Teclado
  • Procure por " DeleteBlank " e selecioneEdit.DeleteBlankLines
  • Adicionar um novo atalho por exemplo Ctrl+ D, Ctrl+E
  • Atribuir > OK

selecione todo o texto e pressione o atalho

insira a descrição da imagem aqui

Anas Alweish
fonte
Isso exclui apenas as linhas em branco selecionadas ou da linha atual até a próxima linha que não estiver em branco. Não é para todo o documento ou projeto.
Jan
1
Tente selecionar tudo antes de executar o comando, e ele funcionará.
Kris Morness 01/10/19
9

Para remover duas ou mais linhas vazias adjacentes com o VS2012, use o seguinte:

^(?([^\r\n])\s)*\r?$\r?\n^(?([^\r\n])\s)*\r?$\r?\n
pbz
fonte
Eu estava procurando uma solução para substituir duas linhas vazias em apenas uma. Funciona para mim. Obrigado!
Ricardo França
8

Estou usando o visual studio 2017, e nenhum dos itens acima funcionou para mim até que tentei \n\r

Passos:

  1. Ctrl + H (abre a localização e a substituição)
  2. Selecione usar expressão regular (Alt + E)
  3. Entre \n\rna entrada "Localizar ..."
  4. Pressione substituir
tony09uk
fonte
2

Instale o CodeMaid e pressione Ctrl+M, Space' to clean up the code. (It formats the code, like Format DocumentCtrl + E, D` também). Você pode limpar mais arquivos no Gerenciador de Soluções.

xmedeko
fonte
1

No VS 2012, a cadeia de caracteres regex a ser usada para encontrar e substituir todas as linhas em branco é ^ (? ([^ \ R \ n]) \ s) \ r? \ N

cmsmith81
fonte
0

Ctrl+ K, Ctrl+ Dformata automaticamente o documento atual e isso remove espaço desnecessário no seu código. Isso ajuda a manter seu código legível, se é o que você estava procurando.

Marcus Callender
fonte
Estou referenciando meu problema, por favor, veja, isso é algo que eu estava procurando. stackoverflow.com/questions/44747909/… .
Vivek Shukla
1
Isso não remove linhas vazias duplas / redundantes.
Jan