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


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


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


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.


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.


ou apenas autoformatação no visual studio e ele faz a mesma coisa
— John Livermore
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.