2010-06-09 17 views
50

के साथ समन्वयित नहीं है I लिनक्स पर लिंक किए गए संसाधनों के माध्यम से सी ++ कोड के साथ ग्रहण का उपयोग कर रहा हूं। कोड विश्लेषण सूचकांक दूषित प्रतीत होता है (गोटो परिभाषा कर्सर को पास करती है, लेकिन परिभाषा पर नहीं) ताज़ा संसाधन इसे ठीक नहीं करता है, न ही ग्रहण को पुनरारंभ करता है।स्वच्छ ग्रहण सूचकांक, यह कोड

क्या इंडेक्स को फ्लश करने और इसे पुनर्निर्माण करने का कोई तरीका है?

उत्तर

66

अपनी प्रोजेक्ट पर राइट-क्लिक करें, इंडेक्स सबमेनू के अंतर्गत जाएं, और या तो "पुनर्निर्माण," "संशोधित फ़ाइलों के साथ अपडेट करें" या "सभी फ़ाइलों को ताज़ा करें" चुनें।

मुझे उन तीन विकल्पों के बीच अंतर नहीं पता है, लेकिन "संशोधित फ़ाइलों के साथ अपडेट करें" या "सभी फ़ाइलों को ताज़ा करें" आमतौर पर मेरे लिए इसे ठीक करता है।

इसके अलावा, मुझे यकीन है कि आप पहले से ही यह कर चुके हैं, लेकिन सुनिश्चित करें कि आप एक्लिप्स सीडीटी का नवीनतम संस्करण चला रहे हैं। वर्तमान संस्करणों के पिछले संस्करणों की तुलना में अधिक विश्वसनीय अनुक्रमण लग रहा है।

+2

अतीत में मुझे कभी-कभी परियोजना को बंद करने और फिर से खोलना पड़ता था ताकि इसे किसी कारण से लिया जा सके। –

+1

"सभी फाइलें फ्रेशेन" अच्छी तरह से काम किया। "पुनर्निर्माण" मदद नहीं की। – tutejszy

0

क्या आपने एक्लिप्स निष्पादन योग्य के लिए कमांड लाइन को जोड़ने की कोशिश की?

57

एक और ब्रूट-फोर्स तरीका ग्रहण को बंद करना है, अपनी कार्यक्षेत्र निर्देशिका खोलना है और ".metadata \ .plugins \ org.eclipse.cdt.core" पर जाएं और वहां सबकुछ हटाएं।

यह अंत में मदद करता है अगर "सभी फ़ाइलों को ताज़ा करें" और दोस्तों ने काम नहीं किया। केवल पूरे परियोजनाओं के लिए काम करता है,:

+8

चुना गया जवाब ने मेरे लिए इसे ठीक नहीं किया, लेकिन यह एक किया। – Erandros

+15

/! \ यह अधिकांश सीडीटी सेटिंग्स को भी मिटा देगा। यदि वे सेटिंग्स इंडेक्सर के लिए महत्वपूर्ण हैं (उदाहरण के लिए, पथ और मैक्रोज़ शामिल करें) और छोटी गाड़ी नहीं लगती है, तो एक्सएमएल फाइलें रखें और केवल पीडीओएम फाइलों को मिटा दें। – Tobu

+0

@Tobu - निर्दिष्ट पथ में कोई XML फ़ाइलें प्रतीत नहीं होती है, केवल .pdom है। पथ शामिल हैं .cproject फ़ाइल में हैं। \ Org.eclipse.cdt.core में सब कुछ हटाना सुरक्षित है और कुछ मामलों में जब सूचकांक की पुरानी जानकारी हो। – CarlH

28

http://dev.eclipse.org/mhonarc/lists/cdt-dev/msg10390.html से, के बीच मतभेद "के पुनर्निर्माण," "संशोधित फ़ाइलों के साथ अद्यतन," या "सभी फाइलों को ताज़ा हो जाओ":

पुनर्निर्माण। इंडेक्स और इंडेक्स स्क्रैच से फ़ाइलें साफ़ करता है। रद्द होने पर यह आपको खाली या आंशिक अनुक्रमणिका के साथ छोड़ देता है।

संशोधित फ़ाइलों के साथ अद्यतन: संसाधन चयन पर कार्य करता है। व्यक्तिगत फ़ाइलों पर जांच करता है कि टाइमस्टैम्प या स्कैनर-कॉन्फ़िगरेशन बदल दिया गया है और बदले गए फ़ाइलों के लिए अनुक्रमणिका अद्यतन करता है।

फ्रेशन सभी फ़ाइलें: संसाधन चयन पर काम करता है। सूचकांक में चयनित फ़ाइलों को अद्यतन करता है। इंडेक्स को मंजूरी नहीं दी गई है, यह को सुरक्षित है ऑपरेशन रद्द करें।

+2

हालांकि यह प्रश्न का उत्तर नहीं है, यह अभी भी सहायक था। – Axle

+1

यह विवरण मैं जो अपेक्षा करता हूं उससे मेल खाता है, लेकिन जो ग्रहण के व्यवहार से मैं वास्तव में देखता हूं उससे मेल नहीं खाता है। मेरे लिए "फ्रेशेन ऑल फाइल्स" ने समस्या को ठीक किया लेकिन "पुनर्निर्माण" नहीं किया। अगर कोई "पुनर्निर्माण" वास्तव में इंडेक्स को हटा देता है और स्क्रैच से इसे फिर से बनाता है तो इससे कोई अर्थ नहीं आता है। – Ben

