Perché continuo a ricevere tabulazioni e spazi misti in una finestra di codice C # di Visual Studio 2010?


88

Ho appena lavorato su un file C # (Global.asax.cs) in un'applicazione web per l'ultima ora o giù di lì, e mi è stato mostrato il prompt per "tabify" o qualsiasi altra cosa circa quattro volte. Ogni volta che scelgo di tabificare e salvare i file, ma in un momento apparentemente casuale in seguito, mi viene chiesto di nuovo.

Sto usando ReSharper, ma questo non succede quando codifico a casa, anche usando ReSharper. Solo al lavoro.


3
L'impostazione del rientro della tabulazione è impostata in modo tale che gli spazi possano essere effettivamente convertiti completamente in tabulazioni?
utente

Ora lo ottengo anche su uno dei miei file. Oggi ne ho una o due volte ogni ora. Anche prima che il file venisse aggiunto al controllo del codice sorgente.
sindre j

12
@LostHobbit È importante perché un dialogo fastidioso continua a spuntare e interrompe il mio flusso.
ProfK

Risposte:


146

Stai utilizzando l'estensione Productivity Power Tools VS 2010? In tal caso, vai su Tools-> Options-> e scegli Productivity Power Tools. Qui puoi disattivare l'opzione per Fix Mixed Tabs. Questo disattiverà questo avviso.

Power Tools per Visual Studio 2010

Power Tools per Visual Studio 2012

Power Tools per Visual Studio 2013

Power Tools per Visual Studio 2015


20
Preferirei mantenere l'avviso e sbarazzarmi invece delle schede e degli spazi misti.
ProfK

2
@ProfK il punto casuale in cui ti viene chiesto di nuovo si verifica anche dopo che qualcun altro ha controllato le modifiche a questo file (se stai usando il controllo del codice sorgente)? Forse tu e qualcun altro avete spazi di tabulazione definiti in modo diverso in VS.
Justin Saraceno

7
Difficile vedere come questo sia produttivo. Disattiva le schede con Strumenti + Opzioni, Editor di testo. Sono stati utilizzati nel secolo precedente per salvare i byte.
Hans Passant

6
@ Hans, la produttività dell'utilizzo delle schede non è affatto rilevante qui.
ProfK

35
La produttività delle schede è stata ampiamente discussa e le schede sono più meritevoli della semplice dimensione dei dati. Le schede hanno larghezze configurabili per persone con diverse preferenze di rientro che lavorano sullo stesso progetto. Se tutti configurassero il proprio VS per utilizzare un numero diverso di spazi invece di tabulazioni, il codice diventerebbe un disastro, ma se tutti usassero le tabulazioni e configurassero la larghezza della tabulazione in base alle loro preferenze visive, il codice rimane pulito e tutti prendono la loro torta e la mangiano anche loro. Qual è, ancora, il vantaggio di utilizzare gli spazi?
TheXenocide

61

Le tabulazioni e gli spazi misti potrebbero provenire dall'impostazione dell'editor di testo dello studio visivo. Puoi decidere se desideri che Visual Studio inserisca spazi o tabulazioni qui:

Strumenti / Opzioni / -> Editor di testo / Tutte le lingue / schede, seleziona l'opzione "Mantieni schede".


6
Questa è davvero la risposta giusta alla domanda posta e al risultato che @ProfK voleva ottenere.
Reality Extractor

11

Scegli l'opzione "Untabify" poiché VS utilizza per impostazione predefinita gli spazi, non le tabulazioni. Se scegli "Tabify" la prossima volta che aggiungi una riga, VS utilizzerà gli spazi e vedrai il prompt più e più volte.


9

Resharperutilizza impostazioni di tabulazione / spazio separate per Visual Studio. Nelle Resharperopzioni, seleziona "Stile di formattazione generale -> Come allineare quando le tabulazioni sono usate per i rientri". Questa impostazione viene utilizzata durante la resharperformattazione del codice (come il refactoring, ecc.) E il valore predefinito è "Spazi utente".

Inoltre, nel menu " Modifica -> Avanzate ", c'è un'opzione "Visualizza spazi bianchi" (Ctrl + E, S) che può essere utile!


Buona opzione (quella Visualizza spazi bianchi)! +1
Ignacio Soler Garcia
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.