2012-11-12 14 views
28

हमारा सॉफ्टवेयर जो हमारे व्यापार को शक्ति देता है लगभग 16,000 PHP फाइलें लंबी है। यह एक बिल्कुल विशाल प्रणाली है। ज़ेंड स्टूडियो को डीएलटीके इंडेक्सिंग चलाने के लिए सचमुच कई घंटे लगते हैं।डीएलटीके इंडेक्सिंग प्रगति पर

मुझे इस पर एक अद्यतित प्रतिक्रिया नहीं मिल रही है, लेकिन इसे अक्षम करने का एक तरीका होना चाहिए, या इसे विशेष निर्देशिकाओं में प्रतिबंधित करना होगा।

इसके अलावा, यह प्रक्रिया वास्तव में क्या कर रही है?

धन्यवाद।

उत्तर

46

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

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

यह आम तौर पर एक अच्छी बात है लेकिन मुझे आपका दर्द महसूस होता है और कई बार एक ही मुद्दे में भाग गया है।

आप कुछ प्रोजेक्ट को अपने प्रोजेक्ट में इंडेक्सिंग से बाहर करने और Build Path चुनने और Exclude पर क्लिक करके उस फ़ोल्डर पर राइट-क्लिक करके अनुक्रमित होने से रोक सकते हैं। इसे इस प्रक्रिया द्वारा अनुक्रमित होने से रोकना चाहिए।

Exclude from build path

वैकल्पिक रूप से, आप को परियोजना गुण बाहर रखा रास्तों वहाँ से खींच सकते हैं और प्रबंधित करें:

Exclude from build path

+2

आपकी प्रतिक्रिया के लिए धन्यवाद। बहुत उपयोगी। मैं समझता हूं कि अनुक्रमण कितना महत्वपूर्ण है, और जब यह हमारे सॉफ़्टवेयर को अनुक्रमणित करता है तो यह वास्तव में सहायक होता है, फिर भी जब यह पुस्तकालयों और ढांचे को अनुक्रमणित करता है, तो यह इतना उपयोगी नहीं होता है, क्योंकि हम कभी भी क्लिक नहीं करेंगे और उन्हें संपादित नहीं करेंगे। फिर, निर्देशिकाओं को बाहर करने के तरीके के बारे में विस्तृत प्रतिक्रिया के लिए धन्यवाद। –

+2

इसके अतिरिक्त, यह उपयोगी होगा अगर इसे किसी विशेष बिंदु पर चलाने के लिए निर्धारित किया जा सकता है। क्या आप कमांड लाइन के माध्यम से इसे ट्रिगर करने के किसी भी तरीके से अवगत हैं? मैं इसे ट्रिगर करने के लिए एक निर्धारित कार्य या क्रॉन सेट कर सकता था। इसे ग्रहण/ज़ेंड के भीतर CTRL + B द्वारा ट्रिगर किया जा सकता है, लेकिन "स्वचालित रूप से बिल्ड करें" बंद हो रहा है, और एसटी/क्रॉन के माध्यम से कार्य दिवस के अंत में ट्रिगरिंग एक आदर्श कार्यवाही होगी। –

+2

मुझे इस प्रक्रिया को स्वचालित करने के किसी भी तरीके से अवगत नहीं है। ऐसा लगता है कि ग्रहण की मॉड्यूलर प्रकृति को संभवतः संभव हो सकता है लेकिन कुछ त्वरित खोजों ने इसे करने का कोई तरीका नहीं बताया। आईआरटी पुस्तकालयों और ढांचे को अनुक्रमणित करता है, मुझे लगता है कि आप एकमात्र कारण चाहते हैं कि आप अनुक्रमित करना चाहते हैं यदि आपके द्वारा लिखे गए कोड उन पुस्तकालयों पर बहुत निर्भर हैं। उनके बिना अनुक्रमित, आपको उन पुस्तकालयों के लिए कोई स्वत: पूर्णता या संकेत नहीं मिलेगा और वे आपकी स्रोत फ़ाइलों में अपरिभाषित वस्तुओं के रूप में दिखाएंगे जो उनका उपयोग करते हैं। – drew010

1

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

+1

मैं मानता हूं कि इस तरह के एक बड़े कोडबेस को इस तरह से तोड़ा जाना चाहिए जिससे आप चीजों को अधिक मॉड्यूलर लोड कर सकें, लेकिन यह एक दीर्घकालिक समाधान है जिसमें बहुत समय लगेगा और इस स्थिति में अधिकांश लोगों को काम करने की आवश्यकता है एक ग्राहक के लिए तत्काल किया जाता है, भले ही कोडबेस अच्छी तरह डिज़ाइन नहीं किया गया हो। –

3

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

कृपया ध्यान दें, कि प्रोजेक्ट बंद करना इसे हटा नहीं देता है, इसलिए यदि कुछ दिन आपको किसी फ़ाइल को एक्सेस या बदलने की आवश्यकता है तो आप इसे फिर से खोल सकते हैं।

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