Поделиться через


Параметры стиля кода и очистка кода

Параметры стиля кода позволяют управлять аспектами кода, такими как отступ, ширина табуляции, символы конца строки, кодировка и многие другие варианты форматирования. Параметры стиля кода можно определить двумя способами:

Вы также можете настроить Visual Studio для применения настроек стиля кода с помощью команд очистки кода и форматирования документа .

Вы можете определить параметры стиля кода для каждого проекта с помощью файла EditorConfig или для всего кода, редактируемого в Visual Studio, на странице параметров .NET в текстовом редакторе или на странице параметров C/C++. Для кода C# можно также настроить Visual Studio для применения этих настроек стиля кода с помощью команд "Очистка кода" (Visual Studio 2019) и "Формат документа " (Visual Studio 2017).

Для .NET параметры стиля кода основаны на анализаторах платформы компилятора .NET (Roslyn). Дополнительные сведения см. в разделе "Анализ кода" с помощью анализаторов платформы компилятора .NET (Roslyn).

В Visual Studio 2019 версии 16.5 и более поздних версиях файлы набора правил устарели в пользу файлов EditorConfig для настройки стиля кода для кода .NET. Дополнительные сведения см. в разделе "Преобразование существующего файла набора правил" в файл EditorConfig.

Стили кода в файлах EditorConfig

Параметры стиля кода можно указать, добавив файл EditorConfig в проект. Файлы EditorConfig связаны с базой кода, а не учетной записью персонализации Visual Studio. Параметры в файле EditorConfig имеют приоритет над стилями кода, указанными в диалоговом окне Параметры. Используйте файл EditorConfig, если вы хотите применить стили написания кода для всех участников репозитория или проекта. Они особенно полезны для обеспечения согласованности в среде программирования команд.

Чтобы добавить файл EditorConfig, см. статью "Добавление и удаление файлов EditorConfig".

Справочные сведения о параметрах стиля кода .NET см. в разделе "Параметры стиля кода".

Стили кода C/C++ в диалоговом окне "Параметры"

Можно указать множество отдельных параметров форматирования кода, таких как отступы и фигурные скобки. Для этого перейдите в раздел "Сервис>Параметры>Текстовый редактор>C/C++>Стиль кода>Форматирование" (или введите Ctrl + Q и выполните поиск "Форматирование"). Кроме того, можно указать один из стилей ClangFormat (или собственный пользовательский стиль ClangFormat ).

Снимок экрана: область параметров с текстовым редактором.

Можно указать множество отдельных параметров форматирования кода, таких как отступы и фигурные скобки. Для этого перейдите в Сервис>Параметры>Text Editor>C/C++>Форматирование (или введите Ctrl + Q и выполните поиск "Форматирование"). Кроме того, можно указать один из стилей ClangFormat (или собственный пользовательский стиль ClangFormat ).

Дополнительные сведения о всех параметрах форматирования см. в разделе "Параметры", "Текстовый редактор", "C/C++", "Форматирование".

Стили кода .NET в диалоговом окне "Параметры"

Параметры стиля кода можно задать для всех проектов C# и Visual Basic, открыв диалоговое окно "Параметры " в меню "Сервис". В диалоговом окне "Параметры " выберите текстовый редактор> [C# или Visual Basic] >Стиль кода.

  • Для стилей форматирования выберите параметры в разделе "Форматирование".
  • Для параметров стиля кода, связанных с правилами быстрого действия и стиля кода интегрированной среды разработки, выберите параметры в разделе "Общие " или "Именование".

Параметры стиля кода можно задать для всех проектов C# и Visual Basic, открыв диалоговое окно "Параметры " в меню "Сервис". В диалоговом окне Параметры выберите Текстовый редактор> [C# или Базовый] >Стиль кодаОбщие>.

Каждый элемент в списке отображает предварительный просмотр предпочтений при выборе параметра:

снимок экрана параметров стиля кода.

снимок экрана параметров стиля кода.

Параметры, заданные в этом окне, применимы к учетной записи персонализации Visual Studio и не связаны с определенным проектом или базой кода. Кроме того, они не применяются во время сборки, включая сборки непрерывной интеграции (CI). Если вы хотите связать параметры стиля кода с проектом и применить стили во время сборки, укажите параметры в файле EditorConfig , связанном с проектом.

Предпочтения и серьезность

