EditorConfig يحافظ على اتساق أسلوب كتابة الأكواد عبر مختلف المحررات وبيئات التطوير IDEs بين فرق العمل البرمجية.
الملف المرجعي الموحد للمشروع
ضع ملف .editorconfig في المجلد الجذري للمشروع:
# إعلان أن هذا هو الملف الأعلى في الشجرة الجذرية
root = true
# الإعدادات الافتراضية العامة لجميع الملفات
[*]
indent_style = space
indent_size = 2
tab_width = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
# مسافة بادئة بحجم 4 مسافات لملفات Python
[*.py]
indent_size = 4
# مسافة بادئة باستخدام علامات الجدولة لـ Go و Makefiles
[*.go]
indent_style = tab
[Makefile]
indent_style = tab
# الحفاظ على المسافات البيضاء في نهاية السطور لفواصل الأسطر في Markdown
[*.md]
trim_trailing_whitespace = false
الخصائص المدعومة (Supported Properties)
| الخاصية | القيم المسموح بها | الوصف |
|---|---|---|
root |
true |
إيقاف البحث التكراري في المجلدات الأبوية |
indent_style |
space | tab |
نوع محرف المسافة البادئة |
indent_size |
Integer | tab |
عدد الأعمدة لكل مسافة بادئة |
tab_width |
Integer | عدد الأعمدة التي تمثل علامة الجدولة (افتراضيا indent_size) |
end_of_line |
lf | crlf | cr |
تسلسل محارف نهاية السطر |
charset |
utf-8 | utf-16be | utf-16le | latin1 |
تشفير الملف |
trim_trailing_whitespace |
true | false |
إزالة المسافات البيضاء في نهايات الأسطر |
insert_final_newline |
true | false |
التأكد من انتهاء الملف بسطر جديد |
max_line_length |
Integer | off |
الحد الأقصى الموصى به لعرض العمود |
مطابقة أنماط Glob
*: يطابق أي سلسلة من المحارف باستثناء فواصل المسارات (/)**: يطابق أي محارف عبر مسارات المجلدات المتعددة?: يطابق أي محرف فردي واحد[seq]: يطابق أي محرف موجود ضمن المجموعة seq[!seq]: يطابق أي محرف غير موجود ضمن المجموعة seq{s1,s2,s3}: يطابق أيًا من النصوص المفصولة بفواصل (مثل package.json أو .travis.yml)