17

अपनी परियोजना properties -> C++ general -> Indexer पर जाएं।


  • (या 'Configure Workspace Settings...' पर) 'project specific settings' के साथ इस करते हैं,।
  • 'Enable Indexer' अचयन Apply को अचयनित करें।
  • 'Enable Indexer'Apply पर क्लिक करें।

यह पूरी तरह से मिटा देना चाहिए और सूचकांक का पुनर्निर्माण करना चाहिए।

8

उपर्युक्त में से कोई भी मेरे लिए काम नहीं करता (ग्रहण इंडिगो), सूचकांक अभी भी टूटा हुआ है और ठीक से पुनर्निर्माण करने से इंकार कर रहा है।जब तक यह एक आवेदन किया:

http://slsam2.blogspot.com/2012/02/eclipse-cdt-index-not-working.html

जुड़ा हुआ पोस्ट के महत्वपूर्ण बिट यह है:

ग्रहण नहीं रह गया है एक सी ++ परियोजना के रूप में अपनी परियोजना के व्यवहार करता है। मेनू File/New/Convert to a C/C++ project चुनें। स्रोत कोड को अनुक्रमणित करने में कुछ समय लगता है।

मुझे अभी भी आश्चर्य है कि ग्रहण स्वयं को इस तरह के पैर में अनियंत्रित रूप से कैसे शूट कर सकता है। मुझे संदेह है कि अतिरिक्त पैकेज स्थापित करना इसे ट्रिगर कर सकता है। शायद मेरे मामले में जावास्क्रिप्ट समर्थन।

+0

मेरे लिए भी काम करता है। – Nei

+0

देखें, लिंक के साथ समस्या यह है कि वे आपके जैसे स्टाइल जा सकते हैं .. – user2646234

+0

@ user2646234 संपादित करें –

0

ग्रहण अब आपके प्रोजेक्ट को सी ++ प्रोजेक्ट के रूप में नहीं मानता है। मेनू फ़ाइल/नया/सी/सी ++ प्रोजेक्ट में कनवर्ट करें चुनें। स्रोत कोड को अनुक्रमणित करने में कुछ समय लगता है। मेरे लिए काम किया

+0

कृपया, एक बनाएं समाधान को दोहराने के बजाय पावेल के जवाब में टिप्पणी करें। – whoan

0

मैंने बिना किसी किस्मत के जोश केलेइस और एमएमएमएमएस जवाबों की कोशिश करने के साथ शुरुआत की, लेकिन आखिर में मैंने अपने शामिल पथों की जांच करके इसे ठीक कर दिया।

उन्हें देखने का एक तरीका प्रोजेक्ट एक्सप्लोरर में है, प्रोजेक्ट का विस्तार करें और एक प्रविष्टि "शामिल" होनी चाहिए। इसके अंदर, प्रत्येक पथ पर एक छोटे पीले चेतावनी त्रिकोण की जांच करें। यदि वह त्रिभुज मौजूद है ग्रहण सबसे अधिक संभावना पथ को पहचान नहीं है।

इसमें शामिल हैं पथ परियोजना प्रोजेक्टर में "आपकी परियोजना" पर राइट-क्लिक करके संपादित किए जाते हैं, फिर "गुण" -> सी/सी ++ सामान्य -> ​​पथ और प्रतीक -> शामिल हैं।

मुझे तीन भाषा विकल्प, असेंबली, जीएनयू सी, जीएनयू सी ++ दिखाई देता है। पथ जोड़ने की संभावना शुरू करने से पहले सही चुनें (संभवतः जीएनयू सी ++)। सभी पथ जोड़ने के बाद, -> लागू करें -> ठीक और यदि आपसे पूछा जाता है तो सूचकांक पुनर्निर्माण करें।

मेरे गलत कार्यक्षेत्र रास्तों MyProject/MyProject/फ़ोल्डर की तरह दिखाई देता है जब यह MyProject/फ़ोल्डर होना चाहिए था।

मेरे लिए "समस्याएं" -व्यू सूचकांक पुनर्निर्माण के बाद भी अद्यतन करने में हमेशा धीमा रहता है। यह सुनिश्चित करने के लिए कि त्रुटि अभी भी है, समस्या प्रविष्टि को डबल-क्लिक करें ताकि ग्रहण फ़ाइल में खुलता/पुनः लोड हो। "समस्याएं" दृश्य को अपडेट करने के लिए यह अक्सर आवश्यक लगता है।

मुझे वास्तव में पता नहीं है कि यह ग्रहण था या मेरा स्किम जो इसे गड़बड़ कर रहा था। वैसे भी, उम्मीद है कि यह किसी की मदद करता है!

मैं लुना का उपयोग करता हूं और बाहरी मेकफ़ाइल के साथ बनाता हूं।

3

.metadata.plugins \ org.eclipse.cdt.core में मदद करता है के तहत केवल.pdom फ़ाइल को नष्ट, मैं इंडेक्सर Neon.3 को Neon.2 अपग्रेड करने के बाद खराब कर दिया है और इस समस्या को हल करने के लिए लगता है । (यह टिप्पणी पहले से मौजूद है लेकिन इसे वहां पुष्टि करने की अनुमति नहीं है)।

संबंधित मुद्दे