Для каждого параметра стиля кода на страницах параметров "Общие " и " Именование " можно задать значения предпочтений и серьезности с помощью раскрывающихся списков в каждой строке. Уровень серьезности можно задать для Только рефакторинг, предложения, предупрежденияили ошибки.

  • Параметры стиля кода на страницах " Общие " и " Параметры именования " определяют быстрые действия для стиля кода. быстрые действия лампочки , лампочки ошибок или значок отвертки отображается, если используется не предпочтительный стиль, и вы можете выбрать вариант в списке быстрых действий, чтобы автоматически переписать код в предпочитаемый стиль.
  • Если вы хотите, чтобы нарушение отображалось только в качестве быстрого действия и было исключено из очистки кода, задайте для Серьезности значение Только для рефакторинга.
  • Если вы хотите, чтобы нарушение отображалось в окне списка ошибок, а также в разделе "Быстрые действия" и включалось в очистку кода, задайте значение "Серьезность" на "Предложение", "Предупреждение" или "Ошибка". Нарушения отображаются как предложение (сообщение), предупреждение или ошибка при установке выходных данных в окне списка ошибок для build + IntelliSense. Они исключаются только из выходных данных сборки .

Параметры в файле EditorConfig имеют приоритет над стилями кода, заданными на этих страницах.

Принудительное применение стилей кода при сборке

Начиная с Visual Studio 2019 версии 16.8, которая включает пакет SDK для .NET 5.0 RC2, вы можете применить соглашения о программировании .NET для сборки для всех проектов .NET. Во время сборки нарушения стиля кода .NET будут отображаться в виде предупреждений или ошибок с префиксом IDE. Это позволяет строго применять согласованные стили кода в базе кода.

Применение стилей кода

При изменении стиля кода на странице "Параметры" или добавлении файла EditorConfig в проект в Visual Studio только новые строки кода форматируются на основе новых параметров. Форматирование существующего кода не изменяется, если вы не выполните одну из следующих команд:

  • очистка кода.

    Выберите Очистка кода в редакторе Visual Studio или нажмите CTRL+K, CTRL+E. Эта команда применяется к настройкам пробелов, таким как стиль отступа, и выбранным настройкам стиля кода, таким как предпочтения использования круглых скобок.

  • Формат документа.

    Выберите Изменить>Расширенные настройки>форматировать документ, или нажмите CTRL +K, CTRL+D в профиле по умолчанию. Эта команда применяется только к настройкам пробелов, таким как стиль отступов.

Применение стилей кода с помощью очистки кода

Чтобы применить стили кода из файла EditorConfig или на странице параметров стиля кода, нажмите кнопку очистки кода в нижней части редактора (клавиатура: CTRL+, CTRL+E). Если файл EditorConfig существует для проекта, это параметры, которые имеют приоритет.

Совет

Правила .NET, настроенные с серьезностью Только рефакторинг, не участвуют в очистке кода, но могут применяться по отдельности с помощью меню Быстрые действия и рефакторинг.

Чтобы применить стили кода, выполните указанные ниже действия.

  1. Сначала настройте стили кода, которые необходимо применить (в одном из двух профилей) в диалоговом окне Настройка очистки кода. Чтобы открыть это диалоговое окно, щелкните стрелку-развертку рядом с значком метлы для очистки кода, а затем выберите Настроить очистку кода. Кроме того, используйте меню анализа>очистки кода.

    снимок экрана: настройка очистки кода.

    Сопоставление средств очистки кода .NET с правилами стиля кода .NET см. в параметрах очистки кода .NET.

    Параметры C/C++ включают C++ в имя средства исправления.

  2. После настройки очистки кода используйте один из следующих методов для запуска очистки кода:

    • Щелкните значок метлы или нажмите клавиши Ctrl+K, Ctrl+E.

      Скриншот: выполнение очистки кода.

    • Чтобы выполнить очистку кода во всем проекте или решении, щелкните правой кнопкой мыши имя проекта или решения в обозревателе решений, выберите "Анализ и очистка кода", а затем нажмите кнопку "Очистка кода".

      снимок экрана запуска очистки кода во всем проекте или решении.

  3. (Необязательно) Если вы хотите, чтобы параметры стиля кода применялись каждый раз при сохранении файла, перейдите в Параметры>Текстовый редактор>Очистка кода и выберите Выполнить профиль очистки кода при сохранении.

Для файлов кода C# в Visual Studio есть кнопка Код очистки в нижней части редактора (клавиатура: Ctrl +K, Ctrl+E) для применения стилей кода из файла "EditorConfig" или на странице параметров Код стиля. Если файл EditorConfig существует для проекта, это параметры, которые имеют приоритет.

Совет

Правила, настроенные с уровнем серьёзности None, не участвуют в очистке кода, но могут применяться по отдельности с помощью меню Быстрых действий и Реорганизации кода.

