Visual studio настройка стиля кода
В проект или базу кода можно добавить файл EditorConfig, чтобы обеспечить использование единообразного стиля написания кода всеми разработчиками, работающими с базой кода. Параметры EditorConfig имеют приоритет над глобальными параметрами текстового редактора Visual Studio. Это означает, что каждую базу кода можно настроить для использования параметров текстового редактора, относящихся к конкретному проекту. Вы по-прежнему можете задать личные настройки редактора в диалоговом окне Параметры среды Visual Studio. Эти параметры применяются при работе с базой кода, в которой нет файла EDITORCONFIG, или если файл EDITORCONFIG не переопределяет тот или иной параметр. Примером такой настройки может служить стиль отступов: символы табуляции или пробелы.
Параметры EditorConfig поддерживаются различными редакторами кода и интегрированными средами разработки, включая Visual Studio. Этот файл является переносимым компонентом, который передается вместе с кодом и позволяет применять стили написания кода даже вне среды Visual Studio.
При добавлении файла EditorConfig в проект в Visual Studio новые строки кода форматируются в соответствии с параметрами в этом файле. Форматирование существующего кода изменяется только при выполнении одной из следующих команд:
- команда Очистка кода (CTRL+K, CTRL+E), которая применяет параметры пробелов, например стиль отступов, и выбранные параметры стиля кода, например способ сортировки директив using ;
- команда Правка >Дополнительно >Форматировать документ (или CTRL+K, CTRL+D в профиле по умолчанию), которая применяет только параметры пробелов, например стиль отступов.
При добавлении файла EditorConfig в проект в Visual Studio новые строки кода форматируются в соответствии с параметрами в этом файле. Форматирование существующего кода не изменяется, если не отформатировать документ (Правка > Дополнительно > Форматировать документ или CTRL+K, CTRL+D в профиле по умолчанию). Форматирование документа влияет только на параметры пробелов, например на стиль отступов, если вы не настроили команду "Форматировать документ" для дополнительной очистки кода.
Вы можете выбрать, какие параметры EditorConfig команда Форматировать документ будет применять к странице параметров форматирования.
Этот раздел относится к Visual Studio в Windows. Информацию о Visual Studio для Mac см. в статье EditorConfig в Visual Studio для Mac.
Согласованность кода
Соглашения для кодирования, используемые вами в личных проектах, могут отличаться от тех, которые действуют в командных проектах. Например, вы предпочитаете, чтобы при вставке отступа во время написания кода добавлялся символ табуляции. Однако в команде может быть принято, чтобы при отступе вместо символа табуляции добавлялись четыре символа пробела. Файлы EditorConfig устраняют эту проблему, позволяя создавать конфигурацию для каждого сценария.
Соглашения, заданные в файле EditorConfig, в настоящее время не могут быть реализованы в конвейере CI/CD в качестве ошибок или предупреждений сборки. Все отклонения от стиля видны только в редакторе Visual Studio и списке ошибок.
Поддерживаемые параметры
Редактор в Visual Studio поддерживает основной набор свойств EditorConfig:
- indent_style
- indent_size
- tab_width
- end_of_line
- charset
- trim_trailing_whitespace
- insert_final_newline
- корневой
Добавление и удаление файлов EditorConfig
При добавлении файла EditorConfig в проект или базу кода, все новые строки создаваемого кода форматируются в соответствии с параметрами в файле EditorConfig. Но само по себе добавление файла EditorConfig не преобразует существующие стили в новые, пока вы не запустите форматирование документа или очистку кода. Например, если в качестве отступов в файле используются символы табуляции, при добавлении файла EditorConfig, в котором отступы задаются пробелами, символы отступа не преобразовываются в пробелы автоматически. При форматировании документа (Правка > Дополнительно > Форматировать документ или CTRL+K, CTRL+D) параметры пробелов в файле EditorConfig применяются к существующим строкам кода.
После удаления файла EditorConfig из проекта или базы кода вам придется закрыть и снова открыть все файлы кода, если нужно восстановить глобальные параметры редактора для новых строк кода.
Добавление файла EditorConfig в проект
Откройте проект или решение в Visual Studio. Выберите узел проекта или решения в зависимости от того, следует ли применять настройки файла EDITORCONFIG ко всем проектам в решении или только к одному. В проекте или решении также можно выбрать папку, в которую будет добавлен файл EDITORCONFIG.
В строке меню выберите Проект > Добавить новый элемент либо нажмите сочетание клавиш CTRL+SHIFT+A.
Откроется диалоговое окно Добавление нового элемента.
В поле поиска введите строку editorconfig.
В результатах поиска отобразятся два шаблона элементов для файла editorconfig.
В обозревателе решений появится файл EDITORCONFIG, который откроется в редакторе.
Измените файл по своему усмотрению.
Другие способы добавления файла EditorConfig
Существует еще несколько способов добавления в проект файла EditorConfig:
Функция определения кода IntelliCode для Visual Studio позволяет настроить стили кода по существующему коду. Она создает непустой файл EditorConfig с определенными параметрами для вашего стиля кода.
Начиная с Visual Studio 2019 вы можете создать файл EditorConfig для настроенных параметров стиля кода через пункт меню Средства > Параметры.
Иерархия и приоритет файлов
При добавлении файла EDITORCONFIG в папку в иерархии файлов его параметры применяются ко всем соответствующим файлам на этом уровне и ниже. Можно также переопределить параметры EditorConfig для конкретного проекта, базы кода или части кода так, чтобы использовать другие соглашения, чем в остальных частях базы кода. Это может быть полезно при включении кода из-каких либо еще мест без изменения его соглашений.
Чтобы переопределить некоторые или все параметры EditorConfig, добавьте файл EDITORCONFIG на уровне иерархии файлов, к которой следует применить эти переопределенные параметры. Новые параметры в файле EditorConfig будут применяться к файлам того же уровня и к файлам во всех подкаталогах.
Если необходимо переопределить только некоторые параметры, просто укажите их в файле EDITORCONFIG. Переопределяются только те свойства, которые явно перечислены в файле более низкого уровня. Другие параметры из файлов EDITORCONFIG более высокого уровня будут применяться по-прежнему.
Чтобы к этой части базы кода не применялись параметры из любых файлов EDITORCONFIG более высокого уровня, добавьте свойство root=true в файл EDITORCONFIG более низкого уровня:
Файлы EditorConfig считываются сверху вниз. При наличии множества свойств с одним именем приоритет будет иметь последнее обнаруженное свойство с таким именем.
Изменение файлов EditorConfig
Visual Studio позволяет редактировать файлы EDITORCONFIG, предоставляя списки завершения IntelliSense.
После того как вы закончили редактировать файл EditorConfig, необходимо повторно загрузить файлы кода, чтобы новые параметры вступили в силу.
При редактировании большого количества файлов .editorconfig может пригодиться расширение языковой службы EditorConfig. В число возможностей этого расширения входят выделение синтаксиса, улучшенная технология IntelliSense, функции проверки и форматирования кода.
Пример
Как и ожидалось, при нажатии клавиши TAB в следующей строке создается отступ путем добавления четырех символов пробела.
Теперь при нажатии клавиши TAB вместо пробелов будут применяться символы табуляции.
Устранение неполадок параметров EditorConfig
"Пользовательские предпочтения для этого типа файлов переопределены рекомендациями по написанию кода этого проекта".
Это означает, что, если какие-либо параметры редактора из раздела Инструменты > Параметры > Текстовый редактор (например, размер и стиль отступа, размер интервала табуляции или соглашения о кодировании) заданы в файле EditorConfig, находящемся в структуре каталогов в папке проекта или выше, соглашения в этом файле переопределяют значения в окне Параметры. Управлять этим поведением можно с помощью параметра Следовать рекомендациям по написанию кода проекта в разделе Инструменты > Параметры > Текстовый редактор. Если снять этот флажок, поддержка EditorConfig в Visual Studio будет отключена.
"Параметры" > "Следовать рекомендациям по написанию кода проекта"" />
Чтобы найти файлы с расширением .editorconfig в родительских каталогах, откройте командную строку и выполните следующую команду из корня диска, на котором находится проект:
Управлять областью действия соглашений EditorConfig можно с помощью свойства root=true в файле EDITORCONFIG, который находится в корне репозитория или в каталоге, где размещается проект. В Visual Studio поиск файла EDITORCONFIG выполняется в каталоге, где находится открытый файл, и во всех его родительских каталогах. Поиск завершается по достижении корня пути к файлу или при нахождении файла EDITORCONFIG с root=true .
Этот раздел относится к Visual Studio в Windows. Информацию о Visual Studio для Mac см. в статье Поведение редактора в Visual Studio для Mac.
Стили кода в EDITORCONFIG-файлах
Стили кода в диалоговом окне "Параметры"
При выборе для каждого из элементов в списке выводится окно предварительного просмотра:
Параметры, заданные в этом окне, применяются к вашей учетной записи персонализации Visual Studio и не связаны с конкретным проектом или базой кода. Кроме того, они не применяются во время сборки, в том числе в сборках с непрерывной интеграцией (CI). Если вы хотите связать предпочтения к стилю кода со своим проектом и применяете стили во время сборки, укажите такие предпочтения в EDITORCONFIG-файле, связанном с проектом.
Предпочтения и степень серьезности
Для каждого параметра стиля кода на этой странице с помощью раскрывающихся списков в каждой строке можно задать значения для параметров Предпочтение и Серьезность. Для серьезности можно задать значения Только рефакторинг, Предложение, Предупреждение или Ошибка. Если вы хотите включить быстрые действия для стиля кода, убедитесь, что для параметра Серьезность задано значение, отличное от Только рефакторинг. Значок лампочки для быстрых действий , значок лампочки для ошибок или значок отвертки отображается при использовании альтернативного стиля. Вы можете выбрать нужный вариант в списке быстрых действий для автоматического повторного создания кода в предпочитаемом стиле.
Принудительное применение стиля кода в сборке
Применение стилей кода
Вы можете настроить команду Форматировать документ (Правка > Дополнительно > Форматировать документ) для применения параметров стиля кода (из EDITORCONFIG-файла или параметров стиля кода) вместе с регулярным форматированием (например, отступами). Если EDITORCONFIG-файл существует в проекте, его параметры имеют приоритет.
Вы можете выбрать, какие параметры команда Форматировать документ будет применять, на странице параметров форматирования.
Правила, настроенные с серьезностью Нет, не используются в ходе очистки кода, но могут применяться по отдельности через меню Быстрые действия и рефакторинг.
При первом запуске команды Форматировать документ вам следует настроить параметры очистки кода на желтой информационной панели.
Правила, настроенные с серьезностью Нет, не используются в ходе очистки кода, но могут применяться по отдельности через меню Быстрые действия и рефакторинг.
Во-первых, настройте стили кода, которые необходимо применять (в одном из двух профилей), используя диалоговое окно Настройка очистки кода. Чтобы открыть это диалоговое окно, щелкните стрелку рядом со значком метлы (очистка кода) и выберите команду Настроить очистку кода.
После настройки очистки кода вы можете щелкнуть значок метлы или нажать клавиши Ctrl+K, Ctrl+E, чтобы запустить очистку кода. Вы также можете выполнить очистку кода для всего проекта или решения сразу. Щелкните правой кнопкой мыши имя проекта или решения в обозревателе решений, выберите команду Анализ и очистка кода, а затем — Запустить очистку кода.
Правила, настроенные с серьезностью Нет, не используются в ходе очистки кода, но могут применяться по отдельности через меню Быстрые действия и рефакторинг.
Во-первых, настройте стили кода, которые необходимо применять (в одном из двух профилей), используя диалоговое окно Настройка очистки кода. Чтобы открыть это диалоговое окно, щелкните стрелку рядом со значком метлы (очистка кода) и выберите команду Настроить очистку кода.
После настройки очистки кода вы можете щелкнуть значок метлы или нажать клавиши Ctrl+K, Ctrl+E, чтобы запустить очистку кода. Вы также можете выполнить очистку кода для всего проекта или решения сразу. Щелкните правой кнопкой мыши имя проекта или решения в обозревателе решений, выберите команду Анализ и очистка кода, а затем — Запустить очистку кода.
Если вы хотите, чтобы параметры стиля кода применялись при каждом сохранении файла, выберите Параметры>Текстовый редактор>Очистка кода и щелкните Запустить профиль "Очистка кода" при сохранении.
Если вы хотите применять параметры стиля кода при каждом сохранении файла, вам может подойти расширение для очистки кода при сохранении.
This topic applies to Visual Studio on Windows. For Visual Studio for Mac, see Editor behavior in Visual Studio for Mac.
Code styles in EditorConfig files
Code styles in the Options dialog box
Each item in the list shows a preview of the preference when selected:
Options set in this window are applicable to your Visual Studio personalization account and aren't associated with a particular project or codebase. In addition, they aren't enforced at build time, including in continuous integration (CI) builds. If you want to associate code style preferences with your project and have the styles enforced during build, specify the preferences in an .editorconfig file that's associated with the project.
Preference and severity
For each code style setting on this page, you can set the Preference and Severity values using the drop-downs on each line. Severity can be set to Refactoring Only, Suggestion, Warning, or Error. If you want to enable Quick Actions for a code style, ensure that the Severity setting is set to something other than Refactoring Only. The Quick Actions light bulb , error light bulb , or screwdriver icon appears when a non-preferred style is used, and you can choose an option on the Quick Actions list to automatically rewrite code to the preferred style.
Enforce code styles on build
Starting in Visual Studio 2019 version 16.8, which includes the .NET 5.0 RC2 SDK, you can enforce the .NET coding conventions on build for all .NET projects. At build time, .NET code style violations will appear as warnings or errors with an "IDE" prefix. This enables you to strictly enforce consistent code styles in your codebase.
Apply code styles
You can configure the Format Document command (Edit > Advanced > Format Document) to apply your code style settings (from an EditorConfig file or Code Style options) along with the regular formatting that it does (such as indentation). If an .editorconfig file exists for the project, those settings take precedence.
Configure which settings you want Format Document to apply on the Formatting options page.
Rules configured with a severity of None don't participate in code cleanup but can be individually applied via the Quick Actions and Refactorings menu.
The first time you trigger the Format Document command, a yellow info bar prompts you to configure your code cleanup settings.
Rules configured with a severity of None don't participate in code cleanup but can be individually applied via the Quick Actions and Refactorings menu.
First, configure which code styles you want to apply (in one of two profiles) in the Configure Code Cleanup dialog box. To open this dialog box, click the expander arrow next to the code cleanup broom icon and then choose Configure Code Cleanup.
After you've configured code cleanup, you can either click on the broom icon or press Ctrl+K, Ctrl+E to run code cleanup. You can also run code cleanup across your entire project or solution. Right-click on the project or solution name in Solution Explorer, select Analyze and Code Cleanup, and then select Run Code Cleanup.
Rules configured with a severity of None don't participate in code cleanup but can be individually applied via the Quick Actions and Refactorings menu.
First, configure which code styles you want to apply (in one of two profiles) in the Configure Code Cleanup dialog box. To open this dialog box, click the expander arrow next to the code cleanup broom icon and then choose Configure Code Cleanup.
After you've configured code cleanup, you can either click on the broom icon or press Ctrl+K, Ctrl+E to run code cleanup. You can also run code cleanup across your entire project or solution. Right-click on the project or solution name in Solution Explorer, select Analyze and Code Cleanup, and then select Run Code Cleanup.
If you want your code style settings to be applied every time you save a file, go to Options > Text Editor > Code Cleanup and select Run Code Cleanup profile on save.
If you want your code style settings to be applied every time you save a file, you may like the Code Cleanup on Save extension.
Этот раздел относится к Visual Studio в Windows. Информацию о Visual Studio для Mac см. в статье Поведение редактора в Visual Studio для Mac.
Стили кода в EDITORCONFIG-файлах
Стили кода в диалоговом окне "Параметры"
При выборе для каждого из элементов в списке выводится окно предварительного просмотра:
Параметры, заданные в этом окне, применяются к вашей учетной записи персонализации Visual Studio и не связаны с конкретным проектом или базой кода. Кроме того, они не применяются во время сборки, в том числе в сборках с непрерывной интеграцией (CI). Если вы хотите связать предпочтения к стилю кода со своим проектом и применяете стили во время сборки, укажите такие предпочтения в EDITORCONFIG-файле, связанном с проектом.
Предпочтения и степень серьезности
Для каждого параметра стиля кода на этой странице с помощью раскрывающихся списков в каждой строке можно задать значения для параметров Предпочтение и Серьезность. Для серьезности можно задать значения Только рефакторинг, Предложение, Предупреждение или Ошибка. Если вы хотите включить быстрые действия для стиля кода, убедитесь, что для параметра Серьезность задано значение, отличное от Только рефакторинг. Значок лампочки для быстрых действий , значок лампочки для ошибок или значок отвертки отображается при использовании альтернативного стиля. Вы можете выбрать нужный вариант в списке быстрых действий для автоматического повторного создания кода в предпочитаемом стиле.
Принудительное применение стиля кода в сборке
Применение стилей кода
Вы можете настроить команду Форматировать документ (Правка > Дополнительно > Форматировать документ) для применения параметров стиля кода (из EDITORCONFIG-файла или параметров стиля кода) вместе с регулярным форматированием (например, отступами). Если EDITORCONFIG-файл существует в проекте, его параметры имеют приоритет.
Вы можете выбрать, какие параметры команда Форматировать документ будет применять, на странице параметров форматирования.
Правила, настроенные с серьезностью Нет, не используются в ходе очистки кода, но могут применяться по отдельности через меню Быстрые действия и рефакторинг.
При первом запуске команды Форматировать документ вам следует настроить параметры очистки кода на желтой информационной панели.
Правила, настроенные с серьезностью Нет, не используются в ходе очистки кода, но могут применяться по отдельности через меню Быстрые действия и рефакторинг.
Во-первых, настройте стили кода, которые необходимо применять (в одном из двух профилей), используя диалоговое окно Настройка очистки кода. Чтобы открыть это диалоговое окно, щелкните стрелку рядом со значком метлы (очистка кода) и выберите команду Настроить очистку кода.
После настройки очистки кода вы можете щелкнуть значок метлы или нажать клавиши Ctrl+K, Ctrl+E, чтобы запустить очистку кода. Вы также можете выполнить очистку кода для всего проекта или решения сразу. Щелкните правой кнопкой мыши имя проекта или решения в обозревателе решений, выберите команду Анализ и очистка кода, а затем — Запустить очистку кода.
Правила, настроенные с серьезностью Нет, не используются в ходе очистки кода, но могут применяться по отдельности через меню Быстрые действия и рефакторинг.
Во-первых, настройте стили кода, которые необходимо применять (в одном из двух профилей), используя диалоговое окно Настройка очистки кода. Чтобы открыть это диалоговое окно, щелкните стрелку рядом со значком метлы (очистка кода) и выберите команду Настроить очистку кода.
После настройки очистки кода вы можете щелкнуть значок метлы или нажать клавиши Ctrl+K, Ctrl+E, чтобы запустить очистку кода. Вы также можете выполнить очистку кода для всего проекта или решения сразу. Щелкните правой кнопкой мыши имя проекта или решения в обозревателе решений, выберите команду Анализ и очистка кода, а затем — Запустить очистку кода.
Если вы хотите, чтобы параметры стиля кода применялись при каждом сохранении файла, выберите Параметры>Текстовый редактор>Очистка кода и щелкните Запустить профиль "Очистка кода" при сохранении.
Если вы хотите применять параметры стиля кода при каждом сохранении файла, вам может подойти расширение для очистки кода при сохранении.
Предлагаю вашему вниманию перевод полезной статьи о том, как настраивать и применять правила написания кода в вашей команде.
Visual Studio 2017 обеспечивает соблюдение стиля написания кода и поддержку EditorConfig. Новая версия включает в себя больше правил для code style и позволяет разработчикам настраивать стиль кода через EditorConfig.
Что такое EditorConfig?
EditorConfig — это формат файла с открытым исходным кодом, который помогает разработчикам настраивать и применять правила форматирования и соглашения о стиле написания кода для получения более читаемых кодовых баз (codebases). Файлы EditorConfig легко включаются в систему управления версиями и применяются на уровне репозитория и проекта. Соглашения EditorConfig переопределяют их эквиваленты в ваших личных настройках, так что соглашения из кодовой базы имеют приоритет над индивидуальным разработчиком.
Разработчики имеют возможность глобально настроить свои личные предпочтения для стиля написания кода в Visual Studio через меню Tools > Options. Теперь, в VS 2017 вы можете настроить свои соглашения о кодировании в файле EditorConfig, и любые нарушения правил сразу же попадают в редактор по мере ввода. Это означает, что теперь, независимо от того, на какой стороне вы находитесь в дебатах по code style, вы можете выбрать, те соглашения, которые, по вашему мнению, наилучшим образом подходят для любой части вашей кодовой базы — будь то целый solution или только некий legacy раздел, для которого вы не хотите изменять эти соглашения. Чтобы продемонстрировать некоторые особенности этой функциональности, можно взглянуть на изменения которые были сделаны для использования EditorConfig в репозиторие Roslyn
Начало работы
Чтобы определить стиль кода и параметры форматирования для всего репозитория, просто добавьте файл .editorconfig в каталог верхнего уровня. Чтобы установить эти правила в качестве «корневых» параметров, добавьте следующее в .editorconfig (вы можете сделать это в своем редакторе / IDE по выбору):
Правила форматирования кода
Правила стиля кода
Давайте рассмотрим пример того, как могут быть определены соглашения о кодировании:
- Настройки предпочтений могут быть либо true(означать, «использовать это правило»), либо false (что означает «не использовать это правило»).
- Уровень выполнения одинаковый для всего анализа кода на основе Roslyn и может быть от наименьшей серьезности до самого серьезного: none, suggestion, warning или error.
Если вам нужно переосмыслить различные уровни серьезности и то, что они делают:
Совет: серые точки, которые указывают на предложение, довольно серые. Чтобы разнообразить вашу жизнь, попробуйте изменить их на приятный розовый. Для этого перейдите в меню Tools > Options > Environment > Fonts and Colors > Suggestion ellipses (…) и задайте для параметра следующий настраиваемый цвет (R: 255, G: 136, B: 196):
Опыт работы в Visual Studio
Когда вы добавляете файл EditorConfig к существующему репозиторию или проекту, файлы не проверяются автоматически, чтобы соответствовать вашим соглашениям. Когда вы добавляете или редактируете EditorConfig файл, чтобы применить новые настройки, вы должны закрыть и открыть все открытые файлы, которые у вас есть. Чтобы весь документ придерживался правил форматирования кода, определенных в ваших настройках, вы можете использовать Format Document (Ctrl + K, D). Эта проверка не изменяет код, но вы можете использовать меню быстрых действий (Ctrl +.), чтобы применить исправление стиля кода ко всем вхождениям в документе/проекте/решении.
Совет: Чтобы проверить, что в вашем документе используются пробелы или табуляции, включите Edit > Advanced > View White Space.
Обратите внимание, что это означает, что EditorConfig файлы переопределяют любые настройки стиля кода, которые вы настроили в меню Tools > Options.
Чтобы получить поддержку языковых служб при редактировании EditorConfig файла в VS, загрузите расширение EditorConfig Language Service.
Вывод
Visual Studio 2017 — просто ступенька в конфигурации соглашения о написания кода. Чтобы узнать больше о поддержке EditorConfig в Visual Studio 2017, ознакомьтесь с документацией.
Читайте также: