Налаштування EditorConfig для єдиного стилю коду

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Налаштування EditorConfig для єдиного стилю коду
Проста
~2-3 години
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Налаштування EditorConfig для єдиного стилю коду

EditorConfig вирішує найпростішу проблему: різні редактори за замовчуванням використовують різні налаштування — пробіли або таби, 2 або 4 символи, LF або CRLF. Файл .editorconfig в корені проекту встановлює ці параметри раз і назавжди для всієї команди, незалежно від редактора.

Підтримка вбудована в VS Code, JetBrains IDE, Vim, Emacs, Sublime Text. Для інших — плагін.

.editorconfig

# Цей файл застосовується до всіх файлів проекту
root = true

# Базові налаштування для всіх файлів
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 2

# JavaScript та TypeScript
[*.{js,jsx,ts,tsx,mjs,cjs}]
indent_style = space
indent_size = 2
max_line_length = 100

# CSS, SCSS, Less
[*.{css,scss,less,styl}]
indent_style = space
indent_size = 2

# HTML
[*.{html,htm}]
indent_style = space
indent_size = 2

# JSON
[*.json]
indent_style = space
indent_size = 2

# YAML
[*.{yml,yaml}]
indent_style = space
indent_size = 2

# Python (якщо присутній у монорепо)
[*.py]
indent_style = space
indent_size = 4
max_line_length = 88

# Go
[*.go]
indent_style = tab
indent_size = 4

# PHP
[*.php]
indent_style = space
indent_size = 4

# Makefile — тільки таби
[Makefile]
indent_style = tab

# Markdown — не обрізуємо trailing spaces (два пробіли = перенос рядка)
[*.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

Перевірка застосування

# Встановити 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/.*"
}

Взаємодія з Prettier

EditorConfig та Prettier дублюють деякі налаштування (відступи, переносу рядків). Prettier має пріоритет у форматуванні коду. EditorConfig застосовується до файлів, які Prettier не обробляє: бінарні файли, специфічні формати, редагування в IDE без запуску Prettier.

Хороша практика: утримуйте налаштування узгодженими:

# .editorconfig
indent_size = 2
// .prettierrc
{
  "tabWidth": 2
}

Налаштування VS Code без плагіна

VS Code читає .editorconfig автоматично починаючи з версії 1.0 — плагін не потрібен. Переконайтеся, що вбудована підтримка активна:

// .vscode/settings.json
{
  "files.eol": "\n",          // LF за замовчуванням на Windows
  "files.insertFinalNewline": true,
  "files.trimTrailingWhitespace": true
}

Ці налаштування застосовуються до редактора, .editorconfig — до збереження файлів. При конфлікті .editorconfig має пріоритет.

Часові рамки

Створення .editorconfig для проекту: 15–30 хвилин. Виправлення існуючих файлів під нові налаштування (trailing whitespace, переносу рядків): запустити Prettier або editorconfig-checker --fix30–60 хвилин.