Formattazione HTML di Visual Studio 2008: funziona mai?

È un’altra domanda di formattazione HTML di Visual Studio 2008 … Penso di aver trovato un bug nella errata formattazione VS HTML, o sto facendo qualcosa di sbagliato. Ecco cosa sto facendo:

Rimuovo tutti i tag lato client tramite:
Strumenti -> Opzioni -> Editor di testo -> HTML -> Formato -> Tag Opzioni specifiche

Quindi aggiungo i tag b e span:

alt text http://www.xtupload.com/new/thumb-3BB0_49B92330.jpg

Premo CTRL + E, CTRL + D e ottengo questi due risultati differenti:

1

alt text http://www.xtupload.com/new/image-CBF1_49B92330.jpg
Il P prima del tag span non è formattato correttamente

2

alt text http://www.xtupload.com/new/image-3AB6_49B92330.jpg
Il tag P è formattato correttamente.

Questo per un file di estensione .ASPX.

Sembra che si tratti di un bug e non dipende dal fatto che il tag sia SPAN o B.

Il lavoro che ho trovato

Aggiungi uno spazio extra prima della chiusura P.

Come fallisce

My title

Ottiene ri-formattato come

 

My title

Come farlo funzionare

 

My title

(NB lo spazio dopo la B) viene riformattato come:

 

My title

E comunque lo spazio extra viene rimosso da VS. Alleluia il mio HTML è bellissimo!

Ho seguito lo stesso metodo di Chris. Ho deciso di utilizzare una ricerca e sostituzione di RegEx per farlo per l’intero documento. La regex trova i tag di chiusura p o h * che non sono preceduti dallo spazio bianco o dall’avvio di una riga e inserisce una nuova riga prima del tag di chiusura. Esaminare la regex per ottenere una migliore comprensione. Ecco cosa ho usato:

Trovare cosa:

 {[^:b^]}{\}:b*$ 

Sostituirlo con:

 \1\n\2 

Trova solo p e h * perché quelli erano gli unici due che ho trovato questo problema. Altri tag possono essere aggiunti.

Puoi personalizzare il layout per tag, se ti infastidisce così tanto. Vai alla finestra di dialogo delle opzioni e seleziona l’opzione di formattazione sotto Editor di testo -> HTML

Detto questo, non mi piacciono alcune delle incongruenze che non ho potuto correggere, quindi ho smesso di usarlo tranne che per riformattare il codice da qualcun altro prima di iniziare a lavorarci. Una volta completato il riformattamento iniziale, mantengo la formattazione manualmente.