2010-02-10 23 views
5

En mi equipo, el estilo del código en los archivos .xaml no es muy constante actualmente. Revisamos el formateador automático de Visual Studio para que formatee el código en algo que nos gusta. Sin embargo, para una opción, carecemos de una condición adicional. Las opciones de las que estoy hablando se encuentran en Herramientas -> Opciones -> Editor de texto -> XAML -> Formateo.VS2008 Formateador de código XAML

Queremos cada atributo en una línea separada. Inicialmente, también queríamos el primer atributo en una nueva línea (por debajo del inicio de la etiqueta), así:

<MyFooBarButton 
    Attrib1="a" 
    Attrib2="b" /> 

Pero rápidamente nos dimos cuenta de que la ejecución de estas normas haría que las etiquetas que sólo se establece un atributo verse horrible, especialmente si estaban anidados:

<MyFooBarButton 
    Attrib1="a" /> 
    <NestedFoo 
     Attrib="b" /> 
     <NestedFoo2 
      Attrib="c" /> 

Así que tratamos de ubicar el primer atributo en la misma línea que la etiqueta de inicio. Mientras se mantienen las dos reglas importantes (un atributo por línea, alineado verticalmente). Se veía decente en ambos casos:

<MyFooBarButton Attrib1="a" 
       Attrib2="b" /> 

<MyFooBarButton Attrib1="a" /> 
    <NestedFoo Attrib="b" /> 
     <NestedFoo2 Attrib="c" /> 

El problema ahora es que Visual Studio parece carecer de la condición de tener ambos. Es decir .:

  • Si solo se establece un atributo: manténgalo en una línea.
  • Si se establece más de un atributo: coloque el primer atributo en una nueva línea, un atributo por línea y alinéelos verticalmente.

¿Se puede hacer que Visual Studio 2008 haga esto? Y si no, ¿podría hacerlo el formateador de código en ReSharper (podría hacer que valga la pena el costo)?

Respuesta

2

tal vez estos le ayudarán a:

http://weblogs.asp.net/fmarguerie/archive/2008/06/07/xaml-markup-formatting-in-visual-studio.aspx

http://geekswithblogs.net/lbugnion/archive/2007/09/29/Cleaning-up-XAML-code-and-improving-parsing-time-with-Blend.aspx#lbu_note2

http://dimebrain.com/2008/05/automating-read.html

(últimos dos enlaces se mencionan en el texto bajo el primer enlace)

EDIT: opciones que he marcado en ReSharper y no pude encontrar ninguna opción solo para el formato XAML (hay un re para C#, vb.net y XML)

EDIT2: Comprobé las opciones de formato en VS y hay algo que parece exactamente lo que necesita. En "Espaciado" existe la opción "Posicionar cada atributo en una línea separada" y tiene la casilla de verificación titulada "Primer atributo de posición en la misma línea que la etiqueta de inicio". En mi opinión, debería hacer lo que necesita.

+0

En cuanto a "Posicionar cada atributo en una línea separada", eso es lo que quiero suponer, suponiendo que hay más de un atributo, de lo contrario no. Traté de explicar la diferencia en mi pregunta original. Tal vez debería revisarlo. – Mizipzor

+0

¿Qué hay de esa casilla que mencioné? si tiene solo un atributo, debe colocarlo en la misma línea que la etiqueta y, si hay más atributos, debe colocarlos en líneas separadas debido a la opción "colocar cada atributo en una línea separada".Tal vez no entiendo algo, pero la descripción de estas opciones sugiere trabajar de acuerdo con sus necesidades. – grapkulec

+0

y @mizipzor, la casilla de verificación que mencionaste hace exactamente lo que OP quiere, aunque solo lo he probado en VS2010. –

3

prueba http://xamlstyler.codeplex.com/, este formateador xaml no dividirá atributos en líneas diferentes, si un elemento tiene solo 2 o menos de 2 atributos, también, este formateador tiene la capacidad de ordenar los atributos de un elemento en una regla predefinida, lo que hace que el aspecto de su marcado sea mucho mejor.