Как подключить editorconfig к vscode
Создание и редактирование пользовательского файла EditorConfig
В Visual Studio для Mac в проект или решение можно добавить файл EditorConfig, чтобы обеспечить использование единообразного стиля написания кода всеми разработчиками, работающими с базой кода. Параметры, объявленные в файле EditorConfig, имеют приоритет над глобальными параметрами текстового редактора Visual Studio для Mac. Использование в проекте или в базе кода файла EditorConfig позволяет задать стиль написания кода, настройки и предупреждения для проекта. Поскольку этот файл является частью базы кода, он позволяет следить за тем, чтобы все пользователи придерживались принятых в проекте практик кодирования независимо от интегрированной среды разработки или редактора кода, в которых они работают.
Файлы EditorConfig поддерживаются многими интегрированными средами разработки и редакторами кода, включая Visual Studio.
Поддерживаемые параметры
Редактор в Visual Studio для Mac поддерживает основной набор свойств EditorConfig:
Кроме того, EditorConfig поддерживает соглашения о написании кода в C#.
Добавление файла EditorConfig в проект
Добавление нового файла EditorConfig
Щелкните узел правой кнопкой мыши и выберите команду Добавить > Новый файл, чтобы открыть диалоговое окно Новый файл.
Когда элемент добавляется на уровне решения, он автоматически создается и помещается в папку Элементы решения:
Измените файл. Пример:
Добавление существующего файла EditorConfig
Щелкните папку, которую нужно добавить, правой кнопкой мыши и выберите параметры Добавить > Добавить файлы.
Перейдите в каталог, где находится необходимый файл.
Когда откроется следующее диалоговое окно, выберите вариант Скопировать файл в каталог и нажмите ОК:
Редактирование файла EditorConfig
В файлах EditorConfig используется простой формат для задания параметров, который описывается ниже с помощью предыдущего примера:
Каждый раздел файла обозначается квадратными скобками ( [] ) и задает тип файлов, к которым будут применяться параметры данного раздела.
После:
Переопределение параметров EditorConfig
Создание переносимых настраиваемых параметров редактора с EditorConfig
В проект или базу кода можно добавить файл EditorConfig, чтобы обеспечить использование единообразного стиля написания кода всеми разработчиками, работающими с базой кода. Параметры EditorConfig имеют приоритет над глобальными параметрами текстового редактора Visual Studio. Это означает, что каждую базу кода можно настроить для использования параметров текстового редактора, относящихся к конкретному проекту. Вы по-прежнему можете задать личные настройки редактора в диалоговом окне Параметры среды Visual Studio. Эти параметры применяются при работе с базой кода, в которой нет файла EDITORCONFIG, или если файл EDITORCONFIG не переопределяет тот или иной параметр. Примером такой настройки может служить стиль отступов: символы табуляции или пробелы.
Параметры EditorConfig поддерживаются различными редакторами кода и интегрированными средами разработки, включая Visual Studio. Этот файл является переносимым компонентом, который передается вместе с кодом и позволяет применять стили написания кода даже вне среды Visual Studio.
При добавлении файла EditorConfig в проект в Visual Studio новые строки кода форматируются в соответствии с параметрами в файле EditorConfig. Форматирование существующего кода изменяется только при выполнении одной из следующих команд:
При добавлении файла EditorConfig в проект в Visual Studio новые строки кода форматируются в соответствии с параметрами в файле EditorConfig. Форматирование имеющегося кода не изменяется, если не отформатировать документ (Правка > Дополнительно > Форматировать документ или клавиши CTRL+K, CTRL+D в профиле по умолчанию). Форматирование документа влияет только на параметры пробелов, например на стиль отступов, если только вы не настроили команду «Форматировать документ» для дополнительной очистки кода.
Вы можете выбрать, какие параметры EditorConfig команда Форматировать документ будет применять к странице параметров форматирования.
Этот раздел относится к Visual Studio в Windows. Информацию о Visual Studio для Mac см. в статье EditorConfig в Visual Studio для Mac.
Согласованность кода
Параметры в файлах EditorConfig позволяют поддерживать согласованность стилей и параметров написания кода для базы кода, например стиль отступа, интервал табуляции, символ конца строки, кодирование и т. д., независимо от используемого редактора или интегрированной среды разработки. Например, при программировании на языке C#, если в базе кода существует соглашение о том, что отступы всегда состоят из пяти символов пробела, для документов используется кодировка UTF-8 и каждая строка всегда заканчивается CR/LF, а файл EDITORCONFIG можно настроить для выполнения этих условий.
Соглашения для кодирования, используемые вами в личных проектах, могут отличаться от тех, которые действуют в командных проектах. Например, вы предпочитаете, чтобы при вставке отступа во время написания кода добавлялся символ табуляции. Однако в команде может быть принято, чтобы при отступе вместо символа табуляции добавлялись четыре символа пробела. Файлы EditorConfig устраняют эту проблему, позволяя создавать конфигурацию для каждого сценария.
Поскольку параметры содержатся в файле в базе кода, они передаются вместе с этой базой кода. Параметры текстового редактора применяются при открытии файла кода в редакторе, совместимом с EditorConfig. Дополнительные сведения о файлах EditorConfig см. на веб-сайте EditorConfig.org.
Соглашения, заданные в файле EditorConfig, в настоящее время не могут быть реализованы в конвейере CI/CD с созданием ошибки или предупреждения. Все отклонения от стиля видны только в редакторе Visual Studio и списке ошибок.
Поддерживаемые параметры
Редактор в Visual Studio поддерживает основной набор свойств EditorConfig:
Параметры редактора EditorConfig поддерживаются во всех языках, поддерживаемых Visual Studio, за исключением XML. Кроме того, EditorConfig поддерживает соглашения о стиле кода, в том числе соглашения о языке, форматировании и именовании для C# и Visual Basic.
Добавление и удаление файлов 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, функции проверки и форматирования кода.
Пример
В приведенном ниже примере показано состояние отступа во фрагменте кода на C# до и после добавления в проект файла EDITORCONFIG. Параметр Табуляции в диалоговом окне Параметры текстового редактора Visual Studio настроен для вывода символов пробела при нажатии клавиши TAB.
Как и ожидалось, при нажатии клавиши TAB в следующей строке создается отступ путем добавления еще четырех символов пробела.
Добавьте в проект новый файл EDITORCONFIG с приведенным ниже содержимым. Параметр [*.cs] означает, что это изменение применяется только к файлам кода на C# в проекте.
Теперь при нажатии клавиши TAB вместо пробелов будут применяться символы табуляции.
Устранение неполадок параметров EditorConfig
Если в структуре каталогов в папке проекта или выше есть файл EditorConfig, среда Visual Studio применяет параметры редактора из этого файла. В этом случае в строке состояния может появиться следующее сообщение:
«Пользовательские предпочтения для этого типа файлов переопределены рекомендациями по написанию кода этого проекта».
Это означает, что, если какие-либо параметры редактора из раздела Инструменты > Параметры > Текстовый редактор (например, размер и стиль отступа, размер интервала табуляции или соглашения о кодировании) заданы в файле EditorConfig, находящемся в структуре каталогов в папке проекта или выше, соглашения в этом файле переопределяют значения в окне Параметры. Управлять этим поведением можно с помощью параметра Следовать рекомендациям по написанию кода проекта в разделе Инструменты > Параметры > Текстовый редактор. Если снять этот флажок, поддержка EditorConfig в Visual Studio будет отключена.

