प्रोजेक्टाइल प्रोजेक्ट में सभी फ़ाइलों को नहीं दिखाता है


12

एक फ़ाइल जो एक गिट रिपॉजिटरी का हिस्सा है, का दौरा करने के बाद, प्रोजेक्टाइल एक प्रोजेक्ट के रूप में मेरे गिट रिपॉजिटरी के अस्तित्व को स्वीकार करता है, लेकिन यह केवल प्रोजेक्ट के हिस्से के रूप में एक फ़ाइल (वर्तमान फ़ाइल) को सूचीबद्ध करता है। जैसा कि मैं परियोजना में अन्य फाइलों पर जाता हूं, वे एक समय में एक परियोजना का हिस्सा बन जाते हैं।

मैं प्रोजेक्टाइल में प्रोजेक्ट कैसे बनाऊं ताकि वे प्रोजेक्ट की सभी फाइलों से तुरंत परिचित हों ?

मेरे द्वारा अब तक प्राप्त किए गए सभी ट्यूटोरियल यह मान लेते हैं कि आप किसी मौजूदा प्रोजेक्ट के भीतर एक फाइल पर जा रहे हैं, और यह प्रोजेक्टाइल जानता है कि उस प्रोजेक्ट में कौन सी फाइलें हैं।


अपडेट करें

जब मैंने प्रोजेक्टाइल सेट किया तो मैंने प्रोजेक्टाइल प्रलेखन में निम्नलिखित सुझाव लिए:

कैशिंग

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

कोड के इस स्निपेट का बिना शर्त के कैशिंग को सक्षम करने के लिए:

(setq projectile-enable-caching t)

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

मेरे द्वारा सेट किए projectile-enable-cachingजाने के बाद nil, प्रोजेक्टाइल मेरे प्रोजेक्ट की सभी फाइलों को खोजने में सक्षम था। अलेक्सा के जवाब और अनुवर्ती टिप्पणियों के लिए धन्यवाद , मैं समस्या का पता लगाने में सक्षम था।


यह सवाल बहुत व्यापक है, और इसे बंद किया जाना चाहिए। यह एसई के लिए एक अच्छा उम्मीदवार नहीं है। कृपया किसी एकल, विशिष्ट समस्या के बारे में एक विशिष्ट प्रश्न करें। विशिष्ट समस्या के लिए आवश्यकतानुसार प्रासंगिक जानकारी प्रदान करें।
आकर्षित किया

4
मुझे लगता है कि यह एक अच्छा सवाल है कि अभी बहुत ज्यादा बैकस्टोरी है। मुझे लगता है कि अगर इसे इस लाइन पर रीफोकस किया गया: "मैं प्रोजेक्टाइल में प्रोजेक्ट कैसे सेट करूं ताकि उन्हें प्रोजेक्ट की सभी फाइलों के बारे में तुरंत पता चल जाए।", यह अच्छा होगा।
जॉर्डन बियोन्डो

3
@ जोर्डोनबायो: यह जितना अधिक केंद्रित है, उतना ही उपयोगी (एसई के लिए) है। निश्चित रूप से कोई न्यूनतम ध्यान केंद्रित करने का लक्ष्य रख सकता है, ताकि यह बंद / बंद न हो। लेकिन एक को इससे भी बेहतर करने में सक्षम होना चाहिए। मैं अनुमान लगा रहा हूँ कि वहाँ शायद, कहीं न कहीं 3 या 4 अच्छे प्रश्न हैं, और सभी को फायदा होगा अगर वे अलग-अलग, एक केंद्रित तरीके से लगाए गए थे।
आकर्षित किया

आप किस प्लेटफॉर्म (विंडोज, मैक, लिनक्स) का उपयोग कर रहे हैं? प्रोजेक्ट फ़ाइलों के अनुक्रमण को भरोसेमंद रूप से प्लेटफ़ॉर्म कार्यान्वित किया जाता है।
अलेक्सबा

1
मैं लिनक्स (आरएचईएल 6.5) पर यह परीक्षण कर रहा हूं, लेकिन मैं सभी प्लेटफार्मों पर इसका उपयोग करने में सक्षम होना चाहता हूं।
nispio

जवाबों:


8

एक बार सक्रिय होने के बाद, projectileगिट परियोजनाओं के लिए काम करता है। सक्रिय करने के लिए शामिल हैं

(projectile-global-mode)

अपने Emacs कॉन्फ़िगरेशन (या प्रारंभ projectile-mode) में मैन्युअल रूप से।

तब projectile-find-file(डिफ़ॉल्ट कुंजी बाध्यकारी है C-c p f) ठीक वैसे ही काम करता है find-file, लेकिन परियोजना की मुख्य निर्देशिका (जहां .gitनिर्देशिका है) की उपनिर्देशिकाओं की सभी फाइलों पर कार्य करेगा ।

यदि आप गिट से बचना चाहते हैं, तो आप वैकल्पिक रूप .projectileसे प्रोजेक्ट रूट में एक फ़ाइल बना सकते हैं । इसका एक ही प्रभाव होगा और कुछ फ़ाइलों या निर्देशिकाओं (समान .gitignore) को अनदेखा करने के लिए उपयोग किया जा सकता है ।

बहुत अधिक जानकारी परियोजना के जीथब पृष्ठ पर पाई जा सकती है (जो कि बहुत लंबी है, या तो पढ़ी जाती है)। मैं विशेष रूप से के बारे में Idoऔर वर्गों को पढ़ने की सलाह देता हूं helm

संपादित करें:

के मूल्य की जाँच करें projectile-indexing-method। लिनक्स पर यह होना चाहिए alien, और इसका मान projectile-enable-cachingहोना चाहिए nil


यह ठीक वही हिस्सा है जो मेरे लिए काम नहीं कर रहा है। जब मैं दौड़ता हूं projectile-find-file, तो सूचीबद्ध की गई फाइलें ही होती हैं, जिन्हें मैं पहले ही देख चुका हूं, भले ही परियोजना निर्देशिका में कई और भी हों।
nispio

@nispio, परियोजना पृष्ठ पर यह विभिन्न अनुक्रमण और कैशिंग विधियों का उल्लेख करता है। क्या आप projectile-indexing-method( C-h v projectile-indexing-method) के मूल्य की जांच कर सकते हैं ? लिनक्स पर यह होना चाहिए alien
एलेक्साबा

और projectile-enable-cachingहोना चाहिए nil
अलेक्सांद्रा

2
आपने ढूंढ लिया। मैंने सेट projectile-enable-cachingकिया nilऔर यह काम करना शुरू कर दिया कि मैं कैसे उम्मीद करता हूं। यह जानकर, मैं इसे वापस सेट करने में सक्षम था tऔर फिर C-u C-c p fकैश को अमान्य करने के लिए उपयोग कर रहा था projectile-find-fileऔर वह भी काम कर रहा है। मैं उलझन में हूं कि मुझे कैश को अमान्य करने की आवश्यकता क्यों है यदि परियोजना को पहले कभी कैश नहीं किया गया है, लेकिन मैं इसे एक और प्रश्न के लिए बचाऊंगा, शायद।
nispio

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