مولّد .editorconfig

أنشئ ملف .editorconfig لتوحيد المسافات البادئة ونهايات الأسطر والترميز والمسافات البيضاء عبر المحررات، مع استثناءات لـ Markdown وYAML وPython وGo وMakefile.

0 = غير محدد

.editorconfig

ما هو مولّد .editorconfig؟

يحافظ EditorConfig على اتساق أسلوب الكود عبر المحررات وبيئات التطوير (VS Code وJetBrains وVim وVisual Studio وSublime…). تنشئ هذه الأداة ملف .editorconfig بقواعدك للمسافة البادئة ونهايات الأسطر ومجموعة الأحرف والمسافات البيضاء، إضافةً إلى استثناءات شائعة لكل نوع ملف مثل علامات Tab لـ Makefile وGo أو 4 مسافات لـ Python.

كيفية استخدام مولّد .editorconfig

  1. اختر المسافة البادئة (مسافات أو Tab) وحجم المسافة البادئة أو عرض علامة الجدولة.
  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 عند استخدام Tab) وend_of_line وcharset وtrim_trailing_whitespace وinsert_final_newline وفق مواصفات EditorConfig. وتُضاف الاستثناءات كأقسام glob لاحقة ([*.md] و[*.{yml,yaml}] و[*.py] و[*.go] و[Makefile])، وتتقدم على [*] في الملفات المطابقة.

حالات الاستخدام الشائعة

  • إيقاف فوضى Tab مقابل المسافات وCRLF/LF في طلبات الدمج
  • ضبط مسافتين بادئتين لمشروع JavaScript
  • الإبقاء على Tab في Makefile مع استخدام المسافات في بقية الملفات
  • الحفاظ على فواصل أسطر Markdown المصنوعة بمسافتين في نهاية السطر

الأسئلة الشائعة

هل يدعم VS Code ملف .editorconfig؟

نعم، عبر إضافة EditorConfig الرسمية. وتدعمه بيئات JetBrains وVisual Studio ومحرر الويب في GitHub بشكل أصيل.

لماذا trim_trailing_whitespace = false لـ Markdown؟

في Markdown تنشئ مسافتان في نهاية السطر فاصل سطر، فحذفهما يغيّر المستند المعروض.

LF أم CRLF؟

LF هو المعيار لأغلب المستودعات، ومنها مشاريع Windows التي تستخدم autocrlf في Git. استخدم CRLF فقط إذا اشترطته أدوات Windows وحدها.

استكشف المزيد من الفئات