Xcode: प्रति फ़ंक्शन कई प्रमुख बाइंडिंग


13

Xcode में मैं एक ही फ़ंक्शन के लिए कई महत्वपूर्ण बाइंडिंग सेट करने की क्षमता चाहूंगा। उदाहरण के लिए, मैं चाहूंगा कि step overफ़ंक्शन को मैप किया जाए F6और दोनों के लिए F16। मुझे Xcode से ही ऐसा करने का कोई रास्ता नहीं दिख रहा है।

क्या किसी को यह करने का एक तरीका पता है? (मैं Xcode 4.2.1 का उपयोग कर रहा हूं)

जवाबों:


4

मैंने आपके प्रश्न पर थोड़ा शोध किया। मूल रूप से ऐसा लगता है कि एक ही फ़ंक्शन के लिए कई शॉर्टकट निर्दिष्ट करने का कोई तरीका नहीं है - मैंने ~/Library/Prefences/com.apple.dt.Xcode.plistफ़ाइल खोलने और मैन्युअल रूप से NSUserKeyEquivalentsजोड़ने के लिए एक डुप्लिकेट तत्व को संपादित करने की कोशिश की है Step Over, लेकिन Xcode स्टार्टअप पर डुप्लिकेट तत्व स्वचालित रूप से हटा दिया गया था (यह समझ में आता है रैपिंग तत्व का नाम दिया गया है <dict>)।

मैंने इस लेख से प्रेरित होकर दूसरा शॉर्टकट सेट करने का एक कठिन तरीका ढूंढ लिया है । निर्देश OS X 10.8 के लिए हैं:

  1. में System Preferences, के तहत Accessibilityसक्षम Enable access for assistive devices;
  2. ओएस एक्स के लिए एक मुफ्त लांचर क्विकसिल्वर डाउनलोड और इंस्टॉल करें;
  3. निम्नलिखित AppleScript को दस्तावेज़ फ़ोल्डर में सहेजें (उदाहरण के लिए नाम के साथ StepOver.scpt) - ¬अक्षरों की प्रतिलिपि भी सुनिश्चित करें । यह स्क्रिप्ट Xcode को सक्रिय करती है और Step Overफ़ंक्शन का चयन करती है।

    tell application "Xcode"
        activate
    end tell
    
    tell application "System Events" ¬
    to tell process "Xcode" ¬
    to click menu item "Step Over" ¬
    of menu "Debug" of menu item "Debug" ¬
    of menu "Product" of menu bar item "Product" ¬
    of menu bar 1
    
  4. क्विकसिल्वर लॉन्च करें और वरीयताएँ -> ट्रिगर -> कस्टम ट्रिगर पर जाएँ

  5. एक नया ट्रिगर बनाएं, जिसमें आप StepOver.scptअपनी इच्छित हॉट कुंजी का उपयोग करके स्क्रिप्ट खोलें (मेरे द्वारा उपयोग किए गए स्क्रीनशॉट में F10)। स्कोप टैब में आप यह निर्दिष्ट कर सकते हैं कि ट्रिगर केवल Xcode में काम करता है। ट्रिगर उदाहरण
  6. इस बिंदु पर अतिरिक्त शॉर्टकट को काम करना चाहिए, मैंने Xcode में एक बुनियादी कंसोल C ++ एप्लिकेशन बनाया है और मैं F6"मानक" शॉर्टकट के रूप में उपयोग करके कदम बढ़ा सकता हूं (और F10QuickSilver के साथ कॉन्फ़िगर किए गए अतिरिक्त शॉर्टकट)।

अंतिम नोट के रूप में, आप कीबोर्ड मैस्ट्रो जैसे मैक्रोज़ बनाने के लिए सॉफ़्टवेयर का मूल्यांकन भी कर सकते हैं - यह वाणिज्यिक है और मैंने इसकी कोशिश नहीं की है।


1
tell application "System Events" to tell process "Xcode" to click menu item "Step Over" of menu "Debug" of menu item "Debug" of menu "Product" of menu bar item "Product" of menu bar 1अतिरिक्त सेट-अप कोड के बिना ही काम करें।
डैनियल बेक

धन्यवाद @DanielBeck, मैं AppleScript से परिचित नहीं हूँ। मैंने अपना उत्तर संपादित कर लिया है और आपके सुझाव के साथ इस भाग को सरल बना दिया है - अब कोड अधिक पठनीय है।
edymtt

यह काम! इसे स्थापित करना थोड़ा जटिल है, लेकिन इसमें केवल 2 मिनट का समय लगता है। मुझे लगता है कि मुझे क्विकसिल्वर एक उपकरण के रूप में पसंद है जिसे मैं कुछ अन्य चीजों के लिए उपयोग कर सकता हूं। यह पता लगाने के लिए धन्यवाद!
joseph.hainline

0

आप इस प्रक्रिया के लिए कीबोर्ड शॉर्टकट मैपर का उपयोग कर सकते हैं संलग्न छवि देखें।

यहाँ छवि विवरण दर्ज करें

मैं आशा करता हूं कि इससे तुम्हें सहायता मिलेगी


मुझे उम्मीद थी कि यह काम करेगा! जब मैंने इसकी कोशिश की, तो केवल F16 कीबोर्ड शॉर्टकट ने काम किया, और F6 ने अब XCode के भीतर से काम नहीं किया (यह सिर्फ कुछ भी करने के बजाय त्रुटि ध्वनि बना दिया)। सिस्टम स्तर मैपिंग ऐप स्तर मैपिंग को अधिलेखित करने के लिए लगता है। मैं XCode 4.5.2 और OSX 10.8.2 का उपयोग कर रहा हूं। क्या यह आपके लिए काम करता है, और आप किन संस्करणों का उपयोग कर रहे हैं?
joseph.hainline

नमस्ते वहाँ खेद है कि यह पूरा नहीं था; y सही ctrl + f6 का उपयोग करें यह f16 के साथ काम करेगा सबसे अच्छा मुझे लगता है कि आप मेरी माफी प्राप्त कर सकते हैं।
जस्टिन एरस्वेल

प्रयास के लिए धन्यवाद, लेकिन मुझे लगता है कि मैं जो देख रहा हूं वह बस संभव नहीं है। Ctrl + F6, F6 की तुलना में एक अलग कमांड है। जब मैं सिस्टम स्तर पर मैप करता हूं, तो यह एप स्तर को ओवरराइड करता है। मैं वास्तव में एक ही फ़ंक्शन के लिए एक ही समय में दो कुंजी मैप करने का प्रयास कर रहा हूं।
joseph.hainline

0

मैं कीबोर्ड मेस्ट्रो के साथ ऐसा करता हूं। आप एक या अधिक एप्लिकेशन या ग्लोबल को कमांड असाइन कर सकते हैं। यह सॉफ्टवेयर का एक शानदार टुकड़ा है जिसके बिना मैं नहीं रह सकता। यह मेरे द्वारा खरीदा गया सबसे अच्छा सॉफ्टवेयर है। आप यह देखकर चौंक जाएंगे कि मेरे पास कितने प्रमुख बंधन हैं।

संलग्न एक छवि है जहां मैं एक मेनू आइटम के लिए एक हॉटकी मैप करता हूं। छवि में ग्रे-एक्शन को अनदेखा करें। यह "एक्सेक्यूट मैक्रो" के साथ शुरू होता है। मेनू चयन वह क्रिया है जो आप चाहते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.