Конфигурирование стиля кода в Visual Studio 2017

в 15:02, , рубрики: .net, C#, Code Style, editorconfig, Visual Studio, Программирование

Конфигурирование стиля кода в Visual Studio 2017 - 1
Предлагаю вашему вниманию перевод полезной статьи о том, как настраивать и применять правила написания кода в вашей команде.

Visual Studio 2017 обеспечивает соблюдение стиля написания кода и поддержку EditorConfig. Новая версия включает в себя больше правил для code style и позволяет разработчикам настраивать стиль кода через EditorConfig.

Что такое EditorConfig?

EditorConfig — это формат файла с открытым исходным кодом, который помогает разработчикам настраивать и применять правила форматирования и соглашения о стиле написания кода для получения более читаемых кодовых баз (codebases). Файлы EditorConfig легко включаются в систему управления версиями и применяются на уровне репозитория и проекта. Соглашения EditorConfig переопределяют их эквиваленты в ваших личных настройках, так что соглашения из кодовой базы имеют приоритет над индивидуальным разработчиком.

Простота и универсальность редактора EditorConfig делают его привлекательным выбором для командных параметров code style в Visual Studio (и за его пределами). Microsoft вместе с сообществом EditorConfig, добавили его поддержку в Visual Studio и продолжают расширять формат, включая в него параметры code style характерные для .NET среды.

EditorConfig и .NET Code Style

Разработчики имеют возможность глобально настроить свои личные предпочтения для стиля написания кода в Visual Studio через меню Tools > Options. Теперь, в VS 2017 вы можете настроить свои соглашения о кодировании в файле EditorConfig, и любые нарушения правил сразу же попадают в редактор по мере ввода. Это означает, что теперь, независимо от того, на какой стороне вы находитесь в дебатах по code style, вы можете выбрать, те соглашения, которые, по вашему мнению, наилучшим образом подходят для любой части вашей кодовой базы — будь то целый solution или только некий legacy раздел, для которого вы не хотите изменять эти соглашения. Чтобы продемонстрировать некоторые особенности этой функциональности, можно взглянуть на изменения которые были сделаны для использования EditorConfig в репозиторие Roslyn

Начало работы

Roslyn в полной мере использует стиль, описанный в .NET Foundation Coding Guidelines. Настройка правил в файле EditorConfig позволит разработчикам отслеживать нарушения своих правил кодирования по мере их ввода, а не в процессе code review.

Чтобы определить стиль кода и параметры форматирования для всего репозитория, просто добавьте файл .editorconfig в каталог верхнего уровня. Чтобы установить эти правила в качестве «корневых» параметров, добавьте следующее в .editorconfig (вы можете сделать это в своем редакторе / IDE по выбору):

# top-most EditorConfig file
root = true

Параметры EditorConfig применяются сверху вниз с переопределениями, то есть вы описываете общие правила наверху и переопределяете их дальше вниз в своем дереве каталогов по мере необходимости. В репозитории Roslyn файлы в каталоге Compilers не используют var, поэтому мы можем просто создать другой файл .editorconfig, который содержит различные настройки для предпочтений var, и эти правила будут применяться только к файлам в этом каталоге. Обратите внимание, что когда мы создаем этот EditorConfig файл в каталоге Compilers, то нам не нужно добавлять root = true (это позволит наследовать правила из родительского каталога или, в данном случае, из каталога Roslyn верхнего уровня).

Конфигурирование стиля кода в Visual Studio 2017 - 2

Правила форматирования кода

Теперь, когда у нас есть файлы EditorConfig в наших каталогах, мы можем начать определять некоторые правила. Существует восемь правил форматирования, которые обычно поддерживаются через EditorConfig в редакторах и IDE: charset, indent_style, indent_size, tab_width, end_of_line, trim_trailing_whitespace, insert_final_newline и max_line_length. Начиная с версии VS 2017 поддерживаются только первые пять правил форматирования. Чтобы добавить правило форматирования, укажите типы (ы) файлов, к которым вы хотите применить правило, а затем определите свои правила, например:

# Code files
[*.cs,*.csx,*.vb,*.vbx]
indent_size = 4

Правила стиля кода

После совместной работы с сообществом EditorConfig формат файла был расширен, чтобы поддерживать стиль кода .NET. Также расширился набор конвенций по кодированию, которые могут быть сконфигурированы и применены для включения таких правил, как предпочтение collection initializers, expression-bodied members, C#7 pattern matching и многое другое!

Давайте рассмотрим пример того, как могут быть определены соглашения о кодировании:

# CSharp code style settings:
[*.cs]
csharp_style_var_for_built_in_types = true : none
csharp_style_var_elsewhere = true : error
csharp_style_expression_bodied_methods = false : suggestion
csharp_style_throw_expression = true : warning

Левая сторона — это имя правила, правая сторона указывает настройки правила: уровень предпочтения и уровень выполнения, соответственно.

  • Настройки предпочтений могут быть либо true(означать, «использовать это правило»), либо false (что означает «не использовать это правило»).
  • Уровень выполнения одинаковый для всего анализа кода на основе Roslyn и может быть от наименьшей серьезности до самого серьезного: none, suggestion, warning или error.

В конечном счете, ваша сборка будет не удачной, если вы нарушите правило, которое принудительно выполняется на уровне серьезности ошибки. Чтобы увидеть все правила стиля кода, доступные в VS 2017, и окончательные правила стиля кода Roslyn, см. Roslyn .editorconfig или ознакомьтесь с документацией.

Если вам нужно переосмыслить различные уровни серьезности и то, что они делают:

Конфигурирование стиля кода в Visual Studio 2017 - 3

Совет: серые точки, которые указывают на предложение, довольно серые. Чтобы разнообразить вашу жизнь, попробуйте изменить их на приятный розовый. Для этого перейдите в меню Tools > Options > Environment > Fonts and Colors > Suggestion ellipses (…) и задайте для параметра следующий настраиваемый цвет (R: 255, G: 136, B: 196):

Конфигурирование стиля кода в Visual Studio 2017 - 4

Опыт работы в Visual Studio

Когда вы добавляете файл EditorConfig к существующему репозиторию или проекту, файлы не проверяются автоматически, чтобы соответствовать вашим соглашениям. Когда вы добавляете или редактируете EditorConfig файл, чтобы применить новые настройки, вы должны закрыть и открыть все открытые файлы, которые у вас есть. Чтобы весь документ придерживался правил форматирования кода, определенных в ваших настройках, вы можете использовать Format Document (Ctrl + K, D). Эта проверка не изменяет код, но вы можете использовать меню быстрых действий (Ctrl +.), чтобы применить исправление стиля кода ко всем вхождениям в документе/проекте/решении.

Конфигурирование стиля кода в Visual Studio 2017 - 5

Совет: Чтобы проверить, что в вашем документе используются пробелы или табуляции, включите Edit > Advanced > View White Space.

Но как узнать, применяется ли файл EditorConfig к вашему документу? Вы можете взглянуть на нижнюю строку состояния Visual Studio и увидеть это сообщение:

Конфигурирование стиля кода в Visual Studio 2017 - 6

Обратите внимание, что это означает, что EditorConfig файлы переопределяют любые настройки стиля кода, которые вы настроили в меню Tools > Options.

Чтобы получить поддержку языковых служб при редактировании EditorConfig файла в VS, загрузите расширение EditorConfig Language Service.

Вывод

Visual Studio 2017 — просто ступенька в конфигурации соглашения о написания кода. Чтобы узнать больше о поддержке EditorConfig в Visual Studio 2017, ознакомьтесь с документацией.

Спасибо за внимание!

Автор: MRomaV

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js