المساعدة:إضافة:إبراز التركيب
| ملاحظة: بتعديلك هذه الصفحة فإنك توافق على وضع مساهمتك في الملكية العامة وفق CC0. راجع صفحات مساعدة الملكية العامة للمزيد من المعلومات. |
تُعد امتداد "CodeMirror" محرراً يوفر ميزة إبراز النحو وميزات تحرير متقدمة أخرى متعلقة بالكود النحوي. وهو يدعم مجموعة متنوعة من اللغات، أبرزها النص الويكي في ميظياويمكي وجافاسكريبت وCSS وJSON وLua. يمكن أن يسهّل هذا عملية التحرير من خلال استخدام الألوان والتظليل للفصل بصرياً بين النص العادي وعناصر الصياغة الأخرى، مثل الروابط والقوالب وغيرها من وسوم نص الويكي.
الاستخدام
التمكين
يمكن تفعيل CodeMirror باستخدام "تمكين إضفاء الضوء على النصوص النصية للويكيتكس" في قسم التحرير ضمن تفضيلاتك.
في محرر ويكي (المعروف أيضاً باسم "محرر 2010"، والذي يُفعَّل عبر الخيار تفعيل شريط أدوات التحرير)، يمكن أيضاً تفعيل هذه الميزة أو تعطيلها باستخدام زر التظليل "
تركيب" الموجود في شريط الأدوات.
في محرر 2017، يمكنك تفعيل أو تعطيل CodeMirror بالنقر على الزر خيارات الصفحة
في شريط الأدوات، ثم اختيار إبراز التركيب.
اختصارات لوحة المفاتيح
يمكنك الاطلاع على اختصارات لوحة المفاتيح عن طريق فتح مربع حوار المساعدة باستخدام Ctrl+⇧ Shift+/.
| قائمة اختصارات لوحة المفاتيح | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
الميزات
تفضيلات CodeMirror
| إصدار ميدياويكي: | ≥ 1.44 |
يمكن للمستخدمين الأفراد تعطيل معظم الميزات الموثقة هنا أو تفعيلها.
لفتح لوحة التفضيلات أثناء استخدام المحرر، ضع التركيز على المحرر واضغط على Ctrl+⇧ Shift+, (أو ⌘ Command+⇧ Shift+, على نظام macOS).
إذا كنت تستخدم محرر ويكي، فيمكنك أيضاً الوصول إلى تفضيلات CodeMirror بالنقر على زر
في قسم متقدم من شريط الأدوات.
سيتم حفظ تفضيلات CodeMirror الخاصة بك عبر مختلف الأجهزة وجلسات الاستخدام.
تتوفر بعض التفضيلات فقط في مربع حوار التفضيلات "الكامل". ويمكن الوصول إليه بالنقر على الرابط التفضيلات الكاملة في لوحة التفضيلات، أو مباشرةً بالضغط على Alt+⇧ Shift+,.
غالبًا ما تختلف متطلبات تحرير ميدياويكي wikitext عن متطلبات تحرير "الشيفرة البرمجية" الفعلية، مثل جافاسكريبت أو Lua. ولهذا السبب، تُحفظ التفضيلات بشكل منفصل لكل من نص الويكي والنصوص غير المعتمدة على صيغة الويكي، مما يتيح لك تخصيص التجربتين بطرق مختلفة.
بدءاً من ميدياويكي 1.46، تُخزَّن جميع تفضيلات CodeMirror بشكلٍ عام إذا كان Extension:GlobalPreferences مُثبَّتاً.
مطابقة الأقواس

