2009-03-11 4 views
33

Quando si digita codice in un file .aspx (una vista MVC in questo caso), Visual Studio applica due tipi di formattazione, uno alla normale struttura di tag html (che può essere controllato da Strumenti-> Opzioni-> Editor di testo-> Html) e un altro al contenuto all'interno dei tag <%%>.Come modificare le impostazioni di formattazione automatica .ASPX (Visual Studio)

Ho riscontrato due fastidi con il secondo tipo di formattazione automatica, la formattazione del contenuto dello <%%>.

In primo luogo è come le nuove linee vengono aggiunti ai blocchi dichiarazione:

Se scrivo questo:

<% if(condition) { %> 
    ... 
<% } %> 

E 'automaticamente corretto in questo:

<% if(condition) 
    { %> 
    ... 
<% } %> 

Mentre la correzione è giusta se questo era un file .cs, per la zuppa di tag che è .aspx i file trovo il primo molto più leggibile. C'è un modo per disattivare questo comportamento senza influire sulla formattazione dei file .cs?

In secondo luogo, ogni volta che scrivo qualcosa di simile:

<%=Html.ActionLink("Report","ListItems") %> 

non riesco a trovare un modo per rendere formattare automaticamente in questo (aggiungere distanza se del caso):

<%=Html.ActionLink("Report", "ListItems") %> 

Nel codice normalmente hai bisogno di un; o} per segnalare che hai fatto una linea/sezione di codice in modo che Visual Studio possa formattarlo. C'è un modo per dare questo segnale per un <% = tipo di espressione?

CHIARIMENTO

Questa domanda riguarda la formattazione del codice all'interno <%%> tag senza compromettere la formattazione del file # regolare fonte C. Dice nel primo paragrafo che sono completamente consapevole del menu Editor di testo.

+0

Grandi domande. Trovo anche questi estremamente fastidiosi. – Micah

+0

Stessa cosa, ho anche installato il resharper che non aiuta gli argomenti –

+0

Man oh man. Nei vecchi tempi (forse la prima versione di Visual Studio.NET, non ne sono sicuro), riformattava l'HTML ogni volta che si apriva un file in visualizzazione struttura. E quando dico "reformat", questo includeva la rimozione degli attributi che erano necessari per rendere l'HTML valido e accessibile e l'aggiunta di attributi che impedivano la validità dell'HTML. Grandi tempi. –

risposta

4

Il menu Editor di testo è tutto ciò che c'è e non ti consente di fare ciò che desideri.Quando fai clic con il pulsante destro del mouse su una pagina di aspx, fai clic su "Formattazione e convalida ..." e quindi fai clic sul pulsante "Opzioni specifiche tag ...". Riceverai un sacco di impostazioni per tag client o server, ma non per <% -tags.

Per quanto riguarda la seconda parte della domanda, Ctrl-E, D formatta il documento, ma non inserisce la spaziatura desiderata.

2

Sei in grado di cambiare la formattazione automatica in questo menu:
Strumenti -> Opzioni -> Editor di testo

È possibile ad esempio modificare la se nuova linea di dichiarazione, sotto:
C#
- formattazione
- Nuove righe
--- Posizionare la parentesi aperta sulla nuova riga per i blocchi di controllo

Spero che questo aiuti.

+1

Ciò sembrerebbe influenzare la formattazione di tutti i file .cs, che è ciò che vogliamo evitare. Vogliamo solo cambiare il modo in cui il codice zuppa tag viene formattato. – David

-4

Se non hai mai personalizzato il tuo ambiente, ti suggerisco di passare un po 'di tempo nella finestra di dialogo Strumenti >> Opzioni. Ci sono molte cose che puoi fare per personalizzare il tuo ambiente, oltre a modificare il modo predefinito in cui agisce Visual Studio.

Non ho provato le nuove linee su una vista MVC, quindi non sono completamente venduto funziona, ma sarebbe dove vorrei provare prima, pure. Funziona in un file C#, codice dietro o in altro modo.

2

Attualmente l'unica risposta di cui sono a conoscenza è scrivere macro utilizzando espressioni regolari e assegnarle a accordi facili da utilizzare. Ho già risposto a una domanda in cui la formattazione automatica cambierebbe chiusura parentesi a:

<% 
    } 
    %> 

Si può trovare la risposta, compreso il codice per la macro utilizzata here.