Чтобы применить стили кода, выполните указанные ниже действия.

  1. Сначала настройте стили кода, которые необходимо применить (в одном из двух профилей) в диалоговом окне Настройка очистки кода. Чтобы открыть это диалоговое окно, щелкните стрелку-развертку рядом с значком метлы для очистки кода, а затем выберите Настроить очистку кода.

    снимок экрана: настройка очистки кода.

  2. После настройки очистки кода используйте один из следующих методов для запуска очистки кода:

    • Щелкните значок метлы или нажмите Ctrl +K, Ctrl+E, чтобы запустить очистку кода.

      Скриншот: выполнение очистки кода.

    • Чтобы выполнить очистку кода во всем проекте или решении, щелкните правой кнопкой мыши имя проекта или решения в обозревателе решений, выберите Анализ и очистка кода, а затем выберите Выполнить очистку кода.

      снимок экрана запуска очистки кода во всем проекте или решении.

    Если вы хотите, чтобы параметры стиля кода применялись при каждом сохранении файла, вы можете использовать расширение Code Cleanup on Save extension.

Параметры очистки кода .NET

Большинство параметров очистки кода сопоставляется с одним или несколькими стилями кода .NET, поддерживаемыми в EditorConfig. Чтобы увидеть примеры, показывающие эффекты параметров, используйте ссылки в следующей таблице.

Настройки Параметр "Идентификатор правила" или "Стиль"
Удаление ненужных импортов или использования IDE0005
Сортировка импорта или использования сортировка_системных_директив_первой
разделение_групп_директив_импорта
Применение параметров заголовка файла шаблон_заголовка_файла
Удаление неиспользуемых переменных CS0219
Применение параметров создания объектов стиль_VisualBasic_предпочитать_упрощенное_создание_объектов
Применить настройки IsNot visual_basic_style_prefer_isnot_expression
Добавление квалификации "это" или "Я" IDE0003-IDE0009
Добавить модификаторы доступности dotnet_style_require_accessibility_modifiers (требовать модификаторы доступности)
Модификаторы порядка IDE0036
Сделать поле доступным только для чтения стиль_dotnet_только_для_чтения_поля
Удаление ненужных приведения IDE0004
Применение параметров инициализации объекта или коллекции) dotnet_style_object_initializer
Применение предпочтений размещения директив csharp_using_directive_placement
Применение настроек круглых скобок IDE0047-IDE0048
Применение неиспользуемых настроек значений IDE0058
Применение предпочтений типа языка/фреймворка IDE0049
Удаление неиспользуемых подавлений dotnet_удалить_ненужные_исключения_подавления
Применение предпочтений для упрощения булевых выражений dotnet_style_prefer_simplified_boolean_expressions
Применение параметров интерполяции строк dotnet_style_prefer_simplified_interpolation
Удаление неиспользуемых параметров dotnet_code_quality_unused_parameters (параметры, не используемые в коде dotnet)
Настройка предпочтений автоматических свойств dotnet_style_prefer_auto_properties
Применение параметров составного назначения dotnet_style_prefer_compound_assignment
Применение параметров функции объединения dotnet_style_coalesce_expression
Применение предпочтений для условных выражений
dotnet_style_prefer_conditional_expression_over_assignmentdotnet_style_prefer_conditional_expression_over_return
Применение параметров имени кортежа dotnet_style_explicit_tuple_names
dotnet_style_prefer_inferred_tuple_namesdotnet_style_prefer_inferred_tuple_names
Примените предпочтения для имен элементов анонимного типа, определяемых по умолчанию dotnet_style_prefer_inferred_anonymous_type_member_names — предпочтение использования предполагаемых имен членов анонимных типов.
Применение параметров проверки null dotnet_style_prefer_is_null_check_over_reference_equality_method (предпочтение проверки на null над методом равенства ссылок)
Применение параметров распространения NULL dotnet_style_null_propagation (стиль распространения null)
Примените настройки var IDE0007-IDE0008
Добавьте обязательные фигурные скобки для операторов управления в одну строку csharp_предпочтение_скобок
Применение параметров выражения или блока текста членов с выражением
Применение предпочтений встроенных в строке переменных out стиль C#: обьявление переменных внутри строки (csharp_style_inlined_variable_declaration)
Применение параметров сопоставления шаблонов настройки сопоставления шаблонов
Применить настройки вызова условного делегата стиль csharp_conditional_delegate_call
Примените предпочтения для статических локальных функций csharp_prefer_static_local_function
Применение параметров деконструкции csharp_style_деконструированная_переменная_объявление
Применение параметров по умолчанию (T) csharp_предпочитать_простое_по_умолчанию_выражение
Применение параметров new() стиль_неявного_создания_объекта_csharp_когда_тип_очевиден
Применить предпочтения диапазона csharp_стиль_предпочитать_оператор_диапазона
Отдавайте предпочтение локальным функциям над анонимными. csharp_style_pattern_local_over_anonymous_function
Применение предпочтений параметра null настройки проверки на null
Применение параметров инструкции using предпочтение_упрощённого_использования_оператора_using_в_csharp
Применение параметров выражения throw csharp_style_throw_expression