سؤال

أرغب في إضافة خيار إلى قائمة Context Finder التي تستدعي hg add %1 مع ٪ 1 كونه المسار الكامل للملف المحدد في Finder.
بالطبع هناك حالات أكثر فائدة يمكنني التفكير فيها ، لإضافة إلى قائمة السياق.
هل هناك طريقة بسيطة للقيام بما لا يتضمن تثبيت أي برنامج أو ترميز من طرف ثالث بلغة مجمعة وبناء ملحقات ثنائية؟
مثل إنشاء برنامج نصي مع محرر البرنامج النصي وإسقاطه في /Library/Contextual Menu Items/ ?

هل كانت مفيدة؟

المحلول

نعم ، أعرف أن هذا هو برنامج طرف ثالث - ولكن من أجل نظرة عامة فولر - http://www.abracode.com/free/cmworkshop/on_my_command.html. أداة أخرى من شأنها أن تجعل كتابة البرنامج النصي أسهل http://wafflesoftware.net/thisservice/ إضافة عناصر إلى قائمة الخدمة.

نصائح أخرى

لقد تغيرت الخطوات بالنسبة إلى Snow Leopard/10.6+ منذ الإجابة الصحيحة لـ @Khachik. للتأكد من وضوحها ، إليك الخطوات:

  • افتح Automator
  • إنشاء جديد Service
  • قم بتعيين أفضل اثنين من الانخفاضات عبر الجزء العلوي إلى "تلقى الخدمة المحددة files or folders في Finder.app"
  • تعيين إدخال تمرير إلى as arguments
  • اكتب البرنامج النصي الخاص بك (انظر أدناه لذلك).
  • حفظ واختر اسم الخدمة

يجب أن تبدو نافذة Automator الخاصة بك مثل هذا::screenshot

يمكنك الآن تحديد ملفات متعددة في Finder ثم تنفيذ خدمتك من Sub-Menu Subs.

للنص الخاص بك ، أعتقد أنك تريد ما يلي. يتغير هذا إلى دليل كل وسيطة ثم يضيفه. أنا أستخدم A For Loop لأن Finder يتيح لك تحديد ملفات متعددة في مجلدات مختلفة (والتي يمكن أن تكون في مستودعات مختلفة).

for f in "$@"
do
    cd $(dirname $f); hg add $f 
done

إذا افترضت أنهم جميعًا في نفس المستودع ، فيمكنك القيام بذلك:

cd $(dirname $1); hg add $@

افتح Automator ، قم بإنشاء سير عمل مخصص. من Library يختار Utilites, ، ثم سحب وإسقاط Run shell script إلى سير العمل. تعيين Pass input إلى As arguments. اكتب في البرنامج النصي الخاص بك: hg add $1. ثم File menu->Save as a Plugin, ، حدد الاسم ، اختر plugin for Finder, Save. انقر بزر الماوس الأيمن على الملف ، اختر More->Autamator-><PLUGIN_NAME>.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top