Чтобы найти файлы с расширением .editorconfig в родительских каталогах, откройте командную строку и выполните следующую команду из корня диска, на котором находится проект:
Конфигурирование стиля кода в Visual Studio 2017

Предлагаю вашему вниманию перевод полезной статьи о том, как настраивать и применять правила написания кода в вашей команде.
Visual Studio 2017 обеспечивает соблюдение стиля написания кода и поддержку EditorConfig. Новая версия включает в себя больше правил для code style и позволяет разработчикам настраивать стиль кода через EditorConfig.
Что такое EditorConfig?
EditorConfig — это формат файла с открытым исходным кодом, который помогает разработчикам настраивать и применять правила форматирования и соглашения о стиле написания кода для получения более читаемых кодовых баз (codebases). Файлы EditorConfig легко включаются в систему управления версиями и применяются на уровне репозитория и проекта. Соглашения EditorConfig переопределяют их эквиваленты в ваших личных настройках, так что соглашения из кодовой базы имеют приоритет над индивидуальным разработчиком.
Начало работы
Чтобы определить стиль кода и параметры форматирования для всего репозитория, просто добавьте файл .editorconfig в каталог верхнего уровня. Чтобы установить эти правила в качестве «корневых» параметров, добавьте следующее в .editorconfig (вы можете сделать это в своем редакторе / IDE по выбору):
# top-most EditorConfig file
root = true
Параметры EditorConfig применяются сверху вниз с переопределениями, то есть вы описываете общие правила наверху и переопределяете их дальше вниз в своем дереве каталогов по мере необходимости. В репозитории Roslyn файлы в каталоге Compilers не используют var, поэтому мы можем просто создать другой файл .editorconfig, который содержит различные настройки для предпочтений var, и эти правила будут применяться только к файлам в этом каталоге. Обратите внимание, что когда мы создаем этот EditorConfig файл в каталоге Compilers, то нам не нужно добавлять root = true (это позволит наследовать правила из родительского каталога или, в данном случае, из каталога Roslyn верхнего уровня).
Правила форматирования кода
Правила стиля кода
Давайте рассмотрим пример того, как могут быть определены соглашения о кодировании:
Если вам нужно переосмыслить различные уровни серьезности и то, что они делают:
Совет: серые точки, которые указывают на предложение, довольно серые. Чтобы разнообразить вашу жизнь, попробуйте изменить их на приятный розовый. Для этого перейдите в меню 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 к вашему документу? Вы можете взглянуть на нижнюю строку состояния Visual Studio и увидеть это сообщение:
Обратите внимание, что это означает, что EditorConfig файлы переопределяют любые настройки стиля кода, которые вы настроили в меню Tools > Options.
Чтобы получить поддержку языковых служб при редактировании EditorConfig файла в VS, загрузите расширение EditorConfig Language Service.
Вывод
Visual Studio 2017 — просто ступенька в конфигурации соглашения о написания кода. Чтобы узнать больше о поддержке EditorConfig в Visual Studio 2017, ознакомьтесь с документацией.
EditorConfig и польза его применения для стандартизации стилей кода
Перевод статьи «Why You Should Use EditorConfig to Standardize Code Styles».
Вы используете EditorConfig для определения соглашений по форматированию файлов в проекте? Прекрасно! Он имеет широкую поддержку, не привязан ни к какому языку программирования, фреймворку или редактору.
EditorConfig, по сути, — просто конфигурационный файл. Для реализации поддержки объявленных в нем правил применяются сторонние инструменты или интеграции.
Файлы EditorConfig читаются IDE (интегрированными средами разработки), редакторами кода и инструментами сборки, которые и обеспечивают применение нужных стилей.
Какие проблемы решает EditorConfig?
Обычно разработчики настраивают стили кода в редакторе в соответствии с собственными предпочтениями. К сожалению, их предпочтения могут не совпадать с вашими.
Что происходит, когда много разных людей с разными предпочтениями являются контрибьюторами одного проекта? Речь может идти о проекте на вашей работе или же open-source проекте на GitLab или GitHub.
К файлам, с которыми работают контрибьюторы, применяются их собственные настройки стилей. В результате проекты могут стать непоследовательными и неряшливыми. В них могут появиться следующие проблемы:
Когда код непоследователен, он кажется неопрятным и его тяжело читать (это еще зависит от среды разработки).
Распространенное решение этих проблем — общие настройки редактора как часть проекта. Но это предполагает, что все участники будут использовать одинаковые редакторы, а такое маловероятно.
Только для разработки на Java у нас на выбор несколько вариантов редакторов и IDE:
Если добавлять файлы конфигурации для всех редакторов, которые кто-то может использовать, это лишь напрасно раздует проект.
Как насчет универсального решения, при котором ответственность за использование общей конфигурации лежит на самом редакторе?
Чем полезен EditorConfig
Общие соглашения относительно стиля кода играют большую роль в проекте. Они помогают существенно экономить время благодаря следующим аспектам их использования.
EditorConfig делает код более читаемым
Улучшение читабельности кода — самая важная причина использовать общие настройки стилей. Это помогает поддерживать проект и позволяет работать быстрее.
«На чтение кода мы тратим в 10 раз больше времени, чем на его написание. Мы постоянно читаем старый код — это часть работы по написанию нового. Таким образом, облегчая чтение кода, мы облегчаем и его написание», — Роберт Мартин.
Но ваш код могут читать не только разработчики, создающие проект. Это могут быть:
Если ваш код будет чистым, последовательным и человекочитаемым, все эти люди смогут более эффективно выполнять свою работу.
EditorConfig облегчает код-ревью
Если вы — мейнтейнер проекта, вы неизбежно столкнетесь с необходимостью проверять чужой код. Это может быть код ваших товарищей по команде или open-source контрибьюторов, обнаруживших ваш проект и захотевших принять участие.
Принудительное применение нужного форматирования стоит доверить программному обеспечению. Благодаря этому чтение и проверка кода станут более эффективными, а запрашивать изменения, связанные с форматированием, вообще не придется.
Ускорение цикла обратной связи очень сильно экономит время всем участникам процесса.
EditorConfig облегчает разработку
Наличие соглашений о стиле кода и автоматическое применение правил редактором избавляет разработчиков от лишней головной боли.
Без всего этого им пришлось бы самостоятельно разыскивать руководство по стилю и руководство для контрибьюторов, а потом вручную проверять код на соответствие соглашениям.
И даже если правила соглашений всем известны, они могут конфликтовать с настройками редактора у разработчика. В таком случае ему придется писать код, не соответствующий автоматическому форматированию в редакторе, либо менять настройки редактора.
Это имеет особое значение для программистов, часто меняющих проекты. Например, open-source контрибьюторы часто пишут код для проектов разных организаций, в которых придерживаются разных соглашений.
Как работает EditorConfig
Например, в своем редакторе я использую для XML-файлов отступы в два пробела, но в проекте, где я выступаю контрибьютором, применяются 4-пробельные отступы.
Как использовать EditorConfig
Возможно, ваш редактор уже поддерживает EditorConfig. Проверить, входит ли он в список редакторов с нативной поддержкой EditorConfig, можно на странице «No Plugin Necessary». IDE от JetBrains и Visual Studio в списке есть.
Если ваш редактор не имеет нативной поддержки, вы скорее всего сможете добавить ее при помощи плагина. Такие редакторы, как Visual Studio Code и Eclipse, поддерживают использование EditorConfig именно таки м образом. Плагины можно найти на сайте EditorConfig — «Download a Plugin».
Как определять правила в EditorConfig
Список правил можно найти на Вики-странице EditorConfig. Там есть все официально поддерживаемые правила, а также предложения правил, относящихся к определенным доменам. Эти последние могут поддерживаться некоторыми реализациями.
Не все реализации поддерживают все правила. Это особенно касается специфичных правил типа curly_bracket_next_line. Но объявить эти свойства в любом случае стоит — для пользователей, которые могут их использовать, или чтобы хотя бы задокументировать предпочтительный вариант.
В файле EditorConfig верхнего уровня (обычно верхнеуровневый конфиг будет в корне вашего проекта) нужно установить root = true.
Во вложенных директориях могут быть свои файлы EditorConfig, но для них root = true не устанавливается.
Затем можно определить заголовок, где указываются файлы, для которых должны применяться следующие ниже правила.
Определение правил для каждого отдельного проекта
Определение правил для всех проектов
Или же вы можете собрать все свои предпочтения воедино и спланировать идеальную конфигурацию для всех файлов, с которыми вам может случиться работать.
Начать можно с нуля, а можно скопировать мой вариант и внести нужные изменения.
Рекомендации по правилам EditorConfig
Я советую объявить эти правила, если в вашем проекте есть файлы соответствующих форматов. Это поможет избежать больших проблем, связанных с пользовательскими настройками среди разработки.
Пакетные файлы (batch-файлы)
Переводы строк при сохранении должны иметь текстовые представления. Обычно вы этого не видите и об этом не думаете.
Но в разных системах переводы строк обозначаются по-разному (узнать больше).
Markdown
TSV-файлы (TSV — значения, разделенные табуляцией) очень напоминают CSV-файлы (CSV — значения, разделенные запятыми). Но, как следует из самого названия, в качестве разделителя в них используются табы.
Заключение
Благодаря этому мейнтейнеры смогут просматривать пул-реквесты, соответствующие установленным стилевым правилам, а редактор кода (IDE) будет автоматически применять эти правила.
Людям, работающим над проектом, тоже будет проще. Благодаря перезаписи настроек разработчики смогут писать код так, как удобно им самим, и не заморачиваться с ручной заменой настроек для каждого проекта.
Ваши проекты станут чище, поскольку все правила будут прописаны в одном «независимом» файле, а не в файлах разных редакторов кода.

















