Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Анализ стилей кода .NET предоставляет правила, направленные на поддержание согласованного стиля в базе кода. У этих правил в идентификаторе содержится префикс "IDE".
Правила стиля кода организованы в следующие подкатегории:
Языковые и ненужные правила кода
Правила, относящиеся к языку C# или Visual Basic. Например, можно указать правила, касающиеся использования
var
при определении переменных или назначения приоритета членам, заданным выражениями. Эта категория также содержит правила, которые находят ненужный код, например неустранимый код в методах или неиспользуемых частных полях, свойствах или методах.-
Правила, относящиеся к макету и структуре кода, для повышения его читаемости. Например, можно указать параметр форматирования, определяющий, предпочтительны ли пробелы в блоках управления.
-
Правила, относящиеся к именованию элементов кода. Например, можно указать, что имена методов
async
должны содержать суффикс "Async". -
Правила, которые не относятся к другим категориям.
Индекс
В следующей таблице перечислены все правила стиля кода по идентификатору и параметрам, если таковые есть.
Идентификатор правила | Заголовок | Вариант |
---|---|---|
IDE0001 | Упростить имя | |
IDE0002 | Упрощение доступа к членам | |
IDE0003 | Удалить квалификацию this или Me |
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 | Добавьте квалификацию this или Me |
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 |
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 стиль_скобок_dotnet_в_реляционных_бинарных_операторах стиль_скобок_в_других_бинарных_операторах_dotnet 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 | |
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 |
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 |
IDE1005 | Использовать условный вызов делегата | стиль csharp_conditional_delegate_call |
IDE1006 | Стили именования | |
IDE3000 | Реализация с помощью Copilot |
Примечание.
Существуют некоторые правила, которые отображаются только в интегрированной среде разработки Visual Studio, и эти правила относятся к строкам шаблонов JSON и регулярных выражений. Дополнительные сведения см. в разделе JSON001, JSON002 и RE0001.
Легенда
В следующей таблице показан тип сведений, предоставленных для каждого правила в справочной документации.
Элемент | Описание |
---|---|
Идентификатор правила | Уникальный идентификатор правила. Используется для настройки серьезности правил и подавления предупреждений в файле кода. |
Титул | Название правила. |
Категория | Категория правила. |
Подкатегории | Подкатегории для правил, таких как правила языка, правила форматирования или правила именования. |
Применимые языки | Применимые языки .NET (C# или Visual Basic) вместе с минимальной версией языка, если это применимо. |
Представленная версия | Версия пакета SDK для .NET или Visual Studio при первом введении правила. |
Параметры | Все доступные параметры правила. |