#wpf #visual-studio-2010 #xaml #stylecop
#wpf #visual-studio-2010 #xaml #stylecop
Вопрос:
Мне было поручено использовать stylecop для файлов .xaml. У кого-нибудь есть хорошее место, чтобы начать поиск наилучшего способа выполнить эту задачу. Я бродил по Интернету и пока не нашел хорошего решения. Наша среда разработки — это приложение WPF версии 2010. Спасибо вам за вашу помощь.
Комментарии:
1. Я не уверен, возможно ли использовать stylecop с xaml. Однако я использую Xaml Styler ( xamlstyler.codeplex.com ) для правильного форматирования кодов XAML.
Ответ №1:
StyleCop — это инструмент анализа исходного кода для повышения его удобочитаемости. Visual Studio сама по себе была бы хорошим местом для начала. Когда вы начинаете писать xaml с помощью VS, он автоматически делает отступы в коде.
Вот пример
<Window x:Class="WpfApplication3.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Button Content="Hi" />
</Grid>
</Window>
Это то, что ожидается (я думаю)
<Window x:Class="WpfApplication3.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Button Content="Hi" />
</Grid>
</Window>
Ответ №2:
Согласно http://archive.msdn.microsoft.com/sourceanalysis , StyleCop анализирует только исходный код C # — XAML — это совершенно другой язык. Если ваш начальник или менеджер поручил вам использовать StyleCop для .xaml
файлов — то, что они, вероятно, имели в виду xaml.cs
(и вам следует перепроверить с ними, а не верить мне на слово), — это проанализировать связанные с ними, в том числе, файлы. Каждый файл xaml является частичным классом — одной частью класса является XAML (который автоматически преобразуется в xaml.designer.cs
файл, с которым вы не можете и не должны возиться), а другая часть класса (часто называемая codebehind) — это .xaml.cs
. В этом документе вы можете использовать StyleCop, хотя некоторые из его правил могут быть сбиты с толку тем фактом, что он выполняется только на одной половине частичного класса.
Это лучшее, чего вы можете надеяться достичь.
Комментарии:
1. Также вы можете попробовать проанализировать «другую часть» xaml: действительно, xaml скомпилирован в .cs, все файлы помещены в
/obj
папку с расширением.g.cs
Ответ №3:
В Microsoft Xaml Toolkit есть интеграция с Fxcop, которая может оказаться полезной.
публикация в блоге: http://blogs.msdn.com/b/wpf/archive/2010/07/28/microsoft-xaml-toolkit-ctp-july-2010-fxcop-integration.aspx