Xcode में नाम बदलें या रिफ्लेक्टर फ़ाइलें


81

क्या एक क्लास फ़ाइल का नाम बदलना / फिर से भरना संभव है और क्या डिस्क पर वास्तविक फ़ाइल का नाम बदलना है? यदि हां, तो मैं यह कैसे कर सकता हूं?

जवाबों:


170

फ़ाइलों का नाम बदलने का सबसे सुरक्षित तरीका Xcode के "रिफ्लेक्टर" कमांड का उपयोग करके वर्ग के नाम को फिर से जोड़ना है । उस आदेश का उपयोग करना सुनिश्चित करता है कि आपका कोड कहीं भी अपडेट किया गया है जो फ़ाइल या वर्ग (एनआईबी सहित) को संदर्भित करता है।

इंटरफ़ेस ( .h) फ़ाइल में क्लास के नाम पर राइट-क्लिक करें , चुनें Refactor->Rename, और Xcode आपको इस प्रक्रिया के माध्यम से मार्गदर्शन करेगा, जिससे आप उन्हें करने से पहले परिवर्तनों का पूर्वावलोकन कर सकें।

अधिक जानकारी:

क्लास के नाम (बाद में @interface) पर राइट क्लिक करें और Refactor-> का नाम बदलें। उदाहरण के लिए, ViewControllerइस कोड पर राइट क्लिक करें :

@interface ViewController : UIViewController

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

कक्षा के लिए नया नाम दर्ज करें:

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

Xcode करने से पहले आप परिवर्तनों की समीक्षा करेंगे।

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

आप वर्ग के नाम को भी उजागर कर सकते हैं और Xcode के Edit->Refactorमेनू का उपयोग कर सकते हैं , या यदि आप चाहें तो इसे कीबोर्ड शॉर्टकट में मैप भी कर सकते हैं।

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


1
यह दृष्टिकोण सबसे अच्छा है, क्योंकि यह अन्य फ़ाइलों या XIB फ़ाइलों में आयोजित वर्ग उदाहरण का नाम बदलेगा।
केंडल हेल्मेस् ट्टर गेलनर

मैं 4.3 में नवीनीकृत होने के बाद से यह काम नहीं कर रहा है। हेडर (.h) फ़ाइल में XCode शिकायत करता है कि फ़ाइल को एक लक्ष्य में नहीं जोड़ा गया है - जो कि ऐसा नहीं होना चाहिए, क्योंकि यह हेडर फ़ाइल है। यदि आप .m फ़ाइल में कोशिश करते हैं, तो यह शिकायत करता है कि यह एक प्रतीक (वर्ग, कार्य, आदि) नहीं है
माइकल

@ मिचेल क्या आपने इसे एक परीक्षण परियोजना पर आज़माया है? मैंने 4.3 स्थापित नहीं किया है, लेकिन यह 4.2 पर ठीक काम कर रहा है (बस कोशिश की)।
नवन राजा

क्या किसी को पता है कि मुझे संबंधित स्रोत कोड कहां मिल सकता है, अगर यह खुला स्रोत है? मुझे लगता है कि उन्होंने रिफैक्टिंग सुविधा को लागू करने के लिए क्लैंग टूलींग का इस्तेमाल किया, ऐसे कार्यात्मक के लिए कुछ अच्छे इंटरफेस हैं, लेकिन मुझे स्रोत कोड नहीं मिला है।
बर्गप

दुर्भाग्य से यह मेरे Xcode दुर्घटना बनाता है। मैं योसेमाइट बीटा चला रहा हूं ताकि इसका कारण हो सके। उम्मीद है
CGTheLegend

51

Xcode 4.2.1 के लिए काम करता है: प्रोजेक्ट नेविगेटर (डिफ़ॉल्ट बाएं पैनल) में फ़ाइल चुनें और [टैब] दबाएँ


धन्यवाद। Refactor-> Rename C ++ फ़ाइलों के साथ काम नहीं कर रहा था। यह काम किया।
ब्लूविड

4
मुझे लगता है कि यह उत्तर वर्तमान की तुलना में स्वीकार किए जाने के अधिक योग्य है। +1
मॉर्गन वाइल्ड

एक्सकोड 11 के साथ भी काम करता है
केशा एंटोनोव

3

