طريقة الاستخدام
- اختر الإزاحة في المسافة البادئة بـ وحجم المسافة البادئة. واختر فاصل السطر في نهاية السطر والترميز في مجموعة الأحرف.
- ضع علامة على أقسام أنواع الملفات التي تحتاجها: الإبقاء على المسافات في نهاية الأسطر في Markdown وإزاحة YAML بمسافتين وإزاحة وصفات Makefile بعلامات التبويب.
- انسخ النص في ملف .editorconfig، أو نزّله، واحفظه في المجلد الأعلى من مشروعك.
- اقرأ معنى كل سطر لتتحقق من عمل كل خاصية.
كيف يعمل الملف
تقرأ كثير من المحررات وبيئات التطوير ملف .editorconfig وتطبق إعداداته على الملفات التي تطابق كل قسم. ترويسة القسم نمط اسم ملف بين أقواس مربعة، والخصائص تحته تنطبق على كل ملف يطابقه. ويغلب القسم اللاحق القسم السابق في الخاصية نفسها. والسطر root = true يوقف البحث، فتصل الإعدادات إلى هذا المجلد والمجلدات التي تحته فقط.
- * يطابق أي أحرف ما عدا الشرطة المائلة.
- ** يطابق أي أحرف، بما فيها الشرطات المائلة.
- {yml,yaml} يطابق أياً من النصين، فالنمط *.{yml,yaml} يطابق النوعين من الملفات.
أقسام أنواع الملفات
- Markdown: مسافتان في نهاية السطر تصنعان فاصل سطر، لذلك يُوقف الحذف للملفات *.md.
- YAML: لا يُسمح بعلامات التبويب في الإزاحة، لذلك تُكتب *.{yml,yaml} بمسافات، مسافتان لكل مستوى.
- Makefile: يجب أن يبدأ كل سطر وصفة بعلامة تبويب، لذلك يحصل Makefile على indent_style = tab.
اختيار القيم
- المسافات هي الخيار الشائع في الشيفرة. وتناسب علامات التبويب فريقاً تُظهر محرراته علامة التبويب بالعرض نفسه.
- LF هو فاصل السطر المعتاد في المشاريع على لينكس وmacOS ومعظم المستودعات. أما CRLF فهو فاصل سطر ملفات Windows النصية.
- UTF-8 هو الترميز القياسي. استخدم UTF-8 مع علامة ترتيب البايتات فقط عندما تحتاج أداة إليها.
مثال محلول: الخيارات الافتراضية
مع المسافات وحجم إزاحة 2 وLF وUTF-8 وإزالة المسافات في نهاية الأسطر وسطر نهائي جديد وأقسام أنواع الملفات الثلاثة، يحتوي الملف على سطر root، وقسم لكل الملفات فيه ست خصائص، وخاصية واحدة في قسمي Markdown وMakefile، وخاصيتان في قسم YAML. يسرد الجدول أحد عشر سطر خاصية، وتظهر هنا ستة منها.
| القسم | الخاصية | القيمة |
|---|---|---|
| أعلى الملف | root | true |
| كل الملفات | indent_style | space |
| كل الملفات | indent_size | 2 |
| Markdown (.md) | trim_trailing_whitespace | false |
| YAML (.yml, .yaml) | indent_style | space |
| Makefile | indent_style | tab |
الأسئلة الشائعة
أين يُوضع ملف .editorconfig؟
في المجلد الأعلى من المشروع، بجوار ملف README. تبحث المحررات عن الملف في مجلد كل ملف، ثم في كل مجلد أعلى منه، ويتوقف البحث عند أول ملف فيه root = true.
هل يعيد ملف .editorconfig تنسيق شيفرتي؟
لا بذاته. يخبر المحررات والإضافات بالإزاحة ونهايات الأسطر والترميز الذي تستخدمه عند التحرير أو الحفظ. أداة التنسيق أو أداة الفحص هي التي تعيد التنسيق، وبعضها يقرأ الإعدادات نفسها.
لماذا يحتفظ قسم Markdown بالمسافات في نهاية الأسطر؟
في Markdown تصنع مسافتان في نهاية السطر فاصل سطر. ولو أُزيلتا لاندمج سطران في سطر واحد، لذلك يوقف هذا القسم الإزالة لملفات .md وحدها.
لماذا يجب أن تستخدم ملفات Makefile علامات التبويب؟
يقرأ make كل سطر وصفة بعد علامة تبويب، والوصفة التي تبدأ بمسافات خطأ. لذلك يضبط قسم Makefile قيمة indent_style على tab للملفات المسماة Makefile.
هل يستطيع مجلد فرعي إلغاء أحد هذه الإعدادات؟
نعم، بالقيمة unset التي تلغي خاصية ضُبطت سابقاً. وهذه الصفحة تكتب قيماً عادية فقط، لذلك أضف هذا السطر في ملف .editorconfig الخاص بالمجلد الفرعي إذا احتجت إليه.
هل يُرسل الملف إلى خادم؟
لا. يُكتب الملف في متصفحك من الخيارات التي تختارها، ولا يُخزَّن أي شيء تختاره.
المصادر
- EditorConfig (باللغة الإنجليزية): the file format and the supported properties
- EditorConfig specification (باللغة الإنجليزية): sections, globs and root
- CommonMark 0.31.2 (باللغة الإنجليزية): hard line breaks (two spaces at the end of a line)
- YAML 1.2.2 (باللغة الإنجليزية): tab characters must not be used in indentation
- GNU Make manual (باللغة الإنجليزية): a recipe line begins with a tab character
آخر مراجعة للأرقام والنص: الثلاثاء، 30 جمادى الأولى 1448 بعد الهجرة.