Генератор EditorConfig
Файл .editorconfig в корне репозитория сообщает всем современным IDE, как этот проект форматирует свои файлы, и решает спор «табы или пробелы» для каждого файла. Python: 4 пробела. JavaScript: 2. Makefile: табы (обязательно). Этот генератор собирает .editorconfig из ваших настроек форматирования (стиль и размер отступа, конец строки, кодировка, максимальная длина строки, перенос строки в конце файла и удаление пробелов в конце строки) и всегда добавляет две стандартные правки: [*.md] сохраняет пробелы в конце строки для переносов в Markdown, а [Makefile] использует табы, как требует сам make.
Как создать файл .editorconfig
-
1
Задайте глобальные значения по умолчанию
Кодировка (по умолчанию utf-8), конец строки (lf или crlf), стиль и размер отступа, максимальная длина строки, перенос строки в конце файла, удаление пробелов в конце строки.
-
2
Проверьте встроенные правки
Генератор всегда добавляет `[*.md]` с `trim_trailing_whitespace = false` (Markdown нуждается в пробелах в конце строки для переносов) и `[Makefile]` с `indent_style = tab`, что требует сам make.
-
3
Скопируйте файл
С помощью кнопки копирования получите готовый `.editorconfig` и положите его в корень репозитория.
-
4
Расширьте позже
Нужны правила для отдельных языков? Добавьте свои секции, например `[*.py]` с `indent_size = 4`.
Что делает файл .editorconfig
Файл .editorconfig в корне проекта (или в любой директории) объявляет соглашения о форматировании. Редакторы с поддержкой EditorConfig (все основные IDE и большинство современных текстовых редакторов) применяют эти правила при открытии файла.
Пример вывода
При настройках по умолчанию (пробелы, размер 4, LF, utf-8) генератор выдаёт:
root = true
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 120
[*.md]
trim_trailing_whitespace = false
[Makefile]
indent_style = tab
Основные директивы
| Директива | Допустимые значения | Примечания |
|---|---|---|
| root | true / false | Установите true в корне проекта, чтобы поиск остановился |
| charset | utf-8, utf-8-bom, latin1, utf-16-be, utf-16-le | По умолчанию utf-8 |
| end_of_line | lf, crlf, cr | lf, для кроссплатформенных репозиториев; crlf, для репозиториев только под Windows |
| indent_style | space, tab | |
| indent_size | целое число | Число пробелов; игнорируется при tab |
| tab_width | целое число | Визуальная ширина табуляции (по умолчанию равна indent_size) |
| insert_final_newline | true / false | Обеспечивает соответствие файлов стандарту POSIX |
| trim_trailing_whitespace | true / false | Отключите для Markdown (пробелы в конце строки означают перенос) |
Соглашения языков вкратце
| Язык / файл | Соглашение |
|---|---|
| JS, TS, JSON | 2 пробела |
| HTML, CSS, YAML | 2 пробела |
| Python | 4 пробела (PEP 8) |
| PHP | 4 пробела (PSR-12) |
| Ruby | 2 пробела |
| Go | Табы (задаёт gofmt) |
| Rust | 4 пробела (задаёт rustfmt) |
| Java | 4 пробела |
| Makefile | Табы (требует сам make) |
| Markdown | Сохранять пробелы в конце строки (используются для <br>) |
| Batch / CMD (.bat) | Концы строк crlf |
Ловушка: пробелы в конце строки в Markdown
В Markdown два пробела в конце строки означают «вставить здесь <br>». Если .editorconfig удаляет пробелы в конце строки во всех файлах, эти переносы исчезнут. Переопределите правилом trim_trailing_whitespace = false для [*.md].
Поддерживает ли ваша IDE EditorConfig?
Встроенная поддержка: VS Code, семейство IntelliJ от JetBrains, Sublime Text, Vim (через плагин), Emacs (через плагин), Atom, Notepad++, Xcode. Если редактор не поддерживает EditorConfig «из коробки», обычно есть плагин. Файл также машиночитаем, поэтому линтеры и форматтеры могут его учитывать.
Часто задаваемые вопросы
В корне проекта с root = true. Чтобы переопределить отдельные пути, можно добавить дополнительные файлы .editorconfig во вложенных директориях: поиск поднимается вверх по дереву и останавливается на первом найденном файле с root = true.
Нет. EditorConfig отвечает за базовые вещи, пробелы и концы строк, во всех редакторах. Prettier и языковые линтеры отвечают за более глубокие правила стиля (кавычки, точки с запятой, замыкающие запятые). Они дополняют друг друга.
Установите end_of_line = crlf, если Windows-инструменты в репозитории действительно этого требуют. Лучший вариант, закоммитить end_of_line = lf и добавить .gitattributes с * text=auto, чтобы Git нормализовал концы строк при коммите, а при checkout они соответствовали ОС.
Нет. Ваши настройки используются только для создания файла; на наших серверах ничего не хранится и ничего не сохраняется после ухода со страницы.
Сопутствующие инструменты
Справочная таблица ASCII
Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.
Справочник сочетаний клавиш
Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.
Справочник символов HTML
Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.
Счетчик FPS
Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.
Генератор случайных букв
Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.
Генератор цветовой палитры
Создавайте монохромные, аналоговые, комплементарные, триадные или тетрадные палитры из базового HEX-цвета и экспортируйте готовые CSS-переменные.
Инструмент доступен на других языках
- EditorConfig Generator [EN]
- Trình tạo EditorConfig [VI]
- EditorConfig-Generator [DE]
- Generador de EditorConfig [ES]
- EditorConfig-generator [SV]
- EditorConfig 생성기 [KO]
- Gerador de EditorConfig [PT]
- Generator EditorConfig [PL]
- Générateur EditorConfig [FR]
- EditorConfig-generator [NL]
- 编辑器配置生成器 [ZH]
- مولد EditorConfig [AR]
- เครื่องมือสร้าง EditorConfig [TH]
- EditorConfig ジェネレーター [JA]
- EditorConfig Oluşturucu [TR]
- Generator EditorConfig [ID]
- Generatore EditorConfig [IT]