عندما يقع المؤشر مباشرةً بجوار قوس أو داخل زوج من الأقواس، تقوم الميزة بتمييز القوس المقابل المطابق له. اعتماداً على اللغة، قد تعمل ميزة مطابقة الأقواس أيضاً مع هياكل نحوية أخرى، مثل وسوم HTML.[1]
سيؤدي النقر المزدوج بجوار القوس إلى تحديد كل النص الموجود بين القوسين. سيؤدي النقر ثلاث مرات إلى تحديد كتلة الكود بأكملها التي تضم الأقواس المتطابقة.
الإغلاق التلقائي للأقواس والوسوم
| إصدار ميدياويكي: | ≥ 1.46 |
بالإضافة إلى مجرد تمييز الأقواس والوسوم المتطابقة، يمكن إدراجها تلقائياً عند كتابة زوج جديد منها.
خذ على سبيل المثال وسوم <translate>...</translate>، التي يجب أن تتضمن دائمًا وسمًا للبداية ووسمًا للإغلاق.
مع تفعيل خيار تفعيل خاصية الإغلاق التلقائي لعلامات HTML، ما عليك سوى كتابة الرمز <translate الأولي، وعند كتابة >، يتم إدراج الرمز </translate> المطابق تلقائياً.
إذا كنت تستخدم أيضاً ميزة فعّل الإكمال التلقائي، فمن المرجح أنك تحتاج فقط إلى كتابة ما لا يقل عن 2$ لاختيار الوسم، ثم استخدام ميزة الإكمال التلقائي.
طي الكود
تتيح لك ميزة طي الكود طي وسائط القوالب، ووسوم الامتدادات، وغيرها من كتل الكود البرمجي؛ مما يجعل إدارة القوالب الكبيرة والمعقدة أسهل بكثير.
الاستخدام
عندما يغطي المؤشر أو التحديد أي جزء من الصيغة البرمجية المدعومة، ستظهر أيقونة تلميح
مباشرةً فوق النص؛ وسيؤدي النقر عليها إلى طي الكود، بحيث لا يتبقى سوى اسم القالب أو الوسم.
سيظهر الكود المُطوى متضمناً اسم القالب أو الوسم متبوعاً بأيقونة النقاط الثلاث
؛ وسيؤدي النقر عليها إلى إعادة الكود إلى حالته الأصلية.
| الاختصار | اختصار (macOS) | الوصف |
|---|---|---|
| Ctrl+⇧ Shift+[ | ⌘ Command+Alt+[ | طيّ الكود المحدد. |
| Ctrl+⇧ Shift+] | ⌘ Command+Alt+] | وسع الكود المحدد. |
| Ctrl+Alt+[ | Ctrl+Alt+[ | طي كل الكود. |
| Ctrl+Alt+] | Ctrl+Alt+] | وسّع كل الأكواد. |
تخصيص
إذا كنت ترغب في الاحتفاظ باختصار لوحة المفاتيح الخاص بطي القوالب مع إخفاء العنصر المرئي، فيمكنك القيام بذلك عن طريق إضافة ما يلي إلى ملف CSS الشخصي الخاص بك:[2]
.cm-tooltip-fold {
display: none;
}
إكمال تلقائي
| إصدار ميدياويكي: | ≥ 1.44 |

