2009-03-11 10 views
33

Al escribir código en un archivo .aspx (una vista MVC en este caso), Visual Studio aplica dos tipos de formato, uno a la estructura de etiqueta html normal (que puede ser controlado desde Herramientas-> Opciones-> Editores de texto-> Html) y otro al contenido dentro de las etiquetas <%%>.Cómo cambiar las configuraciones automáticas de formato .ASPX (Visual Studio)

Me he encontrado con dos molestias con el segundo tipo de formateo automático, el formato de contenido <%%>.

El primero es cómo las nuevas líneas se añaden a bloques de instrucciones:

Si escribo esto:

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

Se corregirá automáticamente a esto:

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

Mientras que la corrección es correcta si este era un archivo .cs, para la sopa de etiquetas que son archivos .aspx encuentro el primero mucho más legible. ¿Hay alguna forma de desactivar este comportamiento sin afectar el formateo de los archivos .cs?

En segundo lugar, cada vez que escribo algo como esto:

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

No puedo encontrar una manera de hacer que formatear automáticamente en esta (añadir el espaciamiento en su caso):

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

En el código normalmente necesitas un; o} para indicar que ha terminado una línea/sección de código para que Visual Studio pueda formatearlo. ¿Hay alguna manera de dar esta señal para un <% = tipo de expresión?

CLARIFICACION

Esta pregunta es cómo es el formato de código dentro de <%%> etiquetas sin afectar el formato de los archivos regulares C# fuente. En el primer párrafo, dice que estoy completamente al tanto del menú de editores de texto.

+0

Preguntas geniales. También encuentro que estos son extremadamente molestos. – Micah

+0

Igual, también tengo instalado el resharper que no ayuda a las cosas –

+0

Hombre oh hombre. En los viejos tiempos (posiblemente la primera versión de Visual Studio.NET, no estoy seguro), reformateaba HTML cada vez que abría un archivo en la vista de diseño. Y cuando digo "reformatear", eso incluía quitar los atributos que eran necesarios para hacer el HTML válido y accesible, y agregar atributos que detenían que el HTML fuera válido. Grandes tiempos. –

Respuesta

4

El menú de editores de texto es todo lo que hay, y no le permite hacer las cosas que desea.Cuando haga clic derecho en una página aspx, haga clic en "Formatear y Validar ..." y luego haga clic en el botón "Opciones específicas de etiquetas ..." obtendrá una serie de configuraciones por cliente o etiqueta de servidor, pero no para el <% -tags.

En cuanto a la segunda parte de su pregunta, Ctrl-E, D formatea su documento, pero no inserta el espaciado que desea.

2

Usted es capaz de cambiar el formato automático en este menú:
Herramientas -> Opciones -> Editor de texto

Por ejemplo, puede cambiar el caso de la nueva línea de declaración, en:
C#
- Formateo
- Líneas nuevas
--- Coloque abrazadera abierta en la nueva línea para los bloques de control

Espero que esto ayude.

+1

Eso parece afectar el formateo de todos los archivos .cs, que es lo que queremos evitar. Solo queremos cambiar la forma en que se formatea el código de sopa de etiqueta. – David

-4

Si nunca ha personalizado su entorno, le sugiero que pase algo de tiempo en el cuadro de diálogo Herramientas >> Opciones. Hay muchas cosas interesantes que puede hacer para personalizar su entorno, así como alterar la forma predeterminada en que actúa Visual Studio.

No he probado las nuevas líneas en una vista MVC, por lo que no estoy completamente vendido, funciona, pero sería donde probaría primero, también. Funciona en un archivo C#, código detrás o de lo contrario.

2

Actualmente, la única respuesta que conozco es la de escribir macros utilizando expresiones regulares y asignarlas a acordes fáciles de usar. He respondido previamente una pregunta donde el formato automático cambiaría el cierre de los frenos para:

<% 
    } 
    %> 

Usted puede encontrar la respuesta, incluyendo el código de la macro utiliza here.

Cuestiones relacionadas