¿Cómo puedo evitar el "Usted ha mezclado pestañas y espacios. ¿Arregla esto?" ¿mensaje?

155

Cada vez que pego el código en mi archivo .cs, aparece el temido "Has mezclado pestañas y espacios. ¿Solucionar esto?" mensaje. Tiene tres opciones:

Tabify
Untabify
Don't show again

Primero probé "Tabify" varias veces, hasta que finalmente me cansé y seleccioné "No volver a mostrar"; pero eso era una psique, todavía lo entiendo. Incluso intenté "Deshacer" pero fue en vano. ¿Hay alguna configuración que pueda ajustar para evitar este problema de corrección?

VisualStudio2013 tabify untabify

B. Clay Shannon
fuente
¿Editó su archivo entre el momento en que seleccionó "No volver a mostrar" y el momento en que volvió a aparecer el mensaje? ¿Es posible que haya creado una nueva situación de "pestañas y espacios mixtos" debido a sus ediciones?
David K
Es posible, pero no estoy haciendo nada diferente de lo que siempre he hecho, y solo obtengo ese mensaje con este proyecto / entorno (VS 2013).
B. Clay Shannon
1
Sospecho que esto realmente es solo una cuestión de VS2013, porque con frecuencia he encontrado archivos con pestañas y espacios mixtos y las versiones de Visual Studio que he usado (varias de ellas, todas antes de 2013) nunca se han quejado.
David K
2
Encontró exactamente el mismo problema en VS2012
taz

Respuestas:

252

Parece que tiene instalado Visual Studio Productivity Power Tools 2013 . Vaya a su configuración y desactive "Reparar pestañas mixtas" ...

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

Si tiene la configuración VS predeterminada, las pestañas en el editor se convierten en espacios. Entonces (en teoría) si hiciste clic en Desagrupar cuando aparece el mensaje, debería convertir todas las pestañas a espacios y los errores no deberían aparecer la próxima vez. ¿Estás trabajando con otros desarrolladores que tienen diferentes configuraciones de pestañas en su IDE?

ACTUALIZACIÓN: en Visual Studio 2017 y en adelante , esta es una extensión independiente llamada "Reparar pestañas mixtas" que se puede deshabilitar o desinstalar desde la ventana "Extensiones y actualizaciones" (Herramientas> Extensiones y actualizaciones).

ingrese la descripción de la imagen aquí

Anthony Chu
fuente
No, soy el único que trabaja en este proyecto; no está en el control de fuente (solo uso un complemento que me permite "Hacer una copia de seguridad del proyecto" cuando lo desee, y lo guarda en un archivo .zip)
B. Clay Shannon
1
LOL ... Por lo que vale, acabo de habilitar la configuración, puse un montón de pestañas en mi archivo usando el Bloc de notas, y luego recibí el mensaje. Al hacer clic en Destabificar, todas las pestañas se convirtieron en espacios, y no recibo el mensaje nuevamente para ese archivo.
Anthony Chu
Después de que esta "herramienta de productividad" me costó un par de horas de depuración, se está apagando. Se "reparó" un espacio entre clases, cambiándolo a una pestaña, que debido a la forma en que se presentaban las cosas se parecía a un espacio. ¿Por supuesto, seleccionando esa clase? Imposible, ya que era "classA [tab] classB".
David T. Macknet
8
Esto necesita ser actualizado para VS2017 ahora. Como resultado, esta es su propia extensión que se puede deshabilitar ahora
Joe Phillips el
@JoePhillips, ¿descubriste algo sobre esto para VS2017? Incluso desinstalé la extensión, pero aún recibí ese mensaje molesto. (por cierto: la configuración de la extensión sigue apareciendo en la ventana de configuración de vs después de la desinstalación y reinicio).
René Vogt
74

Actualización para Visual Studio 2017. Si desea deshabilitar "Ha combinado pestañas y espacios. ¿Solucionar esto?" mensaje, deberías ir a

Herramientas → Extensiones y actualizaciones ...

En las ventanas que aparecen, ubique Fix Mixed Tabs (imagen a continuación) y haga clic en Desactivar o Desinstalar según lo que desee.

Deshabilitar pestañas mixtas

Milan Leškanič
fuente
3
Ojalá lo hiciera automáticamente. Tengo el editor de texto configurado para usar pestañas en lugar de espacios, pero cuando voy a una nueva línea, la sangría se establece como espacios.
Sinjai
1
Funciona para Visual Studio 2019 también.
userom
3
Para VS 2019 es " Extensiones → Administrar extensiones ".
Uwe Keim
13

Relacionado: si desea que Productivity Power Tools le notifique sobre pestañas / espacios, pero sigue recibiendo el mensaje justo después de hacer clic Solucionar esto , busque en Herramientas> Opciones> Editor de texto> [idioma]> Pestañas.

Establezca esto en mantener pestañas

Si lo configuró en Insertar espacios y hace clic en Mantener pestañas en la notificación de Power Tools, entonces VS volverá a insertar espacios después de guardar, haciendo que la notificación vuelva a aparecer inmediatamente ... y ahora está atrapado en un bucle.

Koert van Kleef
fuente
3

Edite el archivo con vim run: ¡vuelva a grabar y guarde el archivo y listo!

vim file 
:retab
:wq

con: retab puede convertir todas las pestañas en espacios, si configura expandtab (: set expandtab) significa que expande todas las pestañas en espacios o viceversa (: set noexpandtab) y todas las pestañas hechas con espacio se convertirán en pestañas.

Sergio
fuente
o simplemente autoformato en el estudio visual y hace lo mismo
John Livermore