توفر هذه الميزة خاصية الإكمال التلقائي عند كتابة الروابط الداخلية، وكلمات سحرية، وparser extension tags، وبروتوكولات الروابط (URL).
على سبيل المثال، إذا أدخلت {{#، فينبغي أن تظهر لك قائمة بجميع دوال المُحلِّل التي تبدأ بـ #.
وبالمثل، فإن كتابة شرطتين سفليتين (__) ستُظهر قائمةً بالكلمات السحرية التي تبدأ بشرطتين سفليتين.
يمكنك مواصلة الكتابة لتضييق نطاق البحث. استخدم مفاتيح الأسهم لاختيار النص المطلوب، واضغط على المفتاح ↵ Enter أو Tab ↹ لتأكيد اختيارك.
يعمل الإكمال التلقائي أيضاً مع القوالب والروابط الداخلية وروابط الملفات.
فحص الكود
| إصدار ميدياويكي: | ≥ 1.45 |

يتضمن CodeMirror أداة فحص الكود (لنت). تقوم هذه الأداة بإجراء تحليل ثابت للكود في الوقت الفعلي، حيث تظهر الأخطاء أو المشكلات المحتملة الأخرى في الكود دون الحاجة إلى حفظه. يعمل هذا مع جميع اللغات التي تدعمها CodeMirror، بما في ذلك النص الويكي.
يتوفر خيار فحص الكود كخيار وصلة الرمز في تفضيلات CodeMirror الخاصة بك.
عند تفعيل هذه الميزة، سيظهر لك شريط حالة أسفل المحرر يوضح عدد الأخطاء والتحذيرات وتشخيصات المعلومات.
تظهر المشكلات في النص المصدر تحتها خط؛ إذ يؤدي تمرير المؤشر فوقها إلى عرض مزيد من المعلومات، كما قد توفر أداة الفحص، في بعض الحالات زراً لإصلاح المشكلة بسرعة.
على الجانب المقابل من شريط الحالة، تظهر لك أرقام تشير إلى رقم السطر الحالي، وموقع الحرف، وطول التحديد.
انظر Help:Extension:CodeMirror/WikiLint للاطلاع على قائمة قواعد الفحص الكود المتاحة لنص الويكي. بالإضافة إلى ذلك، تتوفر أيضًا ميزة فحص الكود لعدد من الأنماط الأخرى:
| النمط[3] | الاسم | الطريقة[4] |
|---|---|---|
mediawiki |
WikiLint | في المتصفح |
mediawiki |
بارسويد | واجهة برمجة التطبيقات |
javascript |
ESLint | في المتصفح |
javascript |
Peast | واجهة برمجة التطبيقات |
css |
Stylelint | في المتصفح |
css[5]
|
css-sanitizer | واجهة برمجة التطبيقات |
json
|
مدقق JSON مخصص | في المتصفح |
lua |
Luacheck | في المتصفح |
abusefilter |
Extension:مرشح الإساءة | API |
تجدر الإشارة إلى أنه على الرغم من أن أدوات فحص الكود تُعد وسائل مفيدة للمساعدة في معالجة مشكلات متنوعة، إلا أنها لا تُعتبر مرجعاً نهائياً، وقد تتبنى آراءً تتعلق بالأسلوب لا يتفق معها جميع المحررين.
فتح الروابط في النص الويكي
| إصدار ميدياويكي: | ≥ 1.44 |
يمكنك فتح الروابط المحددة في نص الويكي بسرعة؛ وذلك بالضغط باستمرار على المفتاح Ctrl (أو ⌘ Command في نظام macOS) والنقر على عنوان الصفحة الموجود ضمن صيغة الرابط، مثل [[Main Page]].
سيؤدي النقر على هذا العنصر إلى فتح الصفحة الرئيسية في علامة تبويب جديدة.
تعمل هذه الميزة أيضاً مع أسماء القوالب وأسماء الملفات.
ترقيم الأسطر

عند التفعيل، تُعرض أرقام الأسطر تلقائياً في جميع المحررات. في ويكيات ويكيميديا، تكون هذه الميزة مُفعَّلة فقط لنطاقات محددة في مواقع ويكي محددة.[6]
ستأخذ أرقام الأسطر في الاعتبار أي أسطر مخفية، مثل تلك الناتجة عن طي الكود.
تمييز السطر النشط
| إصدار ميدياويكي: | ≥ 1.44 |
في تفضيلات CodeMirror، يمكنك اختيار أبرز السطر النشط لتفعيل هذه الميزة، مما يسهّل تحديد السطر الذي يوجد فيه المؤشر، لا سيما في الصفحات الكبيرة.
التفاف الأسطر
| إصدار ميدياويكي: | ≥ 1.44 |
يُعد التفاف الأسطر السلوك الافتراضي في معظم المحررات. قد ترغب أحياناً في تعطيل هذه الميزة، لا سيما عند كتابة نصوص ويكي معقدة أو أكواد برمجية أخرى. يمكنك تعطيل التفاف الأسطر في تفضيلات CodeMirror الخاصة بك.
مؤشرات وتحديدات متعددة
يمكنك إضافة مؤشرات أو تحديدات إضافية عن طريق الضغط باستمرار على مفتاح Ctrl (أو ⌘ Command في نظام macOS) والنقر على المحتوى المراد أو الموقع الذي ترغب في وضع المؤشر فيه. وبمجرد القيام بذلك، سيتم تطبيق أي تغييرات تجريها على جميع التحديدات في آنٍ واحد.
يمكنك أيضاً الضغط على Ctrl+d (أو ⌘ Command+d في نظام macOS) لتحديد التكرار التالي للنص أو الكلمة المحددة حالياً، مما يؤدي إلى إنشاء تحديدات متعددة. وتُعد هذه الميزة مفيدة كأداة سريعة للبحث والاستبدال.
تمييز المراجع
سيؤدي خيار "تسليط الضوء على محتويات<ref> العلامات" إلى تمييز جميع المحتويات الموجودة داخل وسوم <ref>...</ref> بـ لون خلفية أخضر فاتح.
يساعد هذا في التمييز بين المحتوى المرجعي والنص السردي.
بالإضافة إلى ذلك، سيؤدي تفضيل "اطوِ الكل<ref> العلامات بشكل افتراضي" إلى جعل جميع وسوم "<ref>...</ref>" مطويةً عند بدء جلسة التحرير لأول مرة.
يُرجى ملاحظة أن هذه الميزة قد تكون بطيئة نوعاً ما، نظراً لأنها تتطلب مسح المستند بالكامل. ولن يحدث هذا البطء إلا مرة واحدة عند فتح المحرر لأول مرة.
تمييز الأحرف الخاصة
بشكل افتراضي، سيقوم CodeMirror بتمييز أحرف التحكم غير القابلة للطباعة وغيرها من المحارف، مثل المسافات غير القابلة للكسر. تظهر رموز التحكم على هيئة نقطة حمراء، بينما تُعرض المسافات غير القابلة للكسر على هيئة نقطة رمادية باهتة. سيؤدي تمرير المؤشر فوق هذه الرموز إلى إظهار تلميح يوضح ماهية الرمز.
إذا رغبت في ذلك، يمكنك تعطيل هذه الميزة في تفضيلات CodeMirror الخاصة بك.
تمييز المسافات البيضاء
سيؤدي تفعيل "تمييز المسافات البيضاء" إلى تمييز رموز المسافات البيضاء بنقطة رمادية، أو بسهم عريض لـ رمز الجدولة.
سيقوم إعداد "قم بتمييز المساحة البيضاء الزائدة" بتمييز المسافات وعلامات الجدولة وغيرها من الأحرف غير المرئية الموجودة في نهاية الجملة.
وضع عمى الألوان
بالنسبة للمستخدمين الذين يجدون صعوبة في التمييز بين الألوان، يوفر CodeMirror وضعاً ملائماً للأشخاص المصابين بعمى الألوان.
يمكن تفعيل هذه الميزة في الويكيات التي تستخدم CodeMirror عبر الخيار ⧼codemirror-prefs-colorblind⧽ في تفضيلاتك.
عند تفعيل نظام الألوان المناسب لمن يعانون من عمى الألوان، تتغير ألوان عناصر الصفحة التالية:
| العناوين، والرموز، والتوقيعات، وأسماء الأقسام، والكلمات السحرية | #E4A400 |
| قوالب | #9C3A00 |
| وسوم إتش تي إم إل والمراجع والصيغ الرياضية | #56B4E9 |
| المتغيرات | #009E73 |
بالإضافة إلى ذلك، تتم إزالة ألوان وخلفيات التمييز من جميع النصوص والكائنات، بينما لا تتأثر خصائص الخط العريض والتسطير.
الأسئلة الشائعة
لماذا لا تعمل ميزة البحث في المتصفح؟
كما هو الحال مع جميع أدوات تمييز الصيغة البرمجية، لا يمكن تمييز الصفحات الضخمة دفعة واحدة دون التسبب في مشكلات كبيرة في الأداء. لهذا السبب، يجب أن يكون التركيز موجهاً إلى محرر CodeMirror حتى تعمل وظيفة البحث؛ إذ إن المستند بأكمله لا يكون مُحدَّداً (مُظلَّلاً)، وبالتالي لا تراه أداة البحث المدمجة في المتصفح.
إليك بعض النصائح للمساعدة في البحث:
- بشكل افتراضي، يجب توجيه التركيز إلى المحرر عند تحميل الصفحة، بما في ذلك بعد المعاينة. قد تحتاج إلى الانتظار لثانية أو ثانيتين حتى يتم تحميل CodeMirror أولاً.
- عندما يكون التركيز على خاصية البحث في CodeMirror، يمكنك إجبار المتصفح على استخدام ميزة البحث الخاصة به عن طريق الضغط على Ctrl+F مرة أخرى.
- بعبارة أخرى، عندما يكون التركيز على المحرِّر، يمكنك الضغط باستمرار على Ctrl والضغط على F مرتين لاستخدام ميزة البحث في المتصفح بدلاً من ميزة البحث الخاصة بـ CodeMirror.
- يمكنك استخدام مفاتيح الوصول لنقل التركيز إلى المحرر، وذلك باستخدام Alt+⇧ Shift+, أو Alt+, (أو Ctrl+⌥ Option+, على نظام macOS)، حسب المتصفح الذي تستخدمه.
- إذا كانت مشكلتك تظهر بشكل أساسي أثناء المعاينة، فقد تستفيد من تفعيل تفضيل "عرض المعاينة دون إعادة تحميل الصفحة"، الذي يُسرّع عملية المعاينة. يتم أيضاً احترام تفضيل التركيز التلقائي في CodeMirror.
- بالإضافة إلى ذلك، يمكنك الاستفادة من ميزة المعاينة الفورية، التي تعرض معاينةً مستمرةً مع الحفاظ على التركيز في المحرِّر.
لماذا يفتقر محرر النص الويكي 2017 إلى بعض الميزات؟
نظراً لوجود تعارضات تقنية متنوعة، فإن دعم CodeMirror في محرر نصوص الويكي 2017 محدود.
لا يمكن عملياً دعم ميزات مثل طي الكود، التي تغير مظهر نص الويكي، في محرر 2017؛ لأن هذا المحرر يتطلب أن يكون التركيز منصباً عليه لكي يتمكن المستخدمون من استخدام شريط الأدوات والأدوات السياقية الأخرى. وبالمثل، يتطلب CodeMirror أن يكون التركيز منصباً على محرره لكي تعمل ميزاته.
لتجاوز هذه المشكلة، يتم وضع محرر CodeMirror فوق محرر عام 2017، بحيث يعمل كلا المحررين بالتوازي. ولهذا السبب، يجب أن يتطابق محررا النصوص بصرياً بشكل تام، ولذا لا يمكن دعم سوى الميزات التي تتضمن تغييرات لونية أساسية، مثل تمييز المراجع.
يتطلب المحرر 2017 أيضاً أن تغطي منطقة العرض كامل طول المستند. قد يتسبب ذلك في مشكلات كبيرة في الأداء، نظراً لأن CodeMirror يضطر إلى تمييز المستند بأكمله بدلاً من تمييز الجزء المرئي للمستخدم فقط. كحل مؤقت، يتم تعطيل CodeMirror تلقائياً في الصفحات الضخمة جداً؛ وذلك لتجنب تعطل المتصفح ومشاكل الأداء الأخرى التي قد تعيق تجربة التحرير.
على المدى الطويل، يتمثل الأمل في إعادة صياغة مُحرِّر عام 2017 ليصبح أكثر توافقاً مع CodeMirror.
كيف يمكنني تعطيل تمييز الصيغة البرمجية تماماً؟
يمكنك تفعيل أو تعطيل جميع ميزات CodeMirror، بما في ذلك التمييز اللوني، من خلال تفضيلات التحرير (أو التفضيلات العامة). لديك الخيار لتفعيل CodeMirror لنصوص الويكي فقط، أو للكود فقط (مثل صفحات JavaScript وCSS)، أو لكليهما.
لاحظ أن استخدام الزر "
تركيب" في "محرر ويكي" (محرر عام 2010) سيُبدّل حالة هذه التفضيلات نفسها.
كيف يمكنني تخصيص الألوان؟
طالع Help:Extension:CodeMirror/Color and style customization.
ملاحظات
- ↑ لا يتم حالياً دعم تمييز الوسوم المتطابقة في نص الويكي، ولكن يتم دعم auto-closing.
- ↑ ملف CSS الشخصي الخاص بك موجود في Special:MyPage/common.css. يمكنك أيضًا جعل التغييرات التي تجريها تسري على مستوى النظام بأكمله إذا كان GlobalCssJs مُثبَّتًا. في مواقع ويكي التابعة لمؤسسة ويكيميديا، يوجد ملف CSS العام الخاص بك في meta:Special:MyPage/global.css.
- ↑ يشير مصطلح "النمط" إلى اللغة القياسية المعتمدة داخل CodeMirror. وعادةً ما يكون هذا النمط هو نفسه Content model، بينما يشير النمط
mediawikiإلى نص الويكي. - ↑ تقوم أدوات فحص واجهة برمجة التطبيقات باستطلاع واجهة برمجة تطبيقات خارجية، بينما يمكن لأدوات فحص المتصفح العمل بدون اتصال بالإنترنت.
- ↑
يعمل فقط مع نموذج المحتوى
sanitized-css(TemplateStyles) - ↑
يتم التحكم فيه بواسطة إعداد التكوين
$wgCodeMirrorLineNumberingNamespaces. طالع Extension:CodeMirror#Configuration لمزيد من المعلومات.