Генератор .editorconfig

Создайте файл .editorconfig для единых отступов, концов строк, кодировки и пробелов во всех редакторах, с исключениями для Markdown, YAML, Python, Go, Makefile.

0 = не задано

.editorconfig

Что такое Генератор .editorconfig?

EditorConfig поддерживает единый стиль кода в разных редакторах и IDE (VS Code, JetBrains, Vim, Visual Studio, Sublime…). Инструмент создаёт файл .editorconfig с вашими правилами отступов, концов строк, кодировки и пробелов, а также с типичными исключениями для отдельных типов файлов, например табуляция для Makefile и Go или 4 пробела для Python.

Как пользоваться Генератор .editorconfig

  1. Выберите Отступы (пробелы или табуляция) и Размер отступа либо Ширина табуляции.
  2. Задайте Конец строки, Кодировка и при желании Макс. длина строки.
  3. Включите или отключите Удалять пробелы в конце строк и Добавлять перевод строки в конце файла и выберите нужные Настройки по типам файлов.
  4. Скачайте .editorconfig и положите его в корень проекта.

Пример

Ввод
Spaces, size 2, LF, UTF-8, trim whitespace, final newline, Markdown and Makefile overrides
Вывод
# EditorConfig: https://editorconfig.org
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

[Makefile]
indent_style = tab

Когда использовать Генератор .editorconfig

Используйте в любом репозитории, где работает больше одного человека или редактора, особенно в смешанных командах Windows/macOS/Linux, где различаются концы строк. EditorConfig управляет только базовыми пробелами; для полного стиля кода используйте форматтер вроде Prettier, Black или gofmt, лучше настроенный в согласии с этими параметрами.

Как работает Генератор .editorconfig

Файл начинается с root = true, чтобы редакторы не искали настройки в родительских папках, затем идёт раздел [*] с indent_style, indent_size (или tab с tab_width при табуляции), end_of_line, charset, trim_trailing_whitespace и insert_final_newline из спецификации EditorConfig. Исключения добавляются более поздними разделами с glob-шаблонами ([*.md], [*.{yml,yaml}], [*.py], [*.go], [Makefile]), которые для подходящих файлов имеют приоритет над [*].

Распространенные Случаи Использования

  • Прекращение споров табуляция против пробелов и CRLF/LF в pull request
  • Задание отступа в 2 пробела для проекта JavaScript
  • Сохранение табуляции в Makefile при пробелах в остальных файлах
  • Сохранение переносов Markdown, сделанных пробелами в конце строки

Часто Задаваемые Вопросы

Поддерживает ли VS Code .editorconfig?

Да, через официальное расширение EditorConfig. IDE JetBrains, Visual Studio и веб-редактор GitHub поддерживают его нативно.

Почему для Markdown trim_trailing_whitespace = false?

В Markdown два пробела в конце строки создают перенос, поэтому их удаление изменило бы отрисованный документ.

LF или CRLF?

LF — стандарт для большинства репозиториев, включая проекты Windows, использующие autocrlf в Git. CRLF нужен, только если этого требуют инструменты, работающие лишь в Windows.

Другие категории