البرنامج المساعد Emmet الرسمي للنص Sublime.
تحذير: قد لا يعمل هذا المكون الإضافي على الإطلاق في بعض أنظمة التشغيل لأنه مكتوب بلغة JavaScript ويستخدم ثنائيات PyV8 وGoogle V8 للتشغيل. إذا واجهت مشاكل أو تعطل المحرر، يرجى ملء المشكلة.
مع التحكم في الحزمة:
Emmet
وقم بتثبيته.يدويا:
تحذير : عند تثبيت البرنامج الإضافي، سيقوم تلقائيًا بتنزيل الملف الثنائي PyV8 المطلوب، لذا يتعين عليك الانتظار قليلاً (راجع تحميل رسالة PyV8 الثنائية على شريط الحالة). إذا واجهت مشكلات مع أداة تحميل PyV8 التلقائي، فحاول تثبيته يدويًا.
إجراءات زيادة/إنقاص الرقم:
يمكنك بسهولة توسيع Emmet بإجراءات ومرشحات جديدة أو تخصيص الإجراءات والمرشحات الحالية. في Emmet.sublime-settings
، حدد إعداد extensions_path
وسيقوم Emmet بتحميل جميع ملفات .js
و .json
في المجلد المحدد عند بدء التشغيل.
القيمة الافتراضية لـ extensions_path
هي ~/emmet
، والتي تشير إلى مجلد emmet داخل المجلد الرئيسي لمستخدم نظام التشغيل لديك.
يمكنك أيضًا إنشاء أقسام مسماة كملفات ملحقة (مثل snippets
preferences
وملفات syntaxProfiles
) داخل ملف Emmet.sublime-settings
الخاص بالمستخدم وكتابة تخصيصاتك هناك. راجع ملف الإعدادات الأصلي للحصول على أمثلة.
Sublime Text هو محرر نصوص رائع يحتوي على الكثير من الميزات والإجراءات. ترتبط معظم هذه الإجراءات باختصارات لوحة المفاتيح، لذا يكاد يكون من المستحيل توفير اختصارات ملائمة للمكونات الإضافية التابعة لجهات خارجية.
إذا لم تكن راضيًا عن خريطة المفاتيح الافتراضية، فيمكنك تعطيل اختصارات لوحة المفاتيح الفردية باستخدام تفضيل disabled_keymap_actions
في ملف Emmet.sublime-settings
.
استخدم قائمة مفصولة بفواصل بأسماء الإجراءات التي يجب تعطيل اختصارات لوحة المفاتيح الافتراضية فيها. على سبيل المثال، إذا كنت تريد تحرير الاختصارات Ctrl+E ("توسيع الاختصار") و Ctrl+U ("تحديث حجم الصورة")، فيجب عليك تعيين القيمة التالية:
"disabled_keymap_actions": "expand_abbreviation, update_image_size"
يجب عليك الرجوع إلى ملف Default (Your-OS-Name).sublime-keymap
للحصول على معرفات الإجراء (ابحث عن args/action
key).
لتعطيل جميع الاختصارات الافتراضية، قم بتعيين القيمة على all
:
"disabled_keymap_actions": "all"
لا يعني ذلك أنه إذا قمت بتعطيل أي إجراء مثل ذلك وقمت بإنشاء اختصار لوحة المفاتيح الخاص بك، فيجب ألا تستخدم سياق emmet_action_enabled.ACTION_NAME
نظرًا لأن هذا هو المفتاح الذي يعطل الإجراء.
يقوم Emmet بتوسيع الاختصارات في بناء جمل محدودة فقط: HTML، CSS، LESS، SCSS، Stylus وPostCSS. السبب وراء تقييد معالج Tab إلى قائمة بناء جملة محدودة هو أنه يكسر مقتطفات النص Sublime Text الأصلية.
إذا كنت تريد الاختصار بـ Tab في تركيبات جمل أخرى (على سبيل المثال، JSX وHAML وما إلى ذلك) فيجب عليك تعديل إعدادات اختصارات لوحة المفاتيح: أضف أمر expand_abbreviation_by_tab
لمفتاح tab
لمحددات نطاق بناء الجملة المطلوبة. للحصول على محدد نطاق بناء الجملة الحالي، اضغط على ⇧⌃P (OSX) أو Ctrl+Alt+Shift+P ، وسيتم عرضه في شريط حالة المحرر.
انتقل إلى Preferences
> Key Bindings — User
وأدخل مقتطف JSON التالي باستخدام محدد النطاق الذي تم تكوينه بشكل صحيح بدلاً من رمز SCOPE_SELECTOR
:
{
"keys" : [ "tab" ] ,
"command" : "expand_abbreviation_by_tab" ,
// put comma-separated syntax selectors for which
// you want to expandEmmet abbreviations into "operand" key
// instead of SCOPE_SELECTOR.
// Examples: source.js, text.html - source
"context" : [
{
"operand" : "SCOPE_SELECTOR" ,
"operator" : "equal" ,
"match_all" : true ,
"key" : "selector"
} ,
// run only if there's no selected text
{
"match_all" : true ,
"key" : "selection_empty"
} ,
// don't work if there are active tabstops
{
"operator" : "equal" ,
"operand" : false ,
"match_all" : true ,
"key" : "has_next_field"
} ,
// don't work if completion popup is visible and you
// want to insert completion with Tab. If you want to
// expand Emmet with Tab even if popup is visible --
// remove this section
{
"operand" : false ,
"operator" : "equal" ,
"match_all" : true ,
"key" : "auto_complete_visible"
} ,
{
"match_all" : true ,
"key" : "is_abbreviation"
}
]
}
يسمح لك البرنامج الإضافي Emmet بتوسيع الاختصارات باستخدام مفتاح Tab ، تمامًا مثل المقتطفات العادية. من ناحية أخرى، نظرًا للطبيعة الديناميكية وبناء الجملة الشامل، قد تحصل أحيانًا على نتائج غير متوقعة. يصف هذا القسم كيفية عمل معالج علامات التبويب وكيف يمكنك ضبطه.
افتراضيًا، يعمل معالج علامات التبويب في نطاقات بناء جملة محدودة: HTML وXML وHAML وCSS وSASS/SCSS وLESS وPostCSS والسلاسل في لغات البرمجة (مثل JavaScript وPython وRuby وما إلى ذلك). يعني:
line
الذي يقوم بإنشاء الإخراج كسطر واحد. لضبط معالج مفتاح Tab، يمكنك استخدام الإعدادات التالية في ملف Emmet.sublime-settings
الخاص بالمستخدم:
disable_tab_abbreviations_for_scopes
— قائمة مفصولة بفواصل لنطاقات بناء الجملة حيث يجب تعطيل معالج مفتاح Tab. على سبيل المثال، إذا كنت تريد تعطيل المعالج داخل سلاسل لغات البرمجة وبناء جملة HAML، فسيبدو الإعداد الخاص بك كما يلي: "disable_tab_abbreviations_for_scopes" : " text.haml, string "
disabled_single_snippet_for_scopes
— قائمة مفصولة بفواصل لنطاقات بناء الجملة حيث يجب تعطيل معالج علامات التبويب عند توسيع اختصار واحد. حاليًا، لا توفر ST واجهة برمجة التطبيقات للحصول على قائمة بالمقتطفات الأصلية. لذلك، على سبيل المثال، إذا حاولت توسيع اختصار php
، فسيتم تمريره إلى Emmet الذي سيخرج
بدلاً من كتلة PHP كما هو محدد في مقتطفات ST الأصلية. كحل بديل، إذا كنت تحاول توسيع اختصار واحد داخل النطاق المحدد في إعداد disabled_single_snippet_for_scopes
، فسوف يبحث Emmet عن اسمه داخل كتالوج المقتطفات الخاص به أولاً، وداخل إعداد known_html_tags
ثانيًا، وإذا لم يتم العثور عليه، فإنه يسمح لـ ST بالتعامل معه و قم بتوسيع الاختصار الأصلي، إذا كان مطابقًا.known_html_tags
— قائمة مفصولة بمسافات بجميع علامات HTML المعروفة المستخدمة للبحث كما هو موضح أعلاه. إذا لم تكن راضيًا عن سلوك معالج علامة التبويب Emmet، فيمكنك تعطيله: فقط أضف "disable_tab_abbreviations": true
إلى ملف Preferences.sublime-settings
الخاص بالمستخدم.
إذا كان سير عملك يتضمن بالفعل مهمة تلقائية لبادئة بائع CSS (مثل Autoprefixer)، فيمكنك تعطيل الإدراج التلقائي لبادئة البائع الخاصة بـ Emmet بإضافة هذا الخيار إلى ملف Emmet.sublime-settings
الخاص بالمستخدم:
{
"preferences" : {
"css.autoInsertVendorPrefixes" : false
}
}