Come posso evitare "Hai schede e spazi misti. Aggiustalo?" Messaggio?


155

Ogni volta che incollo il codice nel mio file .cs, ricevo il temuto "Hai schede e spazi misti. Risolvi questo?" Messaggio. Ha tre opzioni:

Tabify
Untabify
Don't show again

Ho provato prima "Tabify" alcune volte, fino a quando non sono stato stufo e ho selezionato "Non mostrare più"; ma quella era una psiche - lo capisco ancora. Ho anche provato "Untabify" ma senza risultati. Esistono alcune impostazioni che posso modificare per prevenire questo problema?

VisualStudio2013 tabify untabify


Hai modificato il tuo file tra il momento in cui hai selezionato "Non mostrare più" e il momento in cui il messaggio si è ripresentato? È possibile che tu abbia creato una nuova situazione di "schede e spazi misti" a causa delle tue modifiche?
David K,

È possibile, ma non sto facendo nulla di diverso da quello che ho sempre fatto e ottengo quel messaggio solo con questo progetto / ambiente (VS 2013).
B. Clay Shannon,

1
Ho il sospetto che questa sia davvero una cosa di VS2013, perché ho spesso incontrato file con schede e spazi misti e le versioni di Visual Studio che ho usato (molte di esse, tutte precedenti al 2013) non se ne sono mai lamentate.
David K,

2
Si è verificato esattamente lo stesso problema in VS2012
taz,

Risposte:


252

Sembra che tu abbia installato Visual Studio Productivity Power Tools 2013 . Vai nelle sue impostazioni e disattiva "Correggi schede miste" ...

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

Se hai le impostazioni VS predefinite, le schede nell'editor vengono convertite in spazi. Quindi (in teoria) se hai fatto clic su Untabify quando appare il messaggio, dovrebbe convertire tutte le schede in spazi e gli errori non dovrebbero apparire la prossima volta. Stai lavorando con altri sviluppatori che hanno impostazioni di scheda diverse nel loro IDE?

AGGIORNAMENTO: in Visual Studio 2017 e versioni successive , si tratta di un'estensione autonoma denominata "Correggi schede miste" che può essere disabilitata o disinstallata dalla finestra "Estensioni e aggiornamenti" (Strumenti> Estensioni e aggiornamenti).

inserisci qui la descrizione dell'immagine


No, sono l'unico a lavorare a questo progetto; non è nel controllo del codice sorgente (utilizzo solo un componente aggiuntivo che mi consente di "Progetto di backup" ogni volta che lo desidero e lo salva in un file .zip)
B. Clay Shannon

1
LOL ... Per quello che vale, ho appena abilitato l'impostazione, ho messo un sacco di schede nel mio file usando Blocco note e poi ho ricevuto il prompt. Facendo clic su untabify, tutte le schede sono state trasformate in spazi e non ricevo più il messaggio per quel file.
Anthony Chu,

Dopo che questo "strumento di produttività" mi è costato un paio di ore di debug, viene disattivato. Ha "riparato" uno spazio tra le classi, trasformandolo in una scheda, che a causa del modo in cui le cose disposte sembravano proprio uno spazio. Certo, selezionando quella classe? Impossibile, in quanto era "classA [tab] classB".
David T. Macknet,

8
Questo deve essere aggiornato per VS2017 ora. A quanto pare, questa è la sua estensione che può essere disabilitata ora
Joe Phillips

@JoePhillips hai scoperto qualcosa al riguardo per VS2017? Ho anche disinstallato l'estensione, ma ho ancora quel messaggio fastidioso. (a proposito: le impostazioni per l'estensione continuano a essere visualizzate nella finestra vs settings dopo la disinstallazione e il riavvio).
René Vogt,

74

Aggiornamento per Visual Studio 2017. Se si desidera disabilitare "Sono presenti schede e spazi misti. Risolvere questo?" messaggio, dovresti andare a

Strumenti → Estensioni e aggiornamenti ...

Nelle finestre che appaiono, individua le schede miste fisse (immagine sotto) e fai clic su Disabilita o Disinstalla in base a ciò che desideri.

Disabilitazione di schede miste


3
Vorrei che lo facesse automaticamente. Ho l'editor di testo impostato per utilizzare le schede anziché gli spazi, ma quando vado su una nuova riga, il rientro viene impostato come spazi.
Sinjai,

1
Funziona anche con Visual Studio 2019.
userom

3
Per VS 2019 è " Estensioni → Gestisci estensioni ".
Uwe Keim,

13

Correlati: se si desidera che Productivity Power Tools ti avvisi su schede / spazi, ma continui a ricevere il messaggio subito dopo aver fatto clic su Correggi quindi cerca in Strumenti> Opzioni> Editor di testo> [lingua]> Schede.

Impostalo su Mantieni schede

Se lo hai impostato su Inserisci spazi e fai clic su Mantieni le schede nella notifica di Power Tools, VS inserirà nuovamente gli spazi dopo il salvataggio, facendo apparire di nuovo immediatamente la notifica ... e ora sei bloccato in un ciclo.


3

Modifica il file con vim run: ripeti e salva il file ed è fatto!

vim file 
:retab
:wq

con: retab puoi convertire tutte le schede negli spazi, se imposti expandtab (: imposta expandtab) significa che espandi tutte le schede negli spazi o viceversa (: imposta noexpandtab) e tutte le schede create con lo spazio verranno convertite in schede.


o semplicemente il formato automatico in Visual Studio e fa la stessa cosa
John Livermore,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.