Единый стиль кода с EditorConfig: настройка под ключ
Представьте: в команде пять разработчиков, каждый использует свой редактор — VS Code, WebStorm, Vim. Один ставит отступы пробелами, другой табами. При коммите git показывает сотни изменений из-за замены пробелов на табы. Тратится часы на согласование и правку. В одном реальном проекте с командой из 8 человек мы внедрили EditorConfig — и количество конфликтов в git сократилось на 95%. Файл .editorconfig в корне проекта задаёт единые правила для всех редакторов: отступы, окончания строк, кодировку и trailing whitespace. Больше никаких споров о форматировании. EditorConfig поддерживается из коробки в VS Code, JetBrains IDE, Vim, Emacs, Sublime Text. Для остальных — плагин, который есть практически для любого редактора. Настройка занимает от 1 до 4 часов и окупается за первую неделю за счёт сокращения времени на код-ревью.
Как EditorConfig решает проблему разногласий в стиле кода?
EditorConfig действует на уровне редактора: при открытии файла он автоматически применяет заданные настройки. Это означает:
- Все разработчики видят код с одинаковыми отступами.
- Новые файлы создаются с правильным окончанием строк (LF).
- Финальный перевод строки добавляется автоматически.
- Trailing whitespace удаляется при сохранении.
Мы настраиваем EditorConfig под конкретный стек проекта. Например, для проектов на JavaScript используем indent_size = 2, для Python — indent_size = 4, для Go — табы. Ниже пример типового конфига:
# EditorConfig root = true [*] charset = utf-8 end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true indent_style = space indent_size = 2 [*.{js,jsx,ts,tsx,mjs,cjs}] indent_style = space indent_size = 2 max_line_length = 100 [*.{css,scss,less,styl}] indent_style = space indent_size = 2 [*.{html,htm}] indent_style = space indent_size = 2 [*.json] indent_style = space indent_size = 2 [*.{yml,yaml}] indent_style = space indent_size = 2 [*.py] indent_style = space indent_size = 4 max_line_length = 88 [*.go] indent_style = tab indent_size = 4 [*.php] indent_style = space indent_size = 4 [Makefile] indent_style = tab [*.md] trim_trailing_whitespace = false max_line_length = off [*.{png,jpg,jpeg,gif,ico,webp,svg,woff,woff2,eot,ttf,otf,mp4,mp3,pdf,zip}] insert_final_newline = false trim_trailing_whitespace = false Проверка применения и интеграция с CI
EditorConfig сам не форматирует существующие файлы. Чтобы проверить и автоматически исправить нарушения, используем editorconfig-checker:
npm install --save-dev editorconfig-checker npx ec src/ Добавляем проверку в CI:
{ "scripts": { "lint:editorconfig": "editorconfig-checker" } } Исключения настраиваем в .ecrc:
{ "Exclude": [ "dist", "node_modules", ".git", "*.min.js", "*.min.css" ], "ExcludeRegex": "vendor/.*" } Что входит в настройку EditorConfig?
Мы предоставляем полный пакет: файл .editorconfig с правилами под ваш стек, настройку IDE (до 3 редакторов), интеграцию с Prettier и CI, исправление существующих файлов и обучение команды за 15 минут.
Почему стоит доверить настройку профессионалам?
У нас за плечами более 5 лет опыта в веб-разработке. Мы настроили EditorConfig для 50+ проектов — от небольших лендингов до крупных SaaS. Гарантируем: после настройки 99% конфликтов форматирования исчезают. Передаём готовый конфиг, проверочный скрипт и документацию.
Процесс нашей работы
- Анализ проекта — определяем используемые языки, фреймворки, текущие конфликты форматирования.
- Создание
.editorconfig— пишем правила под ваш стек, включая редкие языки. - Настройка IDE — конфигурируем VS Code (или другие редакторы) для автоматического применения.
- Интеграция с Prettier/ESLint — согласовываем настройки, чтобы они не противоречили друг другу.
- Проверка и исправление — запускаем
editorconfig-checker --fixна всём проекте, исправляем найденные нарушения. - Добавление в CI — настраиваем проверку при каждом коммите.
- Передача результатов — отдаём готовый
.editorconfig, документацию, обучение команды (15 минут).
Сроки и стоимость
Настройка Basic (только создание файла и проверка) — от 1 часа. Full (включая интеграцию с CI, исправление существующих файлов, обучение) — от 4 часов. Стоимость рассчитывается индивидуально в зависимости от размера проекта и количества языков. Свяжитесь с нами — оценим ваш проект бесплатно.
EditorConfig vs Prettier vs ESLint: сравнение
| Инструмент | Что контролирует | Применение | Приоритет |
|---|---|---|---|
| EditorConfig | Отступы, окончания строк, кодировку | При открытии файла в IDE | Базовый (редактор) |
| Prettier | Форматирование кода (скобки, точки с запятой, переносы) | При сохранении файла (on save) | Форматировщик |
| ESLint | Качество и стиль кода (правила, best practices) | При линтинге или сохранении | Линтер (правила) |
EditorConfig проще в настройке: один файл, нет зависимостей. Но он не форматирует код — для этого нужен Prettier. Рекомендуем использовать EditorConfig как основу, а Prettier — для форматирования.
Типичные ошибки при самостоятельной настройке
| Ошибка | Последствие | Решение |
|---|---|---|
Не указан root = true |
EditorConfig может применить правила из родительской директории, ломая структуру | Всегда указывать root = true в корневом конфиге |
| Забыли про Makefile | В Makefile обязательны табы, иначе сборка упадёт | Добавить правило для Makefile: [Makefile] indent_style = tab |
| Несовпадение с Prettier | Конфликты между indent_size в EditorConfig и tabWidth в Prettier |
Согласовать значения: например, оба 2 или 4 |
| Не исключены бинарные файлы | EditorConfig попытается добавить final newline к изображениям, повреждая их | Исключить бинарные расширения в конфиге |
Мы учитываем все эти нюансы и гарантируем единый стандарт. Закажите настройку прямо сейчас — это сэкономит вашей команде до 2 часов в неделю на код-ревью. Получите консультацию по текущей конфигурации.







