2010-11-18 16 views
10

मैं खोजक संदर्भ मेनू में एक विकल्प जोड़ना चाहता हूं जो hg add %1 को% 1 के साथ खोजक में चयनित फ़ाइल का पूरा पथ है।
निश्चित रूप से संदर्भ मेनू में जोड़ने के लिए, मैं और अधिक उपयोगी मामलों के बारे में सोच सकता हूं।
क्या ऐसा करने का कोई आसान तरीका है जिसमें किसी भी तृतीय पक्ष सॉफ़्टवेयर को स्थापित करने या संकलित भाषा में कोडिंग और बाइनरी प्लगइन बनाने में शामिल नहीं है?
स्क्रिप्ट संपादक के साथ एक स्क्रिप्ट बनाने और इसे /Library/Contextual Menu Items/ में छोड़ने की तरह?मैकोज़ खोजक प्रासंगिक मेनू में एक स्क्रिप्ट जोड़ना

+1

खैर ... ओपन स्वचालक, एक कस्टम कार्यप्रवाह पैदा करते हैं। 'लाइब्रेरी' से 'Utilites' चुनें, फिर वर्कफ़्लो में 'रन शेल स्क्रिप्ट' खींचें और छोड़ें। 'इनपुट के रूप में 'पास करें' को तर्क के रूप में सेट करें। अपनी लिपि में लिखें: 'एचजी $ 1' जोड़ें। फिर फ़ाइल मेनू-> एक प्लगइन सहेजें, नाम निर्दिष्ट करें, खोजक के लिए प्लगइन चुनें, सहेजें। फ़ाइल पर राइट क्लिक करें, अधिक-> Autamator-> चुनें और आनंद लें। लेकिन यहां प्रोग्रामिंग से संबंधित कुछ भी नहीं है ... – khachik

+0

@khachik: यह अभी भी विकास से संबंधित है। आपको अपनी टिप्पणी एक जवाब देना चाहिए। –

+0

@ फिलिप ओके, यह वास्तव में एक जवाब है ... – khachik

उत्तर

2

हाँ, मुझे पता है कि यह तीसरा पक्ष सॉफ्टवेयर है - लेकिन एक पूर्ण अवलोकन के लिए - http://www.abracode.com/free/cmworkshop/on_my_command.html। एक और टूल जो आपकी स्क्रिप्ट लेखन को आसान बनाता है http://wafflesoftware.net/thisservice/ सेवा मेनू में आइटम जोड़ रहा है।

15

ओपन ऑटोमेटर, कस्टम वर्कफ़्लो बनाएं। 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> चुनें।

+0

वाह, महान स्पष्टीकरण।हालांकि मुझे प्लगइन के रूप में सहेजने का तरीका नहीं मिला, लेकिन मुझे केवल एक ही विकल्प वर्कफ़्लो या एप्लिकेशन हैं। मैं ओएस 10.6.4 – Petruza

+0

चला रहा हूं ऑटोमेटर में 'फ़ाइल' मेनू में कोई 'प्लगइन के रूप में सहेजें ...' आइटम नहीं है? मैं तेंदुए चला रहा हूं, और यह वहां है ... मेरा मानना ​​है कि अगर कुछ 'प्लगइन के रूप में सहेजें' नहीं है तो भी कुछ समकक्ष होना चाहिए। – khachik

+1

ठीक है, मैंने पाया है कि अब 10.6 में इसे सेवाओं कहा जाता है, लेकिन यह वही है। मैं इसे बनाने में कामयाब रहा, ठीक काम करता है, धन्यवाद! अब समस्या यह है कि मुझे% 1 फ़ाइल के पथ में 'cd'' की आवश्यकता है, क्या आप मुझे यह बताना चाहते हैं कि यह कैसे प्राप्त करें? धन्यवाद! – Petruza

17

@ खचिक के सही उत्तर के बाद से हिम तेंदुए/10.6 + के लिए कदम बदल गए हैं।

  • ओपन स्वचालक
  • बनायें एक नया Service
  • शीर्ष भर में शीर्ष दो ड्रॉप-डाउन का सेट करने के लिए
  • "सेवा Finder.app में files or folders चयनित प्राप्त": सुनिश्चित करें कि अपनी स्पष्ट करने के लिए यहां कदम हैं पास इनपुट इनपुट as arguments
  • अपनी स्क्रिप्ट लिखें (इसके लिए नीचे देखें)।
  • सहेजें और सेवा का नाम

आपका स्वचालक खिड़की इस तरह दिखना चाहिए चुनें: : screenshot

अब आप खोजक में एकाधिक फ़ाइलों का चयन और उसके बाद सेवा उप मेनू से अपनी सेवा निष्पादित कर सकते हैं ।

आपकी लिपि के लिए, मुझे लगता है कि आप निम्न चाहते हैं। यह प्रत्येक तर्क की निर्देशिका में बदल जाता है और फिर इसे जोड़ता है। मैं लूप के लिए उपयोग कर रहा हूं क्योंकि खोजक आपको विभिन्न फ़ोल्डरों में एकाधिक फाइलों का चयन करने की अनुमति देता है (जो विभिन्न भंडारों में हो सकता है)।

for f in "[email protected]" 
do 
    cd $(dirname $f); hg add $f 
done 

यदि आप मान लिया वे एक ही भंडार आप ऐसा कर सकता है में सभी कर रहे हैं:

cd $(dirname $1); hg add [email protected] 
+1

ऑटोमेटर एक ऐसे वातावरण में स्क्रिप्ट चलाता है जो/etc/paths (और शायद कुछ और) में परिभाषित किया गया पथ निर्धारित करता है लेकिन यह आपके ~/.bash_profile ---> को कॉल नहीं करता है, इसलिए यदि आपके पास कुछ पथ परिभाषित हैं स्क्रिप्ट/प्रोग्राम को ढूंढने के लिए आवश्यक है जिसे आप अपनी ऑटोमेटर स्क्रिप्ट से निष्पादित करना चाहते हैं, आपको या तो पूर्ण पथ का उपयोग करना होगा या "स्रोत ~/.bash_profile" (उद्धरण के बिना) को अपनी स्क्रिप्ट के लिए पहली पंक्ति के रूप में जोड़ना होगा – georg