مولد EditorConfig
يحسم ملف .editorconfig في جذر المستودع جدال علامات التبويب مقابل المسافات ملفًا بملف، إذ يُخبر كل بيئة تطوير حديثة بكيفية تنسيق هذا المشروع لملفاته. بايثون: 4 مسافات. جافا سكريبت: 2. Makefile: علامات تبويب (إلزامية). يبني هذا المولّد ملف .editorconfig من خيارات التنسيق لديك (نمط المسافة البادئة وحجمها، نهاية السطر، مجموعة الأحرف، أقصى طول للسطر، سطر جديد ختامي، وقص المسافات الطرفية)، ويتضمن دائمًا التعديلين الشائعين: [*.md] يُبقي المسافات الطرفية لفواصل أسطر Markdown، و[Makefile] يستخدم علامات التبويب كما تتطلب أداة make.
كيفية إنشاء ملف .editorconfig
-
1
حدد القيم الافتراضية العالمية
مجموعة الأحرف (الافتراضي utf-8)، نهاية السطر (lf مقابل crlf)، نمط وحجم المسافة البادئة، أقصى طول للسطر، إضافة سطر جديد ختامي، وقص المسافات الطرفية.
-
2
راجع التعديلات المضمنة
يضيف المولّد دائمًا `[*.md]` مع `trim_trailing_whitespace = false` (يحتاج Markdown إلى مسافات طرفية لفواصل الأسطر) و`[Makefile]` مع `indent_style = tab` الذي تفرضه أداة make نفسها.
-
3
انسخ الملف
استخدم زر النسخ للحصول على `.editorconfig` المولّد وضعه في جذر المستودع.
-
4
وسّعه لاحقًا
هل تحتاج قواعد لكل لغة على حدة؟ أضف أقسامك الخاصة، مثل `[*.py]` مع `indent_size = 4`.
ما الذي يفعله ملف .editorconfig
ملف باسم .editorconfig في جذر المشروع (أو في أي دليل) يُعلن أعراف التنسيق. والمحررات التي تدعم EditorConfig (كل بيئات التطوير الرئيسية ومعظم محررات النص الحديثة) تطبّق هذه القواعد عند فتح الملف.
مثال على الناتج
بالإعدادات الافتراضية (مسافات، حجم 4، LF، utf-8) ينتج المولّد ما يلي:
root = true
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 120
[*.md]
trim_trailing_whitespace = false
[Makefile]
indent_style = tab
التوجيهات الرئيسية
| التوجيه | القيم المقبولة | ملاحظات |
|---|---|---|
| root | true / false | اضبطه على true في جذر المشروع لإيقاف البحث |
| charset | utf-8، utf-8-bom، latin1، utf-16-be، utf-16-le | utf-8 هو الافتراضي |
| end_of_line | lf, crlf, cr | lf للعمل عبر المنصات؛ crlf للمستودعات الخاصة بويندوز فقط |
| indent_style | space، tab | |
| indent_size | عدد صحيح | عدد المسافات، يُتجاهَل عند استخدام tab |
| tab_width | عدد صحيح | العرض البصري لعلامة التبويب (الافتراضي indent_size) |
| insert_final_newline | true / false | يضمن ملفات متوافقة مع POSIX |
| trim_trailing_whitespace | true / false | عطّله في Markdown (حيث تعني المسافات الطرفية فواصل أسطر) |
أعراف اللغات في لمحة
| اللغة / الملف | العُرف |
|---|---|
| JS، TS، JSON | مسافتان |
| HTML، CSS، YAML | مسافتان |
| Python | 4 مسافات (PEP 8) |
| PHP | 4 مسافات (PSR-12) |
| Ruby | مسافتان |
| Go | علامات تبويب (يفرضها gofmt) |
| Rust | 4 مسافات (يفرضها rustfmt) |
| Java | 4 مسافات |
| Makefile | علامات تبويب (تفرضها أداة make نفسها) |
| Markdown | الاحتفاظ بالمسافات الطرفية (تُستخدم لـ <br>) |
| Batch/CMD (.bat) | نهايات أسطر crlf |
الفخ: المسافات الطرفية في Markdown
في Markdown، يعني وجود مسافتين طرفيتين في نهاية السطر “أدخل <br> هنا”. إذا قص ملف .editorconfig المسافات الطرفية لكل الملفات، فستختفي فواصل الأسطر تلك. تجاوز ذلك بـ trim_trailing_whitespace = false لـ [*.md].
هل تدعمها بيئة التطوير المتكاملة لديك
الدعم الأصلي: VS Code، عائلة JetBrains IntelliJ، Sublime Text، Vim (من خلال إضافة)، Emacs (من خلال إضافة)، Atom، Notepad++، وXcode. إذا لم يدعم محرر ما خاصية EditorConfig بشكل افتراضي، فغالبًا ما يحتوي على إضافة تدعمها. كما أن الملف قابل للقراءة الآلية، مما يسمح لأدوات التدقيق والتنسيق بالتعامل معه بشكل صحيح.
الأسئلة الشائعة
في جذر المشروع تحت المسار root = true، يمكن إضافة ملفات إضافية من نوع .editorconfig إلى مجلدات فرعية لاستبدال مسارات محددة؛ حيث يتم البحث عبر هيكل المجلدات تدريجيًا وينتهي عند أول ملف من نوع root = true يتم العثور عليه.
لا. يتولى EditorConfig أساسيات المسافات ونهايات السطور في كل المحررات. أما Prettier وأدوات التدقيق المخصصة لكل لغة فتتولى قواعد الأسلوب الأعمق (علامات الاقتباس، والفواصل المنقوطة، والفواصل اللاحقة). وكلاهما يكمّل الآخر.
قم بتعيين end_of_line = crlf إذا كانت أدوات ويندوز الموجودة في المستودع تتطلبه فعليًا. الخيار الأفضل هو: إرسال ملف end_of_line = lf وإضافة ملفات .gitattributes و* text=auto، بحيث يقوم نظام Git بتوحيد نهايات السطور عند الإرسال، بينما تظل نهايات السطور عند استرجاع الملفات متوافقة مع نظام التشغيل المستخدم.
لا. تُستخدم خياراتك فقط لإنشاء الملف، ولا يُخزَّن أي شيء على خوادمنا ولا يُحتفظ به بعد مغادرتك الصفحة.
أدوات ذات صلة
مرجع جدول ASCII
جدول ASCII كامل من 0 إلى 127 مع التمثيل العشري والست عشري والثماني والثنائي والمرجع الرقمي في HTML لكل محرف، بما في ذلك أكواد التحكم مثل NUL وLF وDEL.
مرجع أحرف HTML
قائمة قابلة للبحث بكيانات HTML، مع رموزها المسمّاة والرقمية، بالإضافة إلى خيار النسخ بنقرة واحدة للأحرف والرموز الخاصة.
مرجع اختصارات لوحة المفاتيح
ابحث في الاختصارات الافتراضية الموثقة لـ VS Code وChrome وBash مع GNU Readline على macOS وWindows وLinux.
عدّاد FPS
قِس معدل الإطارات FPS في المتصفح عبر requestAnimationFrame: تنعيم، وأدنى وأقصى معدل إطارات، وحد تنبيه، ورسم بياني اختياري. يعمل محليًا بلا رفع ملفات وبلا API.
منسق HTML
نسّق HTML محلياً في المتصفح بمسافة بادئة من مسافتين أو أربع مسافات. لا يُرفع HTML ولا يُتحقق منه.
محاكي عدّاد البرنامج
تتبّع قائمة مبسطة من التعليمات ثابتة الطول عبر التسميات والتفرعات والقفزات والاستدعاءات والعودة وعناوين 16 أو 24 أو 32 بت.
الأداة متاحة بلغات أخرى
- 编辑器配置生成器 [ZH]
- Gerador de EditorConfig [PT]
- Trình tạo EditorConfig [VI]
- EditorConfig 생성기 [KO]
- เครื่องมือสร้าง EditorConfig [TH]
- Generador de EditorConfig [ES]
- EditorConfig ジェネレーター [JA]
- Generator EditorConfig [ID]
- Générateur EditorConfig [FR]
- EditorConfig-generator [SV]
- EditorConfig Oluşturucu [TR]
- EditorConfig-generator [NL]
- EditorConfig Generator [EN]
- Generator EditorConfig [PL]
- EditorConfig-Generator [DE]
- Generatore EditorConfig [IT]
- Генератор EditorConfig [RU]