StyleCop — это инструмент с открытым исходным кодом, который можно использовать в проектах .NET для автоматического определения и применения рекомендаций по стилю кода.
Если вы совсем новичок в StyleCop, вы можете узнать больше об этом в дополнительном руководстве по StyleCop.
Существуют различные способы настройки StyleCop, однако следующие шаги описывают, как быстро и многократно настроить StyleCop для различных проектов .NET в рамках решения .NET.
Набор правил
Файл набора правил (.ruleset
) содержит XML, определяющий различные правила по идентификатору (например, CA1001
, SA1201
и т. д.), которые вы хотите проверить, и действие, которое будет предпринято (например, None
, Info
, Warning
и т. д.) для нарушения каждого правила. правило.
Наиболее важные действия с набором правил следующие:
Error
: нарушение правила отображается как ошибка сборки (т. е. сборка завершится ошибкой).Warning
: нарушение правила отображается в виде предупреждения сборки.Info
: нарушение правила будет отображаться в виде информационного сообщения о сборке.None
: нарушение правила ничего не даст. Это то же самое, что и правило, отсутствующее в файле набора правил.
Чтобы добавить новый файл набора правил в свое решение в Visual Studio, выберите: Файл › Создать › Файл. Найдите «Набор правил анализа кода» и выберите Добавить.
Создайте файл набора правил в корне вашего решения.
Если теперь вы выберете файл набора правил в Visual Studio, вам будет представлен пользовательский интерфейс, который позволяет вам выбирать/отменять выбор правил, а также назначать действия, которые вы хотите предпринять при нарушении правила.
StyleCop.Analyzers и Directory.Build.props
Для использования StyleCop в каждом проекте должна быть ссылка на пакет nuget StyleCop.Analyzers. Однако, чтобы обойти проблему, связанную с необходимостью индивидуальной ссылки на пакет из каждого проекта в репозитории, мы можем использовать файл Directory.Build.props
. Этот файл позволяет нам установить части файла проекта .NET, которые будут применяться ко всем файлам проекта .NET в иерархии каталогов. Например, размещение файла Directory.Build.props
в корне репозитория git означает, что его определения будут применяться ко всем файлам проекта .NET в репозитории git.
Пример файла Directory.Build.props
для использования StyleCop:
Этот пример Directory.Build.props
определяет следующее:
- Что три типа сборки (
Release
,Debug
иFullDebug
) должны использовать файл набора правилByteDev.Custom.ruleset
, расположенный в корне сборки. - Все три типа сборки также должны рассматривать все предупреждения как ошибки (т. е. теперь предупреждения будут прерывать сборку).
- Ссылка пакета nuget на
StyleCop.Analyzers
. Обратите внимание, что на момент написания последней версии является1.1.118
.
Краткое содержание
Таким образом, когда у вас есть файл набора правил и файл Directory.Build.props
при создании нового решения .NET, все, что вам нужно сделать, это:
- Скопируйте существующий файл
.ruleset
в корень вашего решения. - Скопируйте существующий файл
Directory.Build.props
в корень вашего решения.
Теперь любой проект .NET, который вы добавляете в свое решение, будет автоматически использовать StyleCop с предоставленным вами набором правил.