Параметры конфигурации для правил качества кода
Правила качества кода имеют дополнительные параметры конфигурации помимо настройки серьезности. Например, каждый анализатор качества кода можно применять только к отдельным частям базы кода. Эти параметры задаются в формате пар "ключ — значение" в том же файле EditorConfig, где и уровни серьезности для правил и общие параметры редактора.
Примечание.
В этой статье нет сведений о настройке серьезности правила. Параметр .editorconfig для задания серьезности правила имеет другой префикс (dotnet_diagnostic
) для параметров, описанных здесь (dotnet_code_quality
). Кроме того, описанные здесь параметры относятся только к правилам качества кода, в то время как параметр серьезности также применяется к правилам стиля кода. В качестве краткой ссылки можно настроить серьезность правила с помощью следующего синтаксиса параметра:
dotnet_diagnostic.<rule ID>.severity = <severity value>
Однако подробные сведения о настройке серьезности правил см . на уровне серьезности.
Области параметров
Каждый параметр уточнения можно задать для всех правил, для определенной категории (например, безопасности или проектирования) или для конкретного правила.
Все правила
Следующий синтаксис позволяет применить параметр для всех правил:
Синтаксис | Пример |
---|---|
dotnet_code_quality.<OptionName> = <OptionValue> | dotnet_code_quality.api_surface = public |
Значения для <OptionName>
указаны в разделе Параметры.
Категория правил
Следующий синтаксис позволяет применить параметр для одной категории правил:
Синтаксис | Пример |
---|---|
dotnet_code_quality.<RuleCategory>.<OptionName> = OptionValue | dotnet_code_quality.Naming.api_surface = public |
В следующей таблице перечислены доступные значения для <RuleCategory>
.
Design
Documentation
Globalization
Interoperability
Maintainability
Naming
Performance
SingleFile
Reliability
Security
Usage
Конкретное правило
Следующий синтаксис позволяет применить параметр для конкретного правила:
Синтаксис | Пример |
---|---|
dotnet_code_quality.<RuleId>.<OptionName> = <OptionValue> | dotnet_code_quality.CA1040.api_surface = public |
Параметры
В этом разделе приведены некоторые из доступных параметров. Полный список доступных параметров см. на странице Analyzer Configuration (Конфигурация анализатора).
- api_surface
- exclude_async_void_methods
- exclude_single_letter_type_parameters
- output_kind
- required_modifiers
- exclude_extension_method_this_parameter
- null_проверка_validation_methods
- additional_string_formatting_methods
- excluded_type_names_with_derived_types
- excluded_symbol_names
- disallowed_symbol_names
- exclude_ordefault_methods
- ignore_internalsvisibleto
api_surface
Description | Допустимые значения | Default value | Настраиваемые правила |
---|---|---|---|
Какая часть поверхности API будет анализироваться | public (применяется к public и protected API)internal или friend (применяется к internal API и private protected api)private (применимо к private API)all (применяется ко всем API)Для разделения значений используйте запятые (,) |
public |
CA1000 CA1002CA1003CA1005CA1008CA1010CA1012CA1021CA1024CA1027 CA1028CA1030 CA1030CA1036CA1040CA1041CA1043CA1044CA1045CA1046CA1047CA1051CA1052CA1054CA1055 CA1056CA1058CA1062CA1063CA1068CA1070CA1700CA1707CA1708CA1710CA1711CA1714CA1715CA1716 CA1716CA1717CA1720CA1721CA1725CA1801CA1802CA1815CA1819CA1822CA1859CA2208CA2217CA22225CA2226CA2231CA2234 |
exclude_async_void_methods
Description | Допустимые значения | Default value | Настраиваемые правила |
---|---|---|---|
Нужно ли игнорировать асинхронные методы, которые не возвращают значений | true false |
false |
CA2007 |
Примечание.
Этот параметр именовался skip_async_void_methods
в более ранней версии.
exclude_single_letter_type_parameters
Description | Допустимые значения | Default value | Настраиваемые правила |
---|---|---|---|
Нужно ли исключать из правила односимвольные параметры типа, как например S в Collection<S> |
true false |
false |
CA1715 |
Примечание.
Этот параметр именовался allow_single_letter_type_parameters
в более ранней версии.
output_kind
Description | Допустимые значения | Default value | Настраиваемые правила |
---|---|---|---|
Указывает, что нужно анализировать код в проекте, который создает сборку указанного типа | Одно или несколько полей перечисления OutputKind Для разделения значений используйте запятые (,) |
Все типы выходных данных | CA2007 |
required_modifiers
Description | Допустимые значения | Default value | Настраиваемые правила |
---|---|---|---|
Указывает обязательные модификаторы для API, которые нужно анализировать | Одно или несколько значений из приведенной ниже таблицы допустимых модификаторов Для разделения значений используйте запятые (,) |
Зависит от конкретного правила | CA1802 |
Допустимый модификатор | Итоги |
---|---|
none |
Нет требований к модификатору |
static или Shared |
Должен быть объявлен как static (или Shared в Visual Basic) |
const |
Должен быть объявлен как const |
readonly |
Должен быть объявлен как readonly |
abstract |
Должен быть объявлен как abstract |
virtual |
Должен быть объявлен как virtual |
override |
Должен быть объявлен как override |
sealed |
Должен быть объявлен как sealed |
extern |
Должен быть объявлен как extern |
async |
Должен быть объявлен как async |
exclude_extension_method_this_parameter
Description | Допустимые значения | Default value | Настраиваемые правила |
---|---|---|---|
Нужно ли пропускать анализ для параметра this в методах расширения |
true false |
false |
CA1062 |
null_check_validation_methods
Description | Допустимые значения | Default value | Настраиваемые правила |
---|---|---|---|
Имена методов проверки на значение NULL, которые проверяют отсутствие значений NULL в аргументах, передаваемых в метод | Форматы имен разрешенных методов (разделенные |): — только имя метода (включает все методы с этим именем, любого типа и в любом пространстве имен); — полные имена в формате идентификатора документации для символа с необязательным префиксом M: . |
нет | CA1062 |
additional_string_formatting_methods
Description | Допустимые значения | Default value | Настраиваемые правила |
---|---|---|---|
Имена дополнительных методов форматирования строк | Форматы имен разрешенных методов (разделенные |): — только имя метода (включает все методы с этим именем, любого типа и в любом пространстве имен); — полные имена в формате идентификатора документации для символа с необязательным префиксом M: . |
нет | CA2241 |
excluded_type_names_with_derived_types
Description | Допустимые значения | Default value | Настраиваемые правила |
---|---|---|---|
Имена типов (включая все производные типы), исключаемых из анализа | Допустимые форматы имен символов (разделенные |): — только имя типа (включает все типы с этим именем, любого типа и в любом пространстве имен); — полные имена в формате идентификатора документации для символа с необязательным префиксом T: . |
нет | CA1001CA1054CA1055 CA1056CA1062CA1068CA1303CA1304CA1305CA1508CA2000CA2100CA2301CA2302CA2311 CA2312CA2321CA2322 CA2327CA2328CA2329CA2330 CA3001CA3002CA3003 CA3004CA3005 CA3006CA3007CA3008CA3009CA3010CA3011 CA3012CA5361CA5376CA5377 CA5377CA5378CA5380CA5381CA5382CA5383CA5384CA5387CA5388CA5389CA5390CA5399 CA5399CA5400 |
excluded_symbol_names
Description | Допустимые значения | Default value | Настраиваемые правила |
---|---|---|---|
Имена символов, исключаемых из анализа | Допустимые форматы имен символов (разделенные |): — только имя символа (включает все символы с этим именем, любого типа и в любом пространстве имен); — полные имена в формате идентификатора документации для символа. Для каждого имени символа требуется префикс вида символа, например префикс M: для методов, префикс T: для типов и префикс N: для пространств имен.- .ctor используется для конструкторов, а .cctor — для статических конструкторов |
нет | CA1001CA1054CA1055 CA1056CA1062CA1068CA1303CA1304CA1305CA1508CA2000CA2100CA2301CA2302CA2311 CA2312CA2321CA2322 CA2327CA2328CA2329CA2330 CA3001CA3002CA3003 CA3004CA3005 CA3006CA3007CA3008CA3009CA3010CA3011 CA3012CA5361CA5376CA5377 CA5377CA5378CA5380CA5381CA5382CA5383CA5384CA5387CA5388CA5389CA5390CA5399 CA5399CA5400 |
disallowed_symbol_names
Description | Допустимые значения | Default value | Настраиваемые правила |
---|---|---|---|
Имена символов, запрещенных в контексте анализа | Допустимые форматы имен символов (разделенные |): — только имя символа (включает все символы с этим именем, любого типа и в любом пространстве имен); — полные имена в формате идентификатора документации для символа. Для каждого имени символа требуется префикс вида символа, например префикс M: для методов, префикс T: для типов и префикс N: для пространств имен.- .ctor используется для конструкторов, а .cctor — для статических конструкторов |
нет | CA1031 |
exclude_ordefault_methods
Description | Допустимые значения | Default value | Настраиваемые правила |
---|---|---|---|
FirstOrDefault Исключает и LastOrDefault методы из анализа. |
true или false |
false |
CA1826 |
ignore_internalsvisibleto
Description | Допустимые значения | Default value | Настраиваемые правила |
---|---|---|---|
Включает сборки, InternalsVisibleToAttribute помеченные в анализе. | true или false |
true |
CA1812CA1852 |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по