VS2008 XAML кодировщик кода - PullRequest
       21

VS2008 XAML кодировщик кода

5 голосов
/ 10 февраля 2010

В моей команде стиль кода в файлах .xaml в настоящее время не очень согласован. Мы посмотрели на автоформатор Visual Studio, чтобы он отформатировал код так, как нам нравится. Однако для одного варианта нам не хватает дополнительного условия. Опции, о которых я говорю, находятся в меню Сервис -> Параметры -> Текстовый редактор -> XAML -> Форматирование.

Мы хотим, чтобы каждый атрибут был в отдельной строке. Первоначально мы также хотели, чтобы первый атрибут в новой строке (ниже начала тега) был следующим:

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

Но мы быстро поняли, что при работе с этими правилами теги, которые устанавливают только один атрибут, выглядят ужасно, особенно если они были вложенными:

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

Итак, мы попытались расположить первый атрибут в той же строке, что и начальный тег. При этом сохраняются два важных правила (по одному атрибуту на строку, выровненные по вертикали). В обоих случаях это выглядело прилично:

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

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

Проблема в том, что Visual Studio, похоже, не хватает условия для того, чтобы иметь оба. I.e.:

  • Если задан только один атрибут: оставьте его в одной строке.
  • Если задано более одного атрибута: поместите первый атрибут в новую строку, по одному атрибуту в строке и выровняйте их по вертикали.

Можно ли сделать Visual Studio 2008 для этого? И если нет, может ли средство форматирования кода в ReSharper сделать это (может, оно того стоит)?

Ответы [ 2 ]

3 голосов
/ 14 октября 2010

Попробуйте http://xamlstyler.codeplex.com/, этот форматер xaml не будет разбивать атрибуты на разные строки, если элемент имеет только 2 или менее 2 атрибутов, также этот форматтер имеет возможность сортировать атрибуты элемента в предопределенное правило, которое значительно улучшает внешний вид вашей разметки.

2 голосов
/ 13 февраля 2010

Может быть, это поможет вам:

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

(последние две ссылки упоминаются в тексте под первой ссылкой)

РЕДАКТИРОВАТЬ: я проверил параметры в ReSharper, и я не мог найти какие-либо параметры только для форматирования XAML (есть для c #, vb.net и XML)

EDIT2: я проверил параметры форматирования в VS, и есть кое-что, что кажется именно то, что вам нужно. В «Интервале» есть опция «Поместить каждый атрибут на отдельной строке», и он имеет флажок «Поместить первый атрибут на той же строке, что и начальный тег». На мой взгляд, он должен делать то, что вам нужно.

...