Como posso impedir que “Você tenha guias e espaços misturados. Conserte isso?" mensagem?

155

Sempre que colo o código no meu arquivo .cs, recebo o temido "Você tem guias e espaços misturados. Corrigir isso?" mensagem. Tem três opções:

Tabify
Untabify
Don't show again

Eu tentei "Tabify" pela primeira vez algumas vezes, até finalmente me cansar e selecionar "Don't show again"; mas isso era uma psique - eu ainda entendo. Eu até tentei "Untabify", mas sem sucesso. Existe alguma configuração que eu possa ajustar para evitar esse problema recorrente?

VisualStudio2013 tabify untabify

B. Clay Shannon
fonte
Você editou seu arquivo entre a hora em que você selecionou "Não mostrar novamente" e a hora em que a mensagem ocorreu novamente? É possível que você tenha criado uma nova situação de "guias e espaços mistos" devido às suas edições?
David K
É possível, mas não estou fazendo nada diferente do que sempre fiz, e só recebo essa mensagem com este projeto / ambiente (VS 2013).
B. Clay Shannon
1
Eu suspeito que isso realmente é apenas uma coisa do VS2013, porque eu frequentemente encontrei arquivos com guias e espaços misturados e as versões do Visual Studio que eu usei (várias delas, todas antes de 2013) nunca reclamaram disso.
David K
2
Foi encontrado exatamente o mesmo problema no VS2012
taz

Respostas:

252

Parece que você tem o Visual Studio Productivity Power Tools 2013 instalado. Entre nas configurações e desative "Corrigir guias mistas" ...

Tools -> Options -> Productivity Power Tools -> Turn Extensions On/Off

Se você tiver as configurações padrão do VS, as guias no editor serão convertidas em espaços. Portanto (em teoria), se você clicou em Untabify quando a mensagem aparecer, ela deve converter todas as guias em espaços e os erros não devem aparecer na próxima vez. Você está trabalhando com outros desenvolvedores que têm configurações de guia diferentes no IDE?

ATUALIZAÇÃO: no Visual Studio 2017 e posteriores , esta é uma extensão autônoma denominada "Corrigir guias mistas" que pode ser desabilitada ou desinstalada na janela "Extensões e atualizações" (Ferramentas> Extensões e atualizações).

insira a descrição da imagem aqui

Anthony Chu
fonte
Não, sou o único a trabalhar neste projeto; não é em controle de origem (eu só uso um add-in que me permite "Projeto Backup" sempre que eu quiser, e salva em um arquivo .zip)
B. Clay Shannon
1
LOL ... Pelo que vale a pena, eu apenas habilitei a configuração, coloquei várias guias no meu arquivo usando o Bloco de Notas e recebi o prompt. Clicar em desabafar transformou todas as guias em espaços e não recebo a mensagem novamente para esse arquivo.
Anthony Chu
Depois que essa "ferramenta de produtividade" me custou algumas horas de depuração, ela está sendo desativada. Ele "consertou" um espaço entre as classes, alterando-o para uma guia, que, devido à maneira como as coisas estavam dispostas, parecia um espaço. Claro, selecionando essa classe? Impossível, pois era "classA [tab] classB".
David T. Macknet 9/16
8
Isso precisa ser atualizado para o VS2017 agora. Como se vê, esta é a sua própria extensão que pode ser desativado agora
Joe Phillips
@JoePhillips você descobriu alguma coisa sobre isso no VS2017? Eu até desinstalei a extensão, mas ainda recebi essa mensagem irritante. (btw: as configurações da extensão continuam aparecendo na janela de configurações vs após a desinstalação e a reinicialização).
René Vogt
74

Atualização para o Visual Studio 2017. Se você deseja desativar o "Você tem guias e espaços mistos. Corrigir isso?" mensagem, você deve ir para

Ferramentas → Extensões e atualizações…

Nas janelas que apareceram, localize Corrigir guias mistas (imagem abaixo) e clique em Desativar ou Desinstalar com base no que você deseja.

Desativando guias mistas

Milan Leškanič
fonte
3
Eu gostaria que isso fosse feito automaticamente. Eu tenho o editor de texto definido para usar guias em vez de espaços, mas quando vou para uma nova linha, o recuo é definido como espaços.
Sinjai 21/09/17
1
Também funciona para o Visual Studio 2019.
User26
3
Para o VS 2019, é " Extensões → Gerenciar Extensões ".
Uwe Keim
13

Relacionado: Se você deseja que o Productivity Power Tools o notifique de guias / espaços, mas você continua recebendo a mensagem logo após clicar em Corrigir isso , consulte Ferramentas> Opções> Editor de texto> [idioma]> Guias.

Defina isso para manter as guias

Se você tiver definido como Inserir espaços e clicar em Manter guias na notificação das Ferramentas Elétricas, o VS reinserirá os espaços após salvar, fazendo com que a notificação apareça imediatamente novamente ... e agora você está preso em um loop.

Koert van Kleef
fonte
3

Edite o arquivo com o vim run: retab e salve o arquivo e pronto!

vim file 
:retab
:wq

com: retab, você pode converter todas as guias em espaços; se você definir expandtab (: set expandtab), isso significa que todas as guias em espaços serão expandidas ou vice-versa (: set noexpandtab) e todas as guias feitas com espaço serão convertidas em guias.

Sérgio
fonte
ou apenas autoformatação no visual studio e ele faz a mesma coisa
John Livermore