डिफ़ॉल्ट रूप से, Xcode एक फ़ाइल का नाम बदलेगा जब आप इसे या तो फ़ाइल नाविक (बाएं हाथ की रूपरेखा देखें बात) में बदल देते हैं या जब आप निरीक्षक का उपयोग करते हैं।


नमस्ते, मैं ToolBarDelegate.h के साथ एक प्रोटोकॉल (SideToolBarDelegate.h) का नाम बदलना चाहूंगा, लेकिन xcode मुझसे कहता है: "SideToolBarDelegate.h एक ऐसी फ़ाइल द्वारा आयात या शामिल किया गया है, जिसका उद्देश्य Object-C ++ है, न कि Objective-C या C:" । कृपया इसका नाम कैसे बदला जा सकता है? धन्यवाद
समीर

यह सिर्फ एक फ़ाइल में इसे प्रतिस्थापित करता है (SideToolBarDelegate.h) लेकिन मैं इस नाम को सभी प्रोजेक्ट में बदलना चाहता हूं, जैसे कि रिफैक्टरिंग फ़ंक्शन।
समीर

शिफ्ट-सीएमडी-एफ, "खोजने और बदलने" के लिए छोटे विकल्पों वाली चीज़ों को नीचे रखें। खोजें और बदलें ...
bbum

संबंधित नामों के साथ चीजों का नाम बदलना न भूलें: बॉडी, बॉड्स व्यू कॉन्ट्रोलर, इंटरेक्टिंगबॉडीज - एक सख्त "खोजें और बदलें" 2 या 3 जी को नहीं पकड़ेगा।
विस्कस

2

एक तरीका : उस फ़ाइल का चयन करें जिसे आप नाम बदलना चाहते हैं और फिर दबाएं Tab। मैं ज्यादातर इसका उपयोग करता हूं, हालांकि, Xcode कभी-कभी इसका नाम बदलने में विफल रहता है। तो फिर मैं क्या हूँ

दूसरा तरीका : फ़ाइल का चयन करें। इंस्पेक्टर क्षेत्र (ऊपरी-दाएं कोने पर) खोलें । और फिर फाइल इंस्पेक्टर को खोलें । आपको नाम फ़ील्ड मिलेगा, जहाँ आप फ़ाइल का नाम संपादित कर सकते हैं। (स्क्रीनशॉट देखें)।

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


1

Xcode 11.6, "foo.cpp" का नाम बदलकर "bar.cpp" करने का प्रयास उपरोक्त तरीकों का उपयोग करके काम नहीं करता है। REFACTOR विकल्प को बाहर निकाल दिया गया है। इसके बजाय, निम्नलिखित करें:

  • प्रोजेक्ट ब्राउज़र में, नाम बदलने के लिए फ़ाइल खोजें, अर्थात: foo.cpp
  • राइट (2finger) foo.cpp पर क्लिक करें
  • "फ़ाइल इंस्पेक्टर में दिखाएँ" चुनें

स्क्रीन के दाईं ओर, फ़ाइल निरीक्षक दिखाई देता है।

  • नाम फ़ील्ड में, अपना नया फ़ाइल नाम टाइप करें, ENTER दबाएँ

0

यदि आपने मैन्युअल रूप से एक फ़ाइल का नाम बदला है, और वर्ग नाम को बदलने के लिए ढूँढें और बदलें का उपयोग किया है, तो सुनिश्चित करें कि फ़ाइल आपके लक्ष्य के बिल्ड चरणों में संकलित सूत्रों में जोड़ी गई है, क्योंकि यह संभवतः हटा दी जाएगी।


0

Refactor चुनें-> नाम बदलें राजा के जवाब भी Xcode संस्करण 7.0 बीटा (7A120f) पर ठीक काम करता है


यह प्रश्न का उत्तर प्रदान नहीं करता है। किसी लेखक से स्पष्टीकरण मांगने या उसका अनुरोध करने के लिए, उनकी पोस्ट के नीचे एक टिप्पणी छोड़ दें - आप हमेशा अपने स्वयं के पोस्ट पर टिप्पणी कर सकते हैं, और एक बार आपके पास पर्याप्त प्रतिष्ठा होने पर आप किसी भी पोस्ट पर टिप्पणी कर पाएंगे ।
मयंक जैन

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