É possível configurar o Visual Studio 2008 para remover automaticamente caracteres de espaço em branco no final de cada linha ao salvar um arquivo? Parece não haver uma opção interna. Existem extensões disponíveis para isso?
visual-studio
visual-studio-2008
ChrisN
fonte
fonte
Respostas:
O CodeMaid é uma extensão do Visual Studio muito popular e faz isso automaticamente junto com outras limpezas úteis.
Eu o configurei para limpar um arquivo ao salvar, que acredito ser o padrão.
fonte
Localizar / substituir usando expressões regulares
Na caixa de diálogo Localizar e substituir, expanda Opções de localização , marque Usar , escolha Expressões regulares
Encontre o que : "
:Zs#$
"Substitua por : ""
clique em Substituir tudo
Em outros editores (um analisador de Expressão Regular normal ) "
:Zs#$
" seria "\s*$
".fonte
[^\S\r\n]+(?=\r?$)
[:Zs\t]#$
é uma adaptação útil.Você pode criar uma macro que é executada após um salvamento para fazer isso por você.
Adicione o seguinte ao módulo EnvironmentEvents para suas macros.
Estou usando isso há algum tempo agora sem problemas. Eu não criei a macro, mas a modifiquei de ace_guidelines.vsmacros, que pode ser encontrada com uma rápida pesquisa no Google.
fonte
Antes de salvar, você poderá usar o atalho de formatação automática CTRL+ K+ D.
fonte
Você pode fazer isso facilmente com estas três ações:
Ctrl+ A(selecione todo o texto)
Editar -> Avançado -> Excluir espaço em branco horizontal
Editar -> Avançado -> Seleção de Formato
Aguarde alguns segundos e pronto.
É de Ctrl+ Z'poder em caso de algo errado.
fonte
Tomando elementos de todas as respostas já dadas, aqui está o código que eu acabei. (Eu escrevo principalmente código C ++, mas é fácil verificar diferentes extensões de arquivo, conforme necessário.)
Obrigado a todos que contribuíram!
fonte
Você pode usar uma macro como descrito em Removendo espaço em branco e reescrever comentários, usando pesquisas de expressões regulares
fonte
Estou usando o VWD 2010 Express, onde macros não são suportadas, infelizmente. Então, eu só fazer copy / paste para Notepad ++ menu esquerdo superior
Edit
>Blank Operations
>Trim Trailing Space
existem outras operações disponíveis também. Em seguida, copie / cole novamente no Visual Studio.Também é possível usar o NetBeans em vez do Notepad ++, que possui "Remover espaços finais" no menu "Origem".
fonte
A menos que seja um projeto de uma pessoa, não faça isso. Deve ser trivial diferenciar seus arquivos locais do seu repositório de código-fonte, e limpar o espaço em branco alteraria as linhas que você não precisa alterar. Eu compreendo totalmente; Eu amo uniformizar meu espaço em branco - mas isso é algo que você deve desistir por uma colaboração mais limpa.
fonte
Eu acho que a versão de Jeff Muir poderia ser um pouco melhorada se apenas aparasse os arquivos de código-fonte (no meu caso, C #, mas é fácil adicionar mais extensões). Também adicionei uma verificação para garantir que a janela do documento esteja visível, porque algumas situações sem essa verificação me mostram erros estranhos (arquivos LINQ to SQL '* .dbml', por exemplo).
fonte
Pessoalmente, adoro a extensão Trailing Whitespace Visualizer Visual Studio, que tem suporte no Visual Studio 2012.
fonte
Acho que tenho uma versão dessa macro que não trava o VS2010 no refator e também não trava o IDE ao salvar arquivos que não são de texto. Tente o seguinte:
fonte
Eu uso ArtisticStyle (C ++) para fazer isso e também reformatar meu código. No entanto, eu tive que adicionar isso como uma ferramenta externa e você precisa ativá-lo para não gostar.
No entanto, acho excelente poder reformatar o código de maneira mais personalizada (por exemplo, parâmetros de função de várias linhas) e pagar o preço de executá-lo manualmente. A ferramenta é gratuita.
fonte
Com base na resposta de Dyaus e em uma expressão regular de um relatório de conexão , aqui está uma macro que trata de salvar tudo, não substitui as guias por espaços e não requer uma variável estática. Sua possível desvantagem? Parece um pouco lento, talvez devido a várias chamadas para
FindReplace
.Para qualquer outra pessoa que tente usar isso em um suplemento do Visual Studio 2012, a expressão regular que acabei usando é
[ \t]+(?=\r?$)
(não se esqueça de escapar das barras invertidas, se necessário). Cheguei aqui após várias tentativas inúteis de corrigir os problemas com uma conversão bruta de{:b}+$
falha na correspondência com o retorno de carro.fonte
Este é realmente um bom exemplo de como remover o espaço em branco à direita. Há algumas coisas que eu mudaria com base no que descobri usando essa macro. Primeiro de tudo, a macro converte guias automaticamente em espaços. Isso nem sempre é desejável e pode levar a piorar as coisas para as pessoas que amam guias (geralmente baseadas em Linux). O problema da guia não é realmente o mesmo que o problema de espaço em branco extra. Em segundo lugar, a macro assume que apenas um arquivo está sendo salvo de uma vez. Se você salvar vários arquivos de uma vez, ele não removerá corretamente o espaço em branco. O motivo é simples. O documento atual é considerado o documento que você pode ver. Terceiro, não há erro ao verificar os resultados encontrados. Esses resultados podem fornecer uma melhor inteligência sobre o que fazer em seguida. Por exemplo, se nenhum espaço em branco for encontrado e substituído, não há necessidade de salvar o arquivo novamente. Em geral, eu não gostei da necessidade de a bandeira global ser salva ou não. Tende a pedir problemas com base em estados desconhecidos. Eu suspeito que o sinalizador tenha sido adicionado apenas para impedir um loop infinito.
Adicionei caixas de mensagem de depuração para ajudar a ver o que estava acontecendo. Deixou bem claro que o salvamento de vários arquivos não estava funcionando. Se você quiser brincar com eles, remova o comentário dessas linhas.
A principal diferença é usar document.Activate () para forçar o documento para o documento atual ativo em primeiro plano. Se o resultado for 4, isso significa que o texto foi substituído. Zero significa que nada aconteceu. Você verá duas gravações para cada arquivo. O primeiro substituirá e o segundo não fará nada. Possivelmente, poderá haver problemas se o salvamento não puder gravar o arquivo, mas espero que este evento não seja chamado se isso acontecer.
Antes do script original, eu não sabia como os scripts funcionavam no Visual Studio. É um pouco surpreendente que ele use o Visual Basic como interface principal, mas funcione bem para o que precisa fazer.
fonte
Uma adição simples é remover retornos de carro durante o salvamento.
A chave para este trabalho está mudando \ x000d \ x000a para \ x000a. O prefixo \ x indica um padrão Unicode. Isso automatizará o processo de preparação dos arquivos de origem para os sistemas Linux.
fonte