Как пользоваться
- Выберите отступы в Отступ с помощью и Размер отступа. Выберите перенос строки в Конец строки и кодировку в Кодировка.
- Отметьте разделы для нужных типов файлов: Сохранять пробелы в конце строк в Markdown, Отступы YAML из двух пробелов и Отступы рецептов Makefile табуляцией.
- Скопируйте текст из Файл .editorconfig или скачайте его и сохраните в корневой папке проекта.
- Прочитайте Что означает каждая строка, чтобы проверить, что делает каждое свойство.
Как работает файл
Многие редакторы и IDE читают файл .editorconfig и применяют его настройки к файлам, которые подходят под каждый раздел. Заголовок раздела — это шаблон имени файла в квадратных скобках, а свойства под ним действуют на каждый подходящий файл. Более поздний раздел переопределяет более ранний для того же свойства. Строка root = true останавливает поиск, поэтому настройки действуют только в этой папке и в папках внутри неё.
- * соответствует любым символам, кроме косой черты.
- ** соответствует любым символам, включая косые черты.
- {yml,yaml} соответствует любому из вариантов, поэтому *.{yml,yaml} подходит к обоим типам файлов.
Разделы для типов файлов
- Markdown: два пробела в конце строки дают перенос строки, поэтому удаление пробелов отключено для *.md.
- YAML: символы табуляции для отступов не допускаются, поэтому *.{yml,yaml} делается с пробелами, по два на уровень.
- Makefile: каждая строка рецепта должна начинаться с символа табуляции, поэтому для Makefile задаётся indent_style = tab.
Выбор значений
- Пробелы — частый выбор для кода. Табуляция подходит команде, у которой во всех редакторах табуляция показана одинаковой ширины.
- LF — обычный перенос строки для проектов на Linux и macOS и в большинстве репозиториев. CRLF — перенос строки текстовых файлов Windows.
- UTF-8 — стандартная кодировка. UTF-8 с меткой порядка байтов нужен, только если этого требует какой-то инструмент.
Пример: выбор по умолчанию
С пробелами, размером отступа 2, LF, UTF-8, удалёнными пробелами в конце строк, переносом строки в конце файла и тремя разделами для типов файлов файл содержит строку root, один раздел для всех файлов с шестью свойствами, по одному свойству в разделах Markdown и Makefile и два в разделе YAML. В таблице одиннадцать строк свойств, и шесть из них показаны здесь.
| Раздел | Свойство | Значение |
|---|---|---|
| Начало файла | root | true |
| Все файлы | indent_style | space |
| Все файлы | indent_size | 2 |
| Markdown (.md) | trim_trailing_whitespace | false |
| YAML (.yml, .yaml) | indent_style | space |
| Makefile | indent_style | tab |
Частые вопросы
Где должен лежать файл .editorconfig?
В корневой папке проекта, рядом с README. Редакторы ищут его в папке каждого файла, затем в каждой папке выше, и поиск останавливается на первом файле, где стоит root = true.
Переформатирует ли файл .editorconfig мой код?
Сам по себе нет. Он говорит редакторам и плагинам, какие отступы, переносы строк и кодировку использовать при правке или сохранении файла. Переформатирование делает форматировщик или линтер, а некоторые из них читают те же настройки.
Зачем раздел Markdown сохраняет пробелы в конце строк?
В Markdown два пробела в конце строки дают перенос строки. Их удаление склеило бы две строки в одну, поэтому этот раздел отключает удаление только для файлов .md.
Почему в Makefile нужна табуляция?
make читает каждую строку рецепта после символа табуляции, а рецепт, который начинается с пробелов, вызывает ошибку. Поэтому раздел Makefile задаёт indent_style как tab для файлов с именем Makefile.
Может ли подпапка отменить одну из этих настроек?
Да, со значением unset, которое убирает свойство, заданное раньше. Эта страница пишет только обычные значения, поэтому добавьте такую строку в собственный файл .editorconfig подпапки, если она нужна.
Файл отправляется на сервер?
Нет. Файл создаётся в вашем браузере по выбранным вами значениям, и ничего из выбранного не сохраняется.
Источники
- EditorConfig: формат файла и поддерживаемые свойства (на английском)
- Спецификация EditorConfig: разделы, шаблоны и root (на английском)
- CommonMark 0.31.2: жёсткие переносы строк, два пробела в конце строки (на английском)
- YAML 1.2.2: символы табуляции не допускаются в отступах (на английском)
- Руководство GNU Make: строка рецепта начинается с символа табуляции (на английском)
Цифры и текст в последний раз проверены вторник, 10 ноября 2026 г..