Xcode कॉलर कार्यों को खोजने के लिए


117

Xcode में, मैं किसी विशिष्ट फ़ंक्शन के सभी कॉलर फ़ंक्शन कैसे पा सकता हूं?


2
वैसे, मैंने अपने उत्तर में एक छवि संलग्न की है। और XCode संस्करण आजकल इसका समर्थन करते हैं। यदि आप किसी भी उत्तर से संतुष्ट हैं, तो आप उत्तर देना / स्वीकार करना चाहते हैं, ??
डेविड टी।

यदि आप ऐसा करते हैं तो @uiroshan का उत्तर सबसे सुविधाजनक है (Shift + Ctrl + Shift + H)
drpawelo

जवाबों:


125

Xcode 4.5 (बीटा में) में यह कार्यक्षमता है। जब आप कहते हैं कि हाइलाइट करें ... एक फ़ंक्शन, आप "कॉलर" और "कैली" की जांच कर सकते हैं

संपादित करें मैं मानना है कि यह शीर्ष उस फ़ाइल के लिए फ़ाइल पैनल पर सबसे बाईं ओर स्थित है ... समारोह पर तो डबल क्लिक करें यह उजागर करने के लिए, और आप फ़ाइल पैनल विकल्पों पर एक है कि "खुला हाल, खुले न सहेजा गया पर क्लिक करें ( ... आदि "नीचे गिरा

EDIT # 2

यहाँ एक तस्वीर स्पष्ट करने के लिए है (क्योंकि मुझे नहीं पता कि इस मेनू बटन को क्या कहा जाता है) यहां छवि विवरण दर्ज करें:

ALSO - XCode 4.5 अब बीटा नहीं है, मुझे विश्वास है, और वास्तव में सार्वजनिक रूप से बाहर है

EDIT # 3

यह भी ध्यान दें कि यह कॉलर चीज़ performSelectorविधि के तहत कॉल करने के लिए खोज नहीं करता है , जैसे कि, विशेष कॉलर जो performSelectorऐसा करता है, यदि आप ऐसा कुछ करते हैं, तो यह दिखाई नहीं देगा:

[self performSelector:@selector(checkIfShouldStopMovement) withObject:nil afterDelay:0.25];

5
यह वास्तव में देखें-> मानक संपादक-> संबंधित आइटम दिखाएं, मेरा उत्तर देखें ( stackoverflow.com/a/13472334/888091 )।
पिल्ले

2
@ पिल्ले आह। मैं देखता हूं, मुझे नहीं पता था कि आप इसे इस तरह एक्सेस कर सकते हैं। मैंने आपके उत्तर को बदल दिया है, और मैंने UI उत्तर दिखाने के लिए अपना उत्तर संपादित किया है। शॉर्टकट के लिए धन्यवाद !!
डेविड टी।

55

XCode 4.5 में, सबसे तेज़ तरीका यह है:

  1. कोड में विधि का चयन करें (अपने माउस कर्सर का उपयोग करके डबल क्लिक करें या चिह्नित करें)
  2. Ctrl+ दबाएं1
  3. पॉप-अप मेनू से "कॉलर्स" चुनें।

यह XCode के शीर्षक मेनू में देखें-> मानक संपादक-> संबंधित आइटम दिखाने के लिए शॉर्टकट है।


1
कॉलर्स मेनू भी संदर्भ संवेदनशील है, इसलिए आपको पहले विधि का चयन करने की आवश्यकता नहीं है। बस इसे उस विधि के भीतर कहीं भी रखें जहाँ आप <kbd> Ctrl </ kbd> + <kbd> 1 </ kbd> शॉर्टकट प्राप्त करने से पहले कॉल करने वालों को देखना चाहते हैं।
जय

मीठा, पता नहीं था!
Pille

2
मुझे विश्वास नहीं हो रहा है कि कोई तेज़ रास्ता नहीं है ... मैं IntelliJ का उपयोग करने के बाद Xcode से काफी निराश हूँ
stevo.mit

35

XCode 7 के बाद use + Ctrl + Shift + H कुंजी संयोजन का उपयोग करें।


2
सुंदर समाधान। धन्यवाद!
20

