EditorConfig помогает поддерживать единый стиль оформления кода между различными редакторами и IDE в команде разработки.
Стандартный базовый файл проекта
Разместите файл .editorconfig в корневом каталоге проекта:
# Объявление самого верхнего файла EditorConfig
root = true
# Глобальные настройки по умолчанию для всех файлов
[*]
indent_style = space
indent_size = 2
tab_width = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
# Отступ в 4 пробела для файлов Python
[*.py]
indent_size = 4
# Отступ табуляцией для Go и Makefiles
[*.go]
indent_style = tab
[Makefile]
indent_style = tab
# Markdown-файлы сохраняют концевые пробелы для переноса строк
[*.md]
trim_trailing_whitespace = false
Поддерживаемые свойства
| Свойство | Допустимые значения | Описание |
|---|---|---|
root |
true |
Останавливает рекурсивный поиск в родительских папках |
indent_style |
space | tab |
Тип символа для отступов |
indent_size |
Integer | tab |
Количество колонок для одного отступа |
tab_width |
Integer | Ширина табуляции в колонках (по умолчанию indent_size) |
end_of_line |
lf | crlf | cr |
Символ окончания строки |
charset |
utf-8 | utf-16be | utf-16le | latin1 |
Кодировка файла |
trim_trailing_whitespace |
true | false |
Удаление пробелов в конце строк |
insert_final_newline |
true | false |
Гарантирует завершение файла пустой строкой |
max_line_length |
Integer | off |
Рекомендуемая максимальная ширина строки |
Сопоставление шаблонов Glob
*: Соответствует любой строке символов, кроме разделителя путей (/)**: Соответствует любой строке через несколько каталогов?: Соответствует любому одиночному символу[seq]: Соответствует любому символу из seq[!seq]: Соответствует любому символу, которого нет в seq{s1,s2,s3}: Соответствует любой из строк, разделенных запятыми