Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
.NET анализ стиля кода предоставляет правила, направленные на поддержание согласованной style в базе кода. У этих правил в идентификаторе содержится префикс "IDE".
Правила стиля кода организованы в следующие подкатегории:
Языковые и ненужные правила кода
Правила, относящиеся к языку C# или Visual Basic. Например, можно указать правила, касающиеся использования
varпри определении переменных или назначения приоритета членам, заданным выражениями. Эта категория также содержит правила, которые находят ненужный код, например неустранимый код в методах или неиспользуемых частных полях, свойствах или методах.-
Правила, относящиеся к макету и структуре кода, для повышения его читаемости. Например, можно указать параметр форматирования, определяющий, предпочтительны ли пробелы в блоках управления.
-
Правила, относящиеся к именованию элементов кода. Например, можно указать, что имена методов
asyncдолжны содержать суффикс "Async". -
Правила, которые не относятся к другим категориям.
Индекс
В следующей таблице перечислены все правила стиля кода по идентификатору и параметрам, если таковые есть.
| Идентификатор правила | Заголовок | Вариант |
|---|---|---|
| IDE0001 | Упростить имя | |
| IDE0002 | Упрощение доступа к членам | |
| IDE0003 | Имя может быть упрощено |
dotnet_style_qualification_for_field стиль_квалификации_для_свойства в dotnet dotnet_style_qualification_for_method dotnet_style_qualification_for_event |
| IDE0004 | Удаление ненужного приведения | |
| IDE0005 | Удаление ненужных операций импорта | |
| IDE0007 | Использование var вместо явного типа |
csharp_стиль_var_для_встроенных_типов csharp_style_var_when_type_is_apparent (используйте 'var', когда тип очевиден) csharp_style_var_elsewhere |
| IDE0008 | Используйте явный тип вместо var |
csharp_стиль_var_для_встроенных_типов csharp_style_var_when_type_is_apparent (используйте 'var', когда тип очевиден) csharp_style_var_elsewhere |
| IDE0009 | Доступ к члену должен быть квалифицирован |
dotnet_style_qualification_for_field стиль_квалификации_для_свойства в dotnet dotnet_style_qualification_for_method dotnet_style_qualification_for_event |
| IDE0010 | Добавление недостающих вариантов в оператор switch | |
| IDE0011 | Добавление фигурных скобок | csharp_предпочтение_скобок |
| IDE0016 | Использование выражения throw | csharp_style_throw_expression |
| IDE0017 | Использование инициализаторов объектов | dotnet_style_object_initializer |
| IDE0018 | Объявление встроенной переменной | стиль C#: обьявление переменных внутри строки (csharp_style_inlined_variable_declaration) |
| IDE0019 | Используйте сопоставление шаблонов, чтобы избежать as и последующей проверки null |
стиль_сsharp_использование_сопоставления_образцов_вместо_as_с_проверкой_на_нул |
| IDE0020 | Используйте сопоставление шаблонов, чтобы избежать проверки is, после которой следует приведение типов (с переменной) |
Стиль C#: проверка с приведением через сопоставление с образцом (pattern matching) вместо is. |
| IDE0021 | Используйте тело выражения для конструкторов | стиль_сsharp_выражение_тело_конструкторов |
| IDE0022 | Используйте тело выражения для методов | csharp стиль методов с телом в виде выражений |
| IDE0023 | Использование тела выражения для операторов преобразования | Операторы в стиле выражений C# |
| IDE0024 | Использование тела выражения для операторов | Операторы в стиле выражений C# |
| IDE0025 | Используйте тело выражения для свойств | Стиль C# для свойств, основанных на телах выражений (csharp_style_expression_bodied_properties) |
| IDE0026 | Используйте тело выражения для индексаторов | csharp_style_expression_bodied_indexers (стиль C# для индексаторов с телом выражения) |
| IDE0027 | Использовать тело выражения для методов доступа | csharp_style_expression_bodied_accessors |
| IDE0028 | Используйте инициализаторы коллекций |
dotnet_style_collection_initializer dotnet_style_prefer_collection_expression |
| IDE0029 | Проверка null может быть упрощена | dotnet_style_coalesce_expression |
| IDE0030 | Проверка null может быть упрощена | dotnet_style_coalesce_expression |
| IDE0031 | Использование распространения значений NULL | dotnet_style_null_propagation (стиль распространения null) |
| IDE0032 | Использование автосвойства | dotnet_style_prefer_auto_properties |
| IDE0033 | Используйте явно указанное имя кортежа | dotnet_style_explicit_tuple_names |
| IDE0034 | Упрощение выражения default |
csharp_предпочитать_простое_по_умолчанию_выражение |
| IDE0035 | Удаление недостижимого кода | |
| IDE0036 | Модификаторы заказа |
рекомендуемый_порядок_модификаторов_csharp предпочтительный_порядок_модификаторов_в_Visual_Basic |
| IDE0037 | Использовать выводимое имя члена |
dotnet_style_prefer_inferred_tuple_names `dotnet_style_prefer_inferred_anonymous_type_member_names` |
| IDE0038 | Используйте сопоставление шаблонов, чтобы избежать проверки is с последующим приведением (без переменной) |
Стиль C#: проверка с приведением через сопоставление с образцом (pattern matching) вместо is. |
| IDE0039 | Используйте локальную функцию вместо лямбда-выражения | csharp_стиль_предпочесть_локальное_над_анонимной_функцией |
| IDE0040 | Добавить модификаторы доступа | dotnet_style_require_accessibility_modifiers (требовать модификаторы доступности) |
| IDE0041 | Используйте проверку IS NULL | dotnet_style_prefer_is_null_check_over_reference_equality_method (предпочтение проверки на null над методом равенства ссылок) |
| IDE0042 | Деконструируйте объявление переменной | стиль_деконструированного_объявления_переменной_csharp |
| IDE0043 | Недопустимая строка формата | |
| IDE0044 | Добавить модификатор readonly | стиль_dotnet_только_для_чтения_поля |
| IDE0045 | Используйте условное выражение для назначения | dotnet_style_prefer_conditional_expression_over_assignment |
| IDE0046 | Использование условного выражения для возврата | dotnet_style_prefer_conditional_expression_over_return |
| IDE0047 | Удаление ненужных круглых скобок |
dotnet_style_parentheses_in_arithmetic_binary_operators dotnet_style_parentheses_in_relational_binary_operators (стиль скобок в реляционных бинарных операторах) dotnet_style_parentheses_in_other_binary_operators dotnet_style_скобки_в_других_операторах |
| IDE0048 | Добавление круглых скобок для ясности |
dotnet_style_parentheses_in_arithmetic_binary_operators dotnet_style_parentheses_in_relational_binary_operators (стиль скобок в реляционных бинарных операторах) dotnet_style_parentheses_in_other_binary_operators dotnet_style_скобки_в_других_операторах |
| IDE0049 | Используйте ключевые слова языка вместо названий типов фреймворков для обозначения ссылок на типы. |
dotnet_style_predefined_type_for_locals_parameters_members dotnet_style_predefined_type_for_member_access |
| IDE0050 | Преобразование анонимного типа в кортеж | |
| IDE0051 | Удалите неиспользуемый закрытый член | |
| IDE0052 | Удалить непрочитанные приватные члены | |
| IDE0053 | Используйте тело выражения для лямбда-выражений | csharp_стиль_выражений_в_лямбдах |
| IDE0054 | Используйте составное присваивание | dotnet_style_prefer_compound_assignment |
| IDE0055 | Исправление форматирования | (Слишком много, чтобы перечислить здесь. См. параметры форматирования .NET и параметры форматирования C#.) |
| IDE0056 | Используйте оператор индекса | csharp_style_prefer_index_operator |
| IDE0057 | Используйте оператор range | csharp_стиль_предпочитать_оператор_диапазона |
| IDE0058 | Удаление ненужного значения выражения |
csharp_style_unused_value_expression_statement_preference (предпочтение стиля для неиспользуемых выражений с результатом в C#) предпочтение_утверждения_неиспользуемого_выражения_значения_visual_basic_style |
| IDE0059 | Удалите назначение лишних значений |
стиль_сsharp_предпочтения_назначения_неиспользуемого_значения предпочтение неиспользуемого присваивания значения в стиле Visual Basic |
| IDE0060 | Удалите неиспользуемый параметр | dotnet_code_quality_unused_parameters (параметры неиспользованного кода) |
| IDE0061 | Использовать тело выражения для локальных функций | csharp_style_expression_bodied_local_functions |
| IDE0062 | Создание локальной функции static |
csharp_prefer_static_local_function |
| IDE0063 | Используйте простой оператор using |
предпочтение_упрощённого_использования_оператора_using_в_csharp |
| IDE0064 | Сделайте поля структуры доступными для записи | |
| IDE0065 | Размещение директив using |
csharp_using_directive_placement |
| IDE0066 | Используйте выражение switch | csharp_style_prefer_switch_expression |
| IDE0070 | Используйте System.HashCode.Combine | dotnet_prefer_system_hash_code |
| IDE0071 | Упрощение интерполяции | dotnet_style_prefer_simplified_interpolation |
| IDE0072 | Добавление недостающих вариантов в выражение switch | |
| IDE0073 | Использование заголовка файла | шаблон_заголовка_файла |
| IDE0074 | Использование объединенного составного оператора назначения | dotnet_style_prefer_compound_assignment |
| IDE0075 | Упрощение условного выражения | dotnet_style_prefer_simplified_boolean_expressions |
| IDE0076 | Удалите недопустимый глобальный SuppressMessageAttribute |
|
| IDE0077 | Не используйте устаревший формат для целевого объекта в глобальном атрибуте SuppressMessageAttribute |
|
| IDE0078 | Использование сопоставления шаблонов | csharp_стиль_предпочитать_совпадение_шаблона |
| IDE0079 | Удалить ненужное подавление | dotnet_удалить_ненужные_исключения_подавления |
| IDE0080 | Удаление ненужного оператора подавления | |
| IDE0081 | удален параметр ByVal; |
|
| IDE0082 | Преобразование typeof в nameof |
|
| IDE0083 | Использование сопоставления шаблонов (оператор not) |
csharp_стиль_предпочитать_не_шаблон |
| IDE0084 | Использование сопоставления шаблонов (оператор IsNot) |
visual_basic_style_prefer_isnot_expression |
| IDE0090 | Упрощение выражения new |
стиль_неявного_создания_объекта_csharp_когда_тип_очевиден |
| IDE0100 | Удаление ненужного оператора равенства | |
| IDE0110 | Удалить ненужный элемент | |
| IDE0120 | Упрощение выражения LINQ | |
| IDE0121 | Упростить проверку типов LINQ и приведение типов | |
| IDE0130 | Пространство имен не соответствует структуре папок | dotnet_style_namespace_match_folder |
| IDE0140 | Упрощение создания объектов | стиль_VisualBasic_предпочитать_упрощенное_создание_объектов |
| IDE0150 | Предпочитать проверку null вместо типовой проверки |
csharp_style_prefer_null_check_over_type_check |
| IDE0160 | Использование блочного пространства имен | csharp_style_namespace_declarations |
| IDE0161 | Использование пространства имен с областью действия файла | csharp_style_namespace_declarations |
| IDE0170 | Упрощение шаблона свойств | предпочтительный расширенный шаблон свойства |
| IDE0180 | Поменяйте значения с помощью кортежа | csharp_style_prefer_tuple_swap |
| IDE0200 | Удаление ненужного лямбда-выражения | csharp_style_prefer_method_group_conversion |
| IDE0210 | Преобразуйте в инструкции верхнего уровня | csharp_style_предпочитать_операторы_уровня_высшего_уровня |
| IDE0211 | Преобразуйте в программу формата 'Program.Main' | csharp_style_предпочитать_операторы_уровня_высшего_уровня |
| IDE0220 | Добавить явное приведение в цикл foreach | dotnet_style_prefer_foreach_explicit_cast_in_source |
| IDE0221 | Добавьте явное приведение | dotnet_style_prefer_non_hidden_explicit_cast_in_source |
| IDE0230 | Используйте строковый литерал UTF-8 | csharp_style_prefer_utf8_string_literals (предпочитать строковые литералы UTF-8) |
| IDE0240 | Директива Nullable является избыточной | |
| IDE0241 | Директива nullable является ненужной | |
| IDE0250 | Структуру можно сделать "readonly" | csharp_style_prefer_readonly_struct (предпочитать readonly структуры в стиле C#) |
| IDE0251 | Член можно сделать "readonly" | csharp_style_prefer_readonly_struct_member |
| IDE0260 | Использование сопоставления шаблонов | стиль_сsharp_использование_сопоставления_образцов_вместо_as_с_проверкой_на_нул |
| IDE0270 | Проверка null может быть упрощена | dotnet_style_coalesce_expression |
| IDE0280 | Используйте nameof |
|
| IDE0290 | Использование основного конструктора | csharp_style_prefer_primary_constructors |
| IDE0300 | Используйте выражение коллекции для массива | dotnet_style_prefer_collection_expression |
| IDE0301 | Используйте выражение коллекции для пустых элементов | dotnet_style_prefer_collection_expression |
| IDE0302 | Использование выражения коллекции для stackalloc | dotnet_style_prefer_collection_expression |
| IDE0303 | Используйте выражение коллекции для Create() |
dotnet_style_prefer_collection_expression |
| IDE0304 | Использование выражения коллекции для построителя | dotnet_style_prefer_collection_expression |
| IDE0305 | Используйте коллекционное выражение для плавности | dotnet_style_prefer_collection_expression |
| IDE0306 | Использование выражения коллекции для создания новых объектов | dotnet_style_prefer_collection_expression |
| IDE0320 | Создание анонимной функции static |
csharp_prefer_static_anonymous_function |
| IDE0330 | Предпочитайте «System.Threading.Lock» | csharp_prefer_system_threading_lock |
| IDE0340 | Использование несвязанного универсального типа | csharp_стиль_предпочитать_независимый_обобщенный_тип_в_nameof |
| IDE0350 | Используйте неявно типизированную лямбда-функцию | csharp_style_prefer_implicitly_typed_lambda_expression |
| IDE0360 | Упрощение метода доступа к свойствам | csharp_style_prefer_simple_property_accessors |
| IDE0370 | Удалить ненужное подавление | |
| IDE0380 | Удалите ненужный модификатор "небезопасного". | |
| IDE0390 | Сделать метод синхронным | |
| IDE0391 | Сделать метод синхронным | |
| IDE0410 | Использование инструкции перехода с метками | csharp_style_prefer_labeled_jump_statements |
| IDE1005 | Использовать условный вызов делегата | стиль csharp_conditional_delegate_call |
| IDE1006 | Стили именования | |
| IDE1007 | Имя не существует в текущем контексте | |
| IDE2000 | Избегайте нескольких пустых строк | dotnet_style_allow_multiple_blank_lines_experimental† |
| IDE2001 | Внедренные инструкции должны находиться в собственной строке | csharp_style_allow_embedded_statements_on_same_line_experimental† |
| IDE2002 | Последовательные фигурные скобки не должны иметь пустую строку между ними | csharp_style_allow_blank_lines_between_consecutive_braces_experimental† |
| IDE2003 | Пустая строка, необходимая между блоком и последующей инструкцией | dotnet_style_allow_statement_immediately_after_block_experimental† |
| IDE2004 | Пустая строка не разрешена после двоеточия инициализатора конструктора. | csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental† |
| IDE2005 | Пустая строка не разрешена после маркера условного выражения | csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental† |
| IDE2006 | Пустая строка недопустима после токена выражения со стрелкой | csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental† |
| IDE3000 | Реализация с помощью Copilot |
†Тезе правила являются экспериментальными и подвержены изменению или удалению.
Примечание.
Существуют некоторые правила, которые отображаются только в Visual Studio IDE, и эти правила относятся к строкам шаблонов JSON и регулярных выражений. Дополнительные сведения см. в разделе JSON001, JSON002 и RE0001.
Легенда
В следующей таблице показан тип сведений, предоставленных для каждого правила в справочной документации.
| Элемент | Описание |
|---|---|
| Идентификатор правила | Уникальный идентификатор правила. Используется для настройки серьезности правил и подавления предупреждений в файле кода. |
| Титул | Название правила. |
| Категория | Категория правила. |
| Подкатегории | Подкатегории для правил, таких как правила языка, правила форматирования или правила именования. |
| Применимые языки | Применимые .NET языки (C# или Visual Basic), а также минимальная версия языка, если применимо. |
| Представленная версия | Версия пакета SDK .NET или Visual Studio при первом появлении правила. |
| Параметры | Все доступные параметры правила. |