Pare o Visual Studio de misturar as terminações de linha nos arquivos

123

Ao abrir um arquivo baseado em texto no Visual Studio 2010, ele gravará minhas edições com CRLF em vez do formato de final de linha do arquivo original. Como posso impedir que o VS faça isso? Qualquer editor meio decente deve ter esse recurso.

O pior é que, como o VS escreveu o arquivo com partes no CRLF, ele (ao abrir o arquivo novamente) apresentará uma caixa de diálogo solicitando a conversão do final da linha dos arquivos.

Brett Ryan
fonte
Tente este add-in: Strip'em
faz
8
Você pode querer votar a favor: visualstudio.uservoice.com/forums/121579-visual-studio/…
Jon Watte
1
@JonWatte atualmente em revisão a partir de 28 de abril de 2016
Chris Marisic 25/05
2
Afastei-me do .NET hoje em dia, farto demais da MS aparentemente mudando o foco a cada temporada e negligenciando problemas simples como esses. Fico feliz em vê-los finalmente consertando.
Brett Ryan

Respostas:

84

No menu Arquivo , escolha Opções avançadas de salvamento , você pode controlá-lo lá.

Editar: Aqui está a documentação , você deve abrir um arquivo primeiro.

GvS
fonte
5
Não tenho esse item de menu na minha instalação definitiva do VS2010.
Palantir
6
Eu tenho essa configuração no VS2010 Ultimate, no entanto, essa opção não é uma opção persistente global e é válida apenas para a sessão atual do editor. Tudo o que eu quero é que o VS respeite os finais de linha dos arquivos abertos no momento ao editar o arquivo.
Brett Ryan
2
Arquivo + Salvar como, clique na seta no botão Salvar. A mesma coisa, mas específico para o arquivo.
Hans Passant
13
Para aqueles que não vêem o comando no Filemenu, você pode precisar de ir para Tools, Customize, Commandsguia, Menu Bar: File, Add Command..., File, Advanced Save Options..., Ok, Close. Agora você deve ter a opção.
davidg 31/03
92
Na verdade, isso não resolve o problema, porque você precisa escolher essa opção TODAS AS VEZES QUE SALVAR. Isso também significa que você deve ESCOLHER UMA OPÇÃO DE FINAL DE LINHA toda vez que salvar. O comportamento certo, suportado por todos os outros editores de texto, é detectar o formato no carregamento e salvar nesse formato ao salvar. Não há como o VS2010 fazer isso, e isso é uma pena.
precisa saber é o seguinte
70

No Visual Studio 2015 (isso ainda é válido em 2019 para o mesmo valor), verifique a configuração:

Ferramentas> Opções> Ambiente> Documentos> Verificar finais de linha consistentes ao carregar

O VS2015 agora solicitará que você converta as terminações de linha quando você abrir um arquivo onde elas sejam inconsistentes; portanto, tudo que você precisa fazer é abrir os arquivos, selecionar a opção desejada no prompt e salvá-los novamente.

Johann Caron
fonte
4
Embora isso possa ser útil agora, observe que a pergunta foi marcada como visual-studio-2010 .
Dakab 6/11
4
O problema com essa opção é que ela não informa quais terminações de linha são as mais comuns no documento, por isso tenho que abrir o documento no Notepad ++ primeiro e depois selecionar apenas a opção correta. Além disso, esse é um problema de economia, não de carregamento.
Strategy Thinker
3
O problema que eu estava tendo é que estava abrindo arquivos, com terminações LF, e então todas as linhas que eu editava ou adicionava eram salvas com terminações CR LF. Quando eu abria o arquivo novamente, ele me perguntava para o que eu queria alterar as terminações de linha inconsistentes e eu escolhia LF e o processo se repetia. Aqui está como eu resolvi: stackoverflow.com/a/47318778/2701911
FragmentalStew
Isso não resolve o problema de copiar e colar um texto com finais de linha mistos. Você precisa reabrir o arquivo para acionar a verificação.
Andry
22

Com o VS2010 +, existe uma solução de plug-in: Line Endings Unifier .

Com o plug-in instalado, você pode clicar com o botão direito do mouse em arquivos e pastas no Solution Explorer e chamar o item de menu Unify Line Endings in this file

A configuração para isso está disponível via

Ferramentas -> Opções -> Unificador de finais de linha.

A lista de extensões de arquivos padrão incluída é bem estreita:

 .cpp; .c; .h; .hpp; .cs; .js; .vb; .txt;

Pode querer usar algo como:

 .cpp; .c; .h; .hpp; .cs; .js; .vb; .txt; .scss; .coffee; .ts; .jsx; .markdown; .config
gearsin
fonte
11
Este é realmente um plug - in e não é instalado por padrão.
Nulo
1
@ obrigado por apontar que isso é realmente o que eu estava procurando. Eu atualizei a resposta para refletir melhor tudo isso
Chris Marisic
11

consulte http://editorconfig.org e https://docs.microsoft.com/en-us/visualstudio/ide/create-portable-custom-editor-options?view=vs-2017

  1. Se não existir, adicione um novo arquivo chamado .editorconfig para o seu projeto

  2. manipule a configuração do editor para usar seu comportamento preferido.

Eu prefiro espaços sobre guias e CRLF para todos os arquivos de código.
Aqui está o meu .editorconfig

# http://editorconfig.org
root = true

[*]
indent_style = space
indent_size = 4
end_of_line = crlf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

[*.tmpl.html]
indent_size = 4

[*.scss]
indent_size = 2 
Chris Schaller
fonte