2010-02-10 17 views
5

Nella mia squadra, lo stile di codice nei file .xaml al momento non è molto coerente. Abbiamo esaminato il formattatore automatico di Visual Studio per farlo formattare il codice in qualcosa che ci piace. Tuttavia, per una opzione ci manca una condizione aggiuntiva. Le opzioni di cui sto parlando si trovano in Strumenti -> Opzioni -> Editor di testo -> XAML -> Formattazione.VS2008 Formattatore di codice XAML

Vogliamo ogni attributo su una riga separata. Inizialmente, abbiamo anche voluto il primo attributo su una nuova linea (di seguito l'inizio del tag) in questo modo:

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

Ma ci siamo resi conto che l'esecuzione di tali norme renderebbe tag che impostato un solo attributo aspetto orribile, specialmente se sono nidificati:

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

Così abbiamo provato a posizionare il primo attributo sulla stessa riga del tag di inizio. Pur mantenendo le due regole importanti (un attributo per linea, allineato verticalmente). Sembrava decente in entrambi i casi:

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

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

Il problema ora è che Visual Studio sembra privo della condizione per avere entrambi. I.e .:

  • Se è impostato un solo attributo: tenerlo su una riga.
  • Se è impostato più di un attributo: posizionare il primo attributo su una nuova riga, un attributo per riga e allinearli verticalmente.

È possibile eseguire Visual Studio 2008 per eseguire questa operazione? E se no, potrebbe il programma di formattazione del codice in ReSharper farlo (potrebbe valerne la pena)?

risposta

2

forse questi vi aiuterà 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

(ultime due collegamenti sono menzionati nel testo sotto primo link)

EDIT: le opzioni che ho controllato in ReSharper e non sono riuscito a trovare alcuna opzione solo per la formattazione XAML (lì a re per C#, vb.net e XML)

EDIT2: ho controllato le opzioni di formattazione in VS e c'è qualcosa che sembra esattamente quello che ti serve. In "Spaziatura" c'è l'opzione "Posiziona ogni attributo su una linea separata" e ha la casella "Posiziona il primo attributo sulla stessa riga del tag iniziale". Secondo me dovrebbe fare quello che ti serve.

+0

Per quanto riguarda "Posizionare ciascun attributo su una riga separata", questo è quello che voglio supponendo che ci sia più di un attributo, altrimenti no. Ho cercato di spiegare la differenza nella mia domanda iniziale. Forse dovrei rivederlo. – Mizipzor

+0

che dire di quella casella di controllo che ho menzionato? se si dispone di un solo attributo, deve posizionarlo sulla stessa riga del tag e se ci sono più attributi devono essere posizionati in righe separate a causa dell'opzione "posizionare ciascun attributo su una riga separata".Forse non capisco qualcosa ma la descrizione di queste opzioni suggerisce di lavorare in base alle tue esigenze. – grapkulec

+0

e @mizipzor, la casella di controllo che hai menzionato fa esattamente ciò che l'OP vuole, anche se l'ho provato solo su VS2010. –

3

Prova http://xamlstyler.codeplex.com/, questo formattatore xaml non interromperà gli attributi in righe diverse, se un elemento ha solo 2 o meno di 2 attributi, inoltre, questo formattatore ha la capacità di ordinare gli attributi di un elemento in una regola predefinita, che rende molto meglio l'aspetto del tuo markup.

Problemi correlati