إعدادات المحرر
EditorConfig عبارة عن مواصفة مفتوحة وتنسيق ملف لتلوين بناء الجملة ، ومحررات النصوص ، وبيئات التطوير المتكاملة (IDEs)، ويهدف إلى الحفاظ على أسلوب برمجة متسق، خاصةً للمجموعات التي تعمل معًا. [ 1 ] [ 2 ] يساعد هذا التنسيق في توحيد اصطلاحات التنسيق بين عدة محررات، وكذلك بين الأفراد. يخزن الإعدادات في ملف يمكن مشاركته بين عدة أشخاص أو استخدامه في عدة محررات (من قِبل الشخص نفسه أو من قِبل عدة أشخاص). [ 3 ] [ 4 ] يحدد هذا التنسيق قواعد تنسيق لغات البرمجة المختلفة أو ملفات النصوص المهيكلة الأخرى، مع اصطلاحات مثل الحرف الذي يُنهي به السطر وكيفية إدارة المسافة البادئة. [ 5 ]
مفهوم
يذكر موقع المشروع الإلكتروني أن "EditorConfig يساعد في الحفاظ على أنماط برمجة متسقة للعديد من المطورين الذين يعملون على نفس المشروع عبر مختلف المحررات وبيئات التطوير المتكاملة. يتكون مشروع EditorConfig من تنسيق ملف لتحديد أنماط البرمجة ومجموعة من إضافات محررات النصوص التي تُمكّن المحررات من قراءة تنسيق الملف والالتزام بالأنماط المحددة. تتميز ملفات EditorConfig بسهولة قراءتها وتوافقها التام مع أنظمة التحكم في الإصدارات." [ 6 ]
مواصفة
المصدر: [ 7 ]
عادةً ما يتم تخزين الإعدادات في ملف نصي مُشفّر بنظام UTF-8 : .editorconfig . تسمح بعض الأدوات بحفظ تفضيلات التنسيق كملف EditorConfig. [ 8 ] كل سطر:
- قد يكون فارغًا (يحتوي فقط على أحرف المسافات البيضاء )
- تعليق يبدأ بـ أو;#
- عنوان القسم، الذي يبدأ بقوس مربع [، وينتهي بقوس مربع ].
- لا يجوز أن يحتوي عنوان القسم على أي أحرف غير المسافات البيضاء خارج الأقواس.
- قد يحتوي على أي أحرف بين الأقواس بما في ذلك المسافات البيضاء/علامات الجدولة
- يستخدم أحرف الشرطة المائلة /كفواصل للمسارات
- \يُحظر استخدام علامات الخط المائل العكسي ، حتى في نظام التشغيل ويندوز.
- زوج المفتاح والقيمة= ، مع وجود فاصل يفصل المفتاح عن القيمة
أي تنسيق سطر آخر غير صالح. لا يدعم هذا التنسيق التعليقات المضمنة. إذا وُجد حرف "a" ;أو #"b" في أي مكان آخر غير بداية السطر، فإنه يُعتبر جزءًا من نص السطر. لا يدعم هذا التنسيق أي عملية تهريب للأحرف.
أجزاء/أقسام من الملف
- المقدمة: أزواج اختيارية
key=valueتسبق القسم الأول. - اسم القسم: سلسلة نصية بين[ ]
- القسم: أزواج القيم الرئيسية التي تلي اسم القسم حتى بداية القسم التالي.
تعبيرات عامة
أسماء الأقسام عبارة عن أنماط مسار الملفات، باستخدام تنسيق مشابه لـ .gitignore ، وتستند إلى اصطلاحات يونكس.
| الشخصيات | الملفات المطابقة |
|---|---|
| * | أي سلسلة نصية (بأي طول) باستثناء فواصل المسار (/ |
| ** | أي سلسلة من الأحرف |
| ? | أي حرف واحد |
| [seq] | أي حرف واحد في التسلسل |
| [!seq] | أي حرف منفرد غير موجود في التسلسل |
| {s1,s2,..sn} | أي سلسلة نصية مفصولة بفواصل. يمكن أن تكون هذه القائمة متداخلة. يجب أن تحتوي القائمة على أكثر من سلسلة نصية واحدة، لأن {somestring} ستطابق القيمة الحرفية ' {somestring}' (وهو على الأرجح ليس ما كان مقصودًا). |
| {n1..n2} | يطابق عددًا صحيحًا بين n1 و n2 ( أي يطابق) |
موقع الملف
تبحث إضافات EditorConfig عن ملف باسم .editorconfig في نفس الدليل الذي يحتوي على ملف موجود، وفي الأدلة الأصلية لهذا الملف حتى تصل إلى مسار الملف الجذر (على سبيل المثال / في Linux / Unix / macOS أو C: في حالة Microsoft Windows، أو تجد ملف .editorconfig يحتوي على سطر ينص على .root=true
تُعطى الأولوية لأحدث القواعد التي تم العثور عليها حسب ترتيب قراءتها. لذا، فإن القواعد الموجودة في نفس دليل الملف ستلغي القواعد الموجودة في الأدلة ذات المستوى الأعلى.
تنسيق الملف
يستخدم برنامج إعداد المحرر تنسيق ملف التكوين INI الشائع .
خيارات التصميم
| مفتاح | إعدادات لضبط الخيار |
|---|---|
| نمط المسافة البادئة | اضبط على استخدام "tab"أو "space"استخدام علامات الجدولة أو المسافات |
| حجم المسافة البادئة | عدد صحيح يحدد عدد المسافات لكل علامة جدولة، أو عرض علامة الجدولة. |
| عرض علامة التبويب | لا يتم تحديد هذا عادةً لأنه يتم تعيينه افتراضيًا إلى حجم المسافة البادئة |
| نهاية السطر | اضبط على ، أو ، أو للتحكم في كيفية تمثيل فواصل الأسطر ."lf""cr""crlf" |
| مجموعة الأحرف | ترميز الأحرف " latin1 " أو " utf-8 " أو "utf-8-bom" أو "utf-16be" أو "utf-16le" للتحكم في مجموعة الأحرف. |
| trim_trailing_whitespace | إذا تم ضبطه على " صحيح "، فسيتم إزالة أي أحرف مسافة بيضاء تسبق أحرف السطر الجديد |
| إدراج سطر جديد نهائي | إذا كانت القيمة " صحيح " ستنهي الملفات بسطر جديد، فإن القيمة " خطأ " ستمنع ذلك. |
| جذر | خاصية خاصة (مثلاً، مُحددة في أعلى الملف خارج أي أقسام). اضبطها على " صحيح " لإيقاف البحث عن ملفات .editorconfig في الملف الحالي. (أي، لا تستمر في البحث عن أي ملفات EditorConfig أخرى في الدلائل ذات المستوى الأعلى). |
تدعم بعض الأدوات خيارات إضافية مثل max_line_length (الذي يفرض التفافًا صارمًا للسطر بعد عدد الأحرف المحدد) (مدعوم من قبل Emacs و Vim و Atom والعديد من الأدوات الأخرى).
تطبيق
اعتمدت العديد من المحررات الشائعة دعم هذه المواصفات. [ 9 ] تحتوي صفحة المشروع على GitHub على مكتبات مكتوبة بلغة البرمجة Go ، [ 10 ] ولغة البرمجة C ، [ 11 ] ولغة البرمجة Python ، [ 12 ] بالإضافة إلى مكتبة Node.js. [ 13 ] يوجد على موقع المشروع قائمة شاملة بالمحررات المتاحة. [ 14 ]
أفاد المحررون بأنهم يعملون دون استخدام أي إضافة.
Gitea و GitHub و IntelliJ IDEA و [ 15 ] PyCharm و BBEdit و Xcode 16 والمحررات من JetBrains و [ 16 ] Kate و Emacs [ 17 ] و Komodo و Visual Studio و Vim / Neovim .
المحررات التي تتطلب إضافة
تتطلب بعض برامج التحرير تثبيت إضافة : Eclipse IDE ، وAtom ، وGeany ، وJEdit ، و Notepad++ ، و NetBeans ، و Visual Studio Code ، و Sublime Text [ 18 ].
بيئة بناء تتطلب مكونًا إضافيًا
المحررات التي لا تدعم EditorConfig
لا توجد قائمة مُحدّثة بجميع مُحرّرات النصوص أو بيئات التطوير المتكاملة (IDEs) التي لا تدعم خاصية EditorConfig (على سبيل المثال، تم ذكر دعم Spyder IDE [ 19 ] في السابق، ولكن يبدو أنه لا يتضمنها حتى الآن. [ 20 ] [ 21 ]
أدوات تطوير البرمجيات الأخرى التي تُنفذ EditorConfig
أجمل [ 22 ]
مراجع
- ↑ هومبيرغز، توم (2021-02-15). "تنسيق الكود بسهولة باستخدام EditorConfig" . reflectoring.io . تم الاطلاع عليه بتاريخ 24-04-2024 .
- ↑ "تحديد أنماط برمجة متسقة باستخدام EditorConfig" . Microsoft Build . Microsoft. أبريل 2024. تم الاطلاع عليه في 1 أبريل 2024 .
- ↑ "EditorConfig" . X (المعروف سابقًا باسم تويتر) . تم الاسترجاع في 24 أبريل 2024 .
- ↑ ذا كود هوليك. "ما هو ملف .editorconfig - الدليل الكامل لملف EditorConfig" . يوتيوب . تم الاطلاع عليه بتاريخ 24 أبريل 2024 .
- ↑ "ملفات التكوين لقواعد تحليل التعليمات البرمجية" . مايكروسوفت بيلد . 6 أكتوبر 2023. تم الاطلاع عليه في 24 أبريل 2024 .
- ↑ ""EditorConfig"" . EditorConfig . تم الاسترجاع في 23 أبريل 2024 .
- ↑ ""مواصفات تكوين المحرر"تم الاطلاع عليه بتاريخ 24 أبريل 2024 .
- ↑ "خيارات نمط الكود وتنظيف الكود - فيجوال ستوديو (ويندوز)" . 15 مايو 2023.
- ↑ ""ما هو ملف .editorconfig ؟"" . Geeks for Geeks . 7 مارس 2024. تم الاطلاع عليه بتاريخ 24 أبريل 2024. "
- ↑ "Editorconfig/Editorconfig-core-go" . GitHub . تم الاطلاع عليه بتاريخ 24 أبريل 2024 .
- ↑ "Editorconfig/Editorconfig-core-c" . GitHub . تم الاطلاع عليه بتاريخ 24 أبريل 2024 .
- ↑ "Editorconfig/Editorconfig-core-py" . GitHub . تم الاطلاع عليه بتاريخ 24 أبريل 2024 .
- ↑ "Editorconfig" . 2 يوليو 2023. تم الاطلاع عليه بتاريخ 24 أبريل 2024 .
- ↑ "مشاريع تستخدم EditorConfig" . GitHub . تم الاطلاع عليه بتاريخ 24-04-2024 .
- ↑ "EditorConfig | IntelliJ IDEA" .
- ↑ "EditorConfig - إضافة IntelliJ IDEs | Marketplace" . تم الاطلاع عليه بتاريخ 24 أبريل 2024 .
- ↑ "أخبار GNU Emacs، أوضاع وحزم جديدة في Emacs 30.1" . 23-02-2025 . تم الاطلاع عليه بتاريخ 16-07-2025 .
- ↑ "EditorConfig for VS Code - Visual Studio Marketplace" . تم الاطلاع عليه بتاريخ 24 أبريل 2024 .
- ↑ "إضافة دعم لملف .editorconfig #2464" . Syder-ide Github . 2 يونيو 2015.
- ↑ "متغير بيئي 'EDITORCONFIG' للإعدادات العامة · المشكلة رقم 465 · editorconfig/Editorconfig" . GitHub . تم الاطلاع عليه بتاريخ 24 أبريل 2024 .
- ↑ "محرر - وثائق Spyder 5" . تم الاطلاع عليه بتاريخ 24 أبريل 2024 .
- ↑ "كيفية إعداد ESLint وPrettier وEditorConfig للمواقع الثابتة" . مجتمع المطورين . 25 يناير 2022. تاريخ الاطلاع: 24 أبريل 2024 .
- ملفات التكوين
