2009-04-06 12 views
21

Estoy usando ASP.NET MVC mucho recientemente, lo que significa usar muchos bloques de servidores. Visual Studio hace esta cosa extraña cuando escribo:¿Cómo se obtienen los bloques de servidor <% %> para formatear bien en Visual Studio?

<% } %> 

y pulsa enter, me sale esto:

<% 
    } 
    %> 

Cuál es antiestético y generalmente lo más horrible que he visto nunca. He personalizado bastante el comportamiento de Ctrl + K + D y cuando hago esto obtengo todo lo que quiero, excepto en este caso. ¿Alguien tiene alguna sugerencia sobre cómo personalizar esto?

+0

OMG Quiero saber a! ¡gracias por preguntar! – Jake

+0

Buena pregunta, esto me ha estado molestando desde que comencé a usar MVC regularmente. – Brandon

+0

Deberían enviar esto al sitio de comentarios de MS Connect y votarlo como loco y podrían solucionarlo. – AaronLS

Respuesta

3

Observando el comportamiento. No sé si puedes anularlo solo para el editor de HTML. Está exhibiendo el comportamiento exacto que se define en las preferencias del editor C#.

Supongo que podría modificar el comportamiento de un corchete de cierre en las preferencias del editor de C#, pero sería fugly cosas para sus archivos .cs.

Editar:

me cansé de tratar de encontrar otras maneras de hacerlo. Entonces escribí esta macro. Probado en VS 2k8. No 2k5 Puedes ver lo que hace. Además, perdón por el VB, pero fue el predeterminado para el editor de macros.

Sub FixFormatCurrentFile() 

    Dim selection As TextSelection = DTE.ActiveDocument.Selection 
    Dim fixed As String = "<% } %>" 
    Dim regex As String = "\<\%:Wh*\}:Wh*\%\>" 

    While selection.FindPattern(regex, vsFindOptions.vsFindOptionsRegularExpression) 
     selection.ReplacePattern(regex, fixed, vsFindOptions.vsFindOptionsRegularExpression) 
    End While 
End Sub 
+0

No estoy familiarizado con el uso de macros en Visual Studio ... ¿puedo adjuntarlo esencialmente a Ctrl + K + D? –

+0

No para ctrl-k-d, va a ser una pulsación de tecla adicional, creo. Sin embargo, es posible que primero llame al 'autoformato' dentro de la macro. –

0

Creo que la formatee con Ctrl + K, Ctrl + D

Cuestiones relacionadas