फ़ंक्शन नाम पर कर्सर होना चाहिए।
अली मोमन सानी

"कॉल पदानुक्रम खोजें" के लिए खोज: मामले में आप अपने शॉर्टकट संपादित
brainray

4
मैं इस संयोजन को दबाने के लिए अपनी उंगलियां तोड़ दूंगा!
तेजस्वी

धन्यवाद, मैं इस तरह के समाधान की तलाश में हूं।
हितेश अग्रवाल

23

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

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


यह बहुत अच्छा है - लेकिन मुझे यह पता लगाने में थोड़ा समय लगा कि मुझे कैसे शुरुआत करनी है। दूसरों के लिए मेरा पीछा: सूचना है कि ब्रायन की स्क्रीनशॉट में, खुले ड्रॉप-डाउन है नहीं "शो संबंधित आइटम" (Ctrl + 1) मेनू कुछ अन्य उत्तर में उल्लेख किया है। इसके बजाय, सहायक संपादक में, "आगे बढ़ो" बटन के दाईं ओर ड्रॉप-डाउन पर क्लिक करें, और कॉलर्स चुनें।
एशले

1
आपको सहायक संपादक का उपयोग करने की आवश्यकता नहीं है। आप प्राथमिक संपादक में एक ही मेनू खोल सकते हैं।
कवक

18

Xcode-7 में आपको कॉल-हेयेरची होने की कार्यक्षमता है। फ़ंक्शन पर राइट-क्लिक करें और "Find Call Hierarchy" पर क्लिक करें: छवि संदर्भ:


4
इसे "कॉल पदानुक्रम" कहा जाता है और कीबोर्ड शॉर्टकट है: CTRL-SHIFT-COMMAND-H (जबकि कुछ का चयन किया गया है)।
मि। ज़ीस्त

7

Xcode 10 ऊपर की तरफ लगता है जिससे यह आसान हो गया है। बस कमांड पर क्लिक करें और आपको इसे ड्रॉप डाउन में देखना चाहिए।

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


4

टेक्स्ट या प्रतीक के रूप में प्रोजेक्ट में खोजें का उपयोग करें।

AFAIK, Eclipse या NetBeans से ज्ञात कॉल पदानुक्रम के बराबर नहीं है।


1
एक्सकोड में "कॉलर" और "कैलली" हैं।

4

प्रेस ⌘+Ctrl+Shift+Hशॉर्टकट जब हितों की एक विधि (एक माउस या कर्सर के साथ) का चयन किया गया है। (@uiroshan के उत्तर के अनुसार)

लेकिन आप किसी अन्य शॉर्टकट को भी निर्दिष्ट कर सकते हैं XCode -> Preferences -> Key Bindings

एक विधि का चयन करें और ⌘ + Ctrl + Shift + H का उपयोग करें।  लेकिन आप XCode -> प्राथमिकता -> कुंजी बाइंडिंग में एक और शॉर्टकट भी निर्दिष्ट कर सकते हैं


1
मैं व्यक्तिगत रूप से personally + H का उपयोग करता हूं (आपको पहले इसे 'Hide XCode' से अन-असाइन करना होगा। फ़िल्टर बॉक्स में "Hide" टाइप करें, इसे चुनें और इसे Backspace से हटा दें)
drpawelo

2

अजीब तरह से रीफैक्टरिंग टूल सभी विधि कॉलों का पता लगा सकता है लेकिन खोज नहीं।

इसलिए मैं बस इसका उपयोग एक अद्वितीय नाम के लिए अपनी विधि का नाम बदलने के लिए करता हूं (जैसे रीसेट करने के लिए रीसेट करें) और फिर एक नियमित रूप से पाठ खोज में नए नाम का उपयोग करें।

1.) मेनू> संपादित करें> रिफ्लेक्टर ...> अद्वितीय नाम का नाम बदलें

2.) नए नाम के लिए खोज


आप केवल उन सभी स्थानों की समीक्षा भी कर सकते हैं जो पूर्वावलोकन में संशोधित किए जाएंगे, वास्तव में रिफ्लेक्टर ऑपरेशन को पूरा किए बिना